ThinCompute documentation
ThinCompute is an inference exchange. Sellers list capacity for a model at a price; buyers send ordinary OpenAI or Anthropic requests; every call routes to the cheapest offer that clears the buyer's policy and has passed Proof-of-Model verification.
The shape of it
- One base URL.
http://localhost:8787/v1for OpenAI clients,http://localhost:8787/anthropicfor Anthropic clients and Claude Code. - One key.
sk-thin-…, created in the dashboard, each with its own policy, budgets and model map. - Offers, not providers. A model can have many offers from many sellers. The router ranks them by your objective (price by default) and fails over between them.
- Proof on every call. The response carries a
thinobject with the offer, the verification tier, the cost, the list-price cost and an Ed25519-signed receipt id.
Conventions
- JSON, snake_case everywhere.
- Money is integer microdollars in fields ending
_micro(1 USD = 1,000,000). The only exception isamount_usdon card top-ups. - Prices are per 1M tokens:
input_price_micro: 150000is $0.15 per 1M input tokens. - IDs are prefixed:
acct_,key_,off_,req_,bat_,lock_,hold_,ver_,pay_. - Errors use the OpenAI envelope; branch on
code.
Thirty-second test
curl
curl http://localhost:8787/v1/route/preview \
-H "Authorization: Bearer $THIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek/deepseek-v4.1-flash","messages":[{"role":"user","content":"hi"}]}'/v1/route/preview returns which offers would serve the call, in order, and why the others were rejected — without calling upstream or charging you.
Where to go next
- Buyer quickstart — key, first call, reading the receipt.
- Seller quickstart — list an endpoint and pass verification.
- Routing policy — floors, regions, ZDR, objectives, precedence.
- API reference — every endpoint.