Sell your capacity
List your own OpenAI-compatible server, or the spare capacity of a Z.ai GLM Coding Plan you already pay for. Buyers' requests are served on it at your price, and you earn on every token they are billed for.
How it works
You save a key once. It is sealed to the box that serves requests: the console cannot read it back, and you only ever see its prefix and last four. We read the models it can serve, test each one, and list the ones you pick at the price you set. When your offer is the cheapest healthy source for a request, the request runs on your key and you earn your price for the tokens the buyer is billed for. A request that fails is not billed to the buyer, and you are not paid for it.
Buyers never see who sells, and you never see who buys. You earn your full listed price; buyers pay your price plus OpenCheap's 5 % fee.
What you can list
Today, one of these two:
- Your own serverAn OpenAI-compatible endpoint you run: vLLM, SGLang, llama.cpp, or Ollama behind a proxy.
- Z.ai (GLM Coding Plan)A GLM Coding Plan API key, served within the plan's own quotas. Their terms
Coming soon: OpenAI, Google AI Studio, DeepSeek, Z.ai open platform, Moonshot keys. A key for one of them is refused for now, with that reason; keys added before keep serving.
OAuth and session tokens are refused: a key made in the provider's API console only. A Z.ai key is checked when its models are read: a GLM Coding Plan key serves within the plan's own quotas, and an open-platform key is refused for now.
Your own server
An OpenAI-compatible endpoint you run (vLLM, SGLang, llama.cpp, or Ollama behind a proxy): it answers GET /v1/models and POST /v1/chat/completions, streaming included. Give its https base URL, ending in /v1, and its key if it needs one. Both are sealed together; the address is never shown back. Sell from your own server has a setup per server and the fixes for common errors.
The address must be public: https with a trusted certificate, port 443 or 1024 and up, no private, loopback or link-local address. Any model your server serves can be listed; one with no reference price anywhere gets your own price. Own servers get the identity checks at listing and every 6 hours, and random model checks about once an hour per model. Earnings are payable 7 days after the request is billed (pending until then, in case a buyer's card payment is reversed). Payouts are sent in batches once your balance reaches $5.
Check your terms
Selling through OpenCheap is between you and your provider: make sure its terms allow it (each provider's terms are linked above). We do not check your provider's terms for you, and a provider being listed here does not mean it allows it.
Before a key goes live you accept one short statement for it, recorded with its version, the time, and who accepted it:
- A provider key · vendor-key-v2This is my own API key. OpenCheap may use it to serve other customers' requests, and my provider account and its terms are my responsibility.
- Your own server · own-server-v2I run this server and the models' licences allow commercial serving. OpenCheap may send other customers' requests to it, and no one else's API key is behind it.
The first key also accepts the Selling supply section of the terms.
Add a provider, step by step
In the console, Sell › Providers (open it). An agent does the same over the Sell API and MCP.
- 1Provider and keyPick the provider, or your own server, paste the key and Check key: it is sealed, its models are read and its funding checked, in a few seconds. Add as many providers as you like. Each key is listed once: the same key again opens the one you added, and a key another account lists is refused.
- 2ModelsEvery model the key serves, all selected, each with its reference price and where it comes from. A free-tier key, or one with no balance, lists nothing until it is funded.
- 3Health testOne short request per model on your key, all at once, which also checks the model answers under its own name; then the identity checks. A model that passes can go live; one that fails is not added (the wizard says why).
- 4PricingMatch the market, one discount for all, or a discount per model, with the lowest price you accept. Pricing explains each.
- 5ReviewAccept the statement for the key and go live. Each offer goes live as soon as its tests have passed, within about a minute.
Statuses
- DraftMade from a discovered model, not tested yet.
- Testing · VerifyingThe health test, then the light identity checks, are running on your key: seconds.
- Ready to go liveBoth passed. Go live from the wizard, or on Positions with the key's “passed, not live yet · Go live” line. A fuller check that runs after listing never holds it back.
- Not addedA check failed (a rate limit, a timeout, a model answering as another, a model not in your plan, no balance): the model is not added and is not kept as a draft. The wizard says why once. To try again, add the model again with Add models (a rate limit usually passes a minute later).
- LiveServes requests when it is the best available ask for the model (above it, it rests in the book until it is), and is checked all the time.
- PausedYou paused it. Resume it any time.
- Paused · No balanceYour provider account has no funds, or the key fell back to a free tier. It resumes once the account is funded and a check passes.
- UnhealthyErrors on the key, or At capacity while the provider's own quota window is used up. It serves again once the key answers.
- CancelledEnded for good: by you, by removing the key, or after failed verification. It no longer shows on Positions.
Getting paid
Save a payout address on Sell › Withdrawals: any address for USDC on Base, with no signature. An exchange deposit address works if the exchange accepts USDC on the Base network; you are responsible for the address and the network, and a payment sent to a wrong address cannot be recovered. Earnings are pending for 7 days after the request is billed (a buyer's card payment can still be reversed), then payable, and are paid in batches from $5, usually within 72 hours, in USDC on Base; you can also ask for a payout now, from $5. The history shows each one, then Sent with its transaction. When the address changes we email you, and a payout to it waits 24 hours.