Images & add-ons

Add-ons

Extras for a machine or for the whole account. The current plans bill machines and disk only, so the add-ons that work today cost nothing extra for now; each one will get a price before it is billed separately. How machines are billed is in Billing & plans.

Network

44.211.18.92allowlisted

Static IP

Paid plans. Not billed separately yet

A fixed outbound address, kept through sleep and wake, for partners that allowlist by IP. Your account has one address per region, shared by every machine set to it. Set the machine's exit to fixed:

{"exit": {"mode": "fixed"}}

Available in US East. Needs a verified email and a paid plan: an active Starter, Growth or Scale plan, not the free trial, and not while a payment is failing. Details in Networks.

200 OK

Residential IP

Paid plans. Not billed separately yet

Traffic leaves through an exit in the country you pick, for sites that block data centres. Set the exit to country with a country code from the list the account is offered:

{"exit": {"mode": "country", "countryCode": "DE"}}

Country traffic has a monthly cap per account, 50 GB by default; past it the machine drops the country exit until the month ends. TCP only, UDP is dropped. Not available on accounts that declared patient data. Needs a verified email and a paid plan: an active Starter, Growth or Scale plan, not the free trial, and not while a payment is failing.

agent
private
officeERP

Private network

Every plan. Not billed separately yet

Reach systems inside a customer's office, such as an ERP or a database, through a small connector installed on their side. No VPN. You add each system as a resource, then allow a machine to reach it with access, or send all of its traffic out through the office with the through exit.

See Networks for the connector, the CLI (maritime connect) and the API. Works on every plan, the free trial included.

Storage

/data 50 GB

Volumes

On request

Disk that outlives the machine: attach it to any machine, move it between machines, or keep it after a delete. Set up on request: contact us.

Runtime

awake
24/7

Always on

Earlier seat plans only

The current plans don't sell always on: machines run on demand, sleep when idle, wake in about a second on the next request, and are billed per second while awake. On these plans the resize call below answers 400 always_on_not_sold.

Accounts on an earlier seat plan switch it on for an existing machine:

curl -X POST https://api.maritime.sh/api/agents/AGENT_ID/resize \
  -H "Authorization: Bearer $MARITIME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"always_on": true}'

The body field is always_on, with an underscore.

3 ready

Warm pool

Available. Spares are billed as Persistent Sandboxes

Spare machines kept ready in a project, so a new end user gets one at once instead of waiting for a cold start. The first message from a new user claims a spare, and the pool tops itself back up. Each spare is a machine, billed like any Persistent Sandbox. Set the size, 0 to 100, on the project (key scope deploy):

curl -X PATCH https://api.maritime.sh/api/projects/PROJECT_ID \
  -H "Authorization: Bearer $MARITIME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"warmPoolSize": 5}'
# the response includes warmPoolSize and warmReady (spares ready now)

Trust

only you

Dedicated host

On request

A whole server for your machines only. Nothing else runs on it.

Compliance (HIPAA, BAA) is on request. Contact us.

Models

The Maritime model proxy gives every machine one OpenAI-format key for every major model, with a monthly budget per agent. Its calls are paid from prepaid AI credits at the provider's list price, separate from your plan; buy them on the Billing page. With your own OpenAI key, calls go to OpenAI on your key and use no AI credits. See Model calls.

Cap what an agent spends on models each month, in cents, from the agent's page in the dashboard or over REST. An agent with no limit of its own follows the account default; a null limit means no limit for that agent, even when a default is set. Once an agent reaches its limit, its proxy calls answer 429 until the next month. Writes need the manage scope.

# one agent: $25 a month
curl -X PUT https://api.maritime.sh/api/agents/AGENT_ID/llm-spend-limit \
  -H "Authorization: Bearer $MARITIME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"monthlyLimitCents": 2500}'
# {"monthlyLimitCents": 2500, "source": "agent", "spentThisMonthCents": 0,
#  "limitReached": false, "periodStart": "...", "periodEnd": "..."}

# every agent without its own limit: $10 a month
curl -X PUT https://api.maritime.sh/api/llm-spend-limit/default \
  -H "Authorization: Bearer $MARITIME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"monthlyLimitCents": 1000}'

GET on either path reads the limit; source is agent, account_default or none. DELETE removes it (204): an agent then follows the account default, and the account has no default. Limits run from 0 to 1,000,000 cents.

Included with every machine

These are free and need no add-on:

  • Internet policy: everything, the coding or llm-apis preset, your own allow list, or no internet. Enforced outside the machine. See Networks.
  • Bring your own proxy: send country traffic through a proxy you already pay for (ownProxyUrl in the network settings).
  • Public URL: serve HTTP from the machine at its own address, private by default, with share links that expire. See Public web agents.
  • Smart sleep: sleep when idle, wake in about a second on the next request.
  • Human takeover: send a link and a person drives the screen of a computer, then hands it back. See Linux desktops.