Seller quickstart
List an OpenAI-compatible endpoint, pass Proof-of-Model, and start filling idle capacity.
What you can list
| supply_type | Meaning |
|---|---|
self_hosted | Your hardware serving a model (vLLM, SGLang, TGI or any OpenAI-compatible server). |
provider_capacity | An inference provider selling its own capacity directly. |
reserved_capacity | Committed or provisioned throughput your contract allows you to resell. |
Rights attestation
Every listing requires rights_attestation: true: you confirm you own the capacity or are licensed to resell it. Personal API keys and keys whose terms prohibit resale must not be listed.
1. Discover
In Sell → Offers → New offer, enter your base URL and key. Discovery calls your /models and matches each upstream model to the exchange catalog.
{ "base_url": "https://gpu.example.com/v1", "api_key": "…" }
→ { "models": [ { "upstream_model": "deepseek-ai/DeepSeek-V4.1-Flash", "catalog_model": "deepseek/deepseek-v4.1-flash" } ] }2. Price and configure
{
"model": "deepseek/deepseek-v4.1-flash",
"base_url": "https://gpu.example.com/v1",
"api_key": "…",
"upstream_model": "deepseek-ai/DeepSeek-V4.1-Flash",
"input_price_micro": 60000,
"output_price_micro": 240000,
"pricing_mode": "fixed",
"region": "eu",
"zdr": true,
"supply_type": "self_hosted",
"max_concurrency": 16,
"daily_cap_micro": null,
"schedule": { "tz": "UTC", "windows": [ { "days": [1,2,3,4,5], "start": "18:00", "end": "08:00" } ] },
"supports_prefill": true,
"rights_attestation": true
}- Auto-pricing: set
pricing_mode: "auto"and anautoobject withfloor_input_price_micro,floor_output_price_micro,undercut_pctandtarget_utilization. The exchange undercuts the best live offer by your margin but never goes below your floors. - Schedule: windows of days (0 = Sunday … 6 = Saturday) and HH:MM start/end; windows may cross midnight. Outside them you receive no traffic.
- supports_prefill: declare it if your server can continue a partial assistant message — you then receive rescued streams.
3. Verification
Creating an offer runs the listing probe and the Proof-of-Model suite synchronously and returns { offer, verification }. If the listing probe fails you get 422 with the verification report and no offer is created. See Proof-of-Model.
4. Earn and get paid
Earnings accrue per completed request at your listed price minus the 5% exchange fee. Request a payout of $5 or more under Sell → Earnings (POST /api/payouts); its status moves from requested to paid once processed, or rejected with the amount returned to your earnings.
Managing offers
PATCH /api/offers/{id}— prices, pricing mode, caps, schedule, concurrency,status(active / paused), key rotation.POST /api/offers/{id}/verify— re-run the suite now.DELETE /api/offers/{id}— delist; the stored credential is destroyed.