Pricing

Rule: every paid route charges max(minChargeUsd, Venice API cost equivalent × margin) (X402_VENICE_PRICE_MULT, then X402_VENICE_MIN_CHARGE_USD).

Published price list

GET https://x402.aispace.bot/openapi.json → info.x-pricing:

  • Live Venice catalog rates × current priceMult
  • Per-route accuracy tags (estimate, list_rate, quote_required, …)
  • howToGetAccurateEstimates for chat / image / music / video / probe

Changing X402_VENICE_PRICE_MULT or X402_VENICE_MIN_CHARGE_USD updates this list on the next OpenAPI fetch and all new 402 challenges. Configured-rate agentUsd values already include the min floor.

Settlement rule: always pay live accepts[].amount. The list is for discovery and budgeting.

Accuracy

TagMeaningGet an accurate number
estimateDepends on tokens/chars/secondsSet max_tokens / duration / known size, or unpaid probe → read 402
list_rateFixed Venice unit × multUse model (+ resolution) from x-pricing.models
configured_rateFixed gateway rate (search / scrape / text-parser)Use x-pricing.routes[path].agentUsd — this is the settled amount (margin and min-charge floor), not the pre-floor product
quote_required / reference_onlyNo stable job list priceFree POST /api/v1/video/quote, /audio/quote, or /audio/voice-changer/quote → { quote }
exact_via_server_quoteQueue billingServer re-quotes Venice; 402 = quote × mult
freeNo charge on this gateway—

Formula

agent charge = max(minChargeUsd, veniceUpstreamUsd × X402_VENICE_PRICE_MULT)

If the result would exceed X402_VENICE_MAX_CHARGE_USD, the request fails closed (charge_exceeds_max). Cheap ASR / TTS / voice-clone / augment calls often land on the min floor — budget from the live 402, not from a directory snapshot.

Budget tips

  • Image generate: set variants (1–4). The 402 is list unit × variants. You pay for every image requested; a 200 that omitted some for policy still settles (x-venice-content-violation-count). A 422 content-policy refusal is unpaid.
  • Chat / decisions: set max_tokens when you can. Decisions catalog: GET /api/v1/models?type=decision. Optional images (1–4 PNG/JPEG data URIs or {content_type, base64}) are quoted as vision input tokens.
  • Music / video / Voice Changer: free /quote first; /queue uses a fresh server-side Venice quote.
  • Start with enough USDC for real job sizes (video can be dollars).

Operator counters: GET https://x402.aispace.bot/api/x402/stats