Serve a reservation

A reservation sells a monthly pool from one model at a fixed monthly fee. The pool of a chat model is tokens. The pool of a video, image or speech model is units: seconds of video, images or characters of speech. An operator must turn on reservations for your provider first. Ask the exchange.

How a reservation sale works

A buyer asks you and other chosen providers for quotes. If the buyer accepts yours, the exchange creates a contract. It names you as seller and the buyer's workspace as buyer, and neither side can change it.

  1. Answer the buyer's request in the Reservations inbox with a quote, or decline.
  2. The buyer accepts. The accepted quote becomes a contract.
  3. Link one unlisted deployment of the agreed model to the contract. The link is final.
  4. Quote the deployment only at the contract prices.
  5. On the 1st of each month of the term, the exchange moves the fee from the buyer's cash into your balance. You get it in your next payout.
  6. Serve the buyer's requests on the deployment. The buyer can also ask you to serve some days early. See Start before the term.

All reservation deployments must follow zero data retention.

The inbox

The provider console has 4 tabs:

Tab What you find there
Needs an answer Requests you have not quoted, quotes the buyer asked you to change, and threads with a newer buyer reply
Answered Requests you quoted
Closed Requests the buyer closed before you quoted, and quotes the buyer rejected
Contracts Accepted quotes, in groups

Each row shows the model, buyer, pool size, region, start month, term and one status, such as New, Buyer replied, Quote sent, Accepted or Lapsed. A row flags uptime above 99.9%, time to first token of 250 ms or less, and SOC 2. Needs an answer lists buyer replies first, then change requests, then new requests, oldest first. See Reservations for the terms.

Quote, revise or decline

Open a request and set the prices and terms. The buyer sees your prices with the exchange fee added.

Field What you set
Input price Dollars for each million input tokens, before the exchange fee
Output price Dollars for each million output tokens, before the exchange fee
Token pool Input and output tokens for each month
Rate limits Tokens and requests for each minute
Output speed Minimum output tokens for each second
Time to first token Maximum for 95% of requests in a month, or no limit
Start month First month of the term, after the current month
Term 1 to 12 months
Uptime Minimum uptime, as a percentage
Regions Serving regions, such as us-east or eu-west. Empty means any
SOC 2 Not required, Type 1 or Type 2
Note to the buyer Optional, 200 characters at most

The monthly fee is the input price times the input pool, plus the output price times the output pool. It must be above zero.

For a video, image or speech model, the buyer states a count for each variant. You state a rate for each of them, in nano-USD for one unit (nanos_per_unit), before the exchange fee. The monthly fee is the sum of each count times its rate. You cannot add or leave out a variant that has a count, and you cannot price a variant that has none.

The terms start as the buyer's terms. The buyer sees each term that differs. If the buyer's start month has begun, the form moves it to the next open month.

After you decline, the buyer accepts or the quote lapses, you cannot quote again.

When the buyer asks for changes, you see the reasons. Answer with an updated offer or a reply. A rejected quote is closed.

Keep messages about the request. The exchange can read them.

Open the Contracts tab. Needs action lists contracts with no deployment, or whose fee the buyer's cash did not cover.

Choose a deployment and then Link deployment. The deployment must belong to your provider, serve the same model, be unlisted, and serve no other contract. It must also be in a region the contract allows, and your provider must have a checked SOC 2 report of the type the contract asks for or a stronger one (a declared or lapsed report does not count; see Provider claims). If none qualifies, register one first. See Deployments.

The link is final. A linked deployment is committed: you can never list it, you cannot change its model link, and the exchange leaves it out of automatic admission.

Link by 00:00 UTC on the 1st to serve that month. A later link serves from the next month. The exchange refuses the link when no month of the term is left after the current one.

The exchange compares region names exactly, so a deployment in us or us-east-1 does not meet a us-east term. A contract can name these regions: us-east, us-central, us-west, ca-central, sa-east, eu-west, eu-central, eu-north, uk-south, me-central, af-south, ap-south, ap-southeast, ap-northeast and au-southeast.

A refused link gets 409 with one of these codes:

Code Cause
deployment_ineligible The deployment serves another model, or it is not unlisted
deployment_taken The deployment serves another contract
already_linked The contract has a deployment
region_outside_terms The deployment is in a region the contract does not allow
soc2_missing Your provider has no checked SOC 2 report of the type the contract asks for

Quote the contract prices

From the link to the end of the term, quote the deployment only at the contract prices. You get requests and the monthly fee only while you do. In your quote:

A contract for video, image or speech has no token prices. Quote exactly the rate of each variant of the contract, with the same resolution, quality, size and sound options, and no other line. A line for a variant that the buyer did not commit gets contract_price.

Other prices on a linked deployment get contract_price. See Quote over the session. When you link a deployment that has an offer at other prices, the exchange removes that offer in about 10 seconds. Otherwise, serve as usual. See Serve and get paid.

Each month

The contract card shows the month status:

Status Meaning
Waiting for start The term has not started.
Waiting for deployment No deployment is linked, or you linked it after the 1st. You serve from next month.
Fee due The buyer has not paid. The exchange charges after you quote the contract prices.
Active The buyer paid. You serve the buyer's requests.
Pool used The buyer used the pool. Requests go to the market for the rest of the month.
Suspended The buyer's cash did not cover the fee on the 1st. You do not serve this month.
Ended The term is over.

The fee run is at 00:00 UTC on the 1st, then once an hour. The exchange charges the fee only if you had an offer at the contract prices in the last 5 minutes. Otherwise it tries again in an hour.

A suspended month stays suspended, and a later top-up does not resume it. You earn nothing for it, or for a month before the link.

Start before the term

The buyer can ask you to serve for some days before the first month. You accept or decline, and then the exchange approves or refuses.

  1. The request shows on the contract in Contracts, with the first day and the fee for the days to the end of that month, before the exchange fee.
  2. Choose Accept or Decline. Link the deployment first. You cannot accept from 00:00 UTC on the first day.
  3. When you accept, the exchange approves or refuses. If it approves, it holds the fee from the buyer's cash. It cannot approve after the first day begins.
  4. From 00:00 UTC on the first day, you serve at the contract prices. The pool for those days is the same share of the monthly pool as the fee is of the monthly fee.
  5. On the 1st of the term, you receive the held fee, with the first month's fee if the buyer pays it. The early days are paid even when the buyer cannot pay the first month.

The early fee is the monthly fee times the days to the end of the month, divided by the days in that month. Days are whole UTC days.

State Meaning
Early start asked The buyer waits for you and can withdraw until you answer.
Waiting for the exchange You accepted. The exchange approves or refuses.
Early start approved The fee is held. You serve from the first day and are paid on the 1st.
Early start withdrawn, declined or refused The buyer withdrew, you declined, or the exchange refused (with a reason). The buyer can ask again.
Early start revoked The exchange revoked the approval, with a reason. The buyer cannot ask again.

Uptime and speed

While the contract serves a month, the exchange measures the uptime and the output speed of the linked deployment.

When the last 24 hours fall below a term, the exchange records the time that the term was below its target. After a month ends, the exchange keeps one result for each term: met, missed or not measured. Uptime needs 100 periods with a counted request for a result, and speed needs 30 timed requests. Uptime is not measured for a month in which the exchange did not count each day, for example the month in which the exchange started to measure.

Jobs, usage and payout

A job inside the pool takes no hold and settles with no charge. Its value at the contract prices counts against the pool. The pool is used when use reaches the monthly fee.

If your deployment fails a job before its first token, the buyer's overflow models serve it at market prices. The exchange records your failed jobs on the contract.

Each paid month becomes one item of your payout, with the same hold window as a settlement. See Serve and get paid.