Pricing
Sellers set their own prices. The marketplace routes buyers to the cheapest available seller.
Pricing Modes
Per-Token Pricing
Seller specifies price per 1M tokens for input and output separately (in microdollars).
{ "price_input_per_1m": 12.00, "price_output_per_1m": 48.00 }
Cost Multiplier
Seller specifies a fraction of the model's reference price. Useful for "I'll undercut the market by X%."
{ "pricing_mode": "cost_multiplier", "cost_multiplier": 0.50 }
0.50 = buyer pays 50% of the reference price. Reference prices come from PROVIDER_PRICES in the codebase.
Cost Calculation
For each request:
base_cost = (input_tokens / 1M × price_input_per_1M)
+ (output_tokens / 1M × price_output_per_1M)
buyer_cost = base_cost × fee_multiplier / 10000 + flat_fee
seller_earns = base_cost
Fee Multiplier
Stored on-chain in the Settlement contract in basis points. Transparent and auditable.
| Multiplier | Meaning |
|---|---|
10000 (default) | 1.0x — buyer pays exactly the seller's price, no fee |
10300 | 1.03x — 3% fee, surplus goes to feeRecipient |
Minimum value: 10000 (1.0x). Sub-1x subsidy mode is not supported in SettlementV2.
Price Threshold
Buyers can set a maximum price per 1M tokens via header:
-H "X-Max-Price-Per-1M: 8.0"
Or in the request body: "max_price_per_1m": 8.0
Requests skip sellers whose estimated cost exceeds this threshold.
Provider Pricing Discovery
When sellers connect their API key, the marketplace auto-detects pricing from the provider's /models endpoint. Four parsing layers handle all known provider formats:
1. Venice format — model_spec.pricing with nested {usd, diem}
2. OpenRouter format — pricing.prompt / pricing.completion as per-token strings
3. Generic format — pricing.input / pricing.output as numbers ($/1M tokens)
4. Reference fallback — static reference prices for known models when provider returns none