Documentation menu · seller-quickstart

Seller quickstart

List an OpenAI-compatible endpoint, pass Proof-of-Model, and start filling idle capacity.

What you can list

supply_typeMeaning
self_hostedYour hardware serving a model (vLLM, SGLang, TGI or any OpenAI-compatible server).
provider_capacityAn inference provider selling its own capacity directly.
reserved_capacityCommitted 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.

POST /api/offers/discover
{ "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

POST /api/offers
{
  "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 an auto object with floor_input_price_micro, floor_output_price_micro, undercut_pct and target_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.