{"name":"gateway.bitplan.dev","description":"OpenAI-compatible inference for BSV. No API keys: sign a bearer with your key, deposit over HTTP 402, calls draw from balance.","version":"1.0.0","serverIdentityKey":"021bb1809b06a2870699ac34e48bb82fd0ed3373577070cc96b32f009da21401aa","payment":{"x402Version":2,"accepts":[{"scheme":"exact","network":"bip122:000000000019d6689c085ae165831e93","asset":"BSV"}],"headers":{"payment_required":"PAYMENT-REQUIRED","payment_signature":"PAYMENT-SIGNATURE","payment_response":"PAYMENT-RESPONSE"},"legacy":{"schemes":["bsv-tx-v1"],"proof_header":"X402-Proof"},"min_deposit_sats":25000000,"markup_bps":700,"markup_tiers":[{"name":"Start","min_usd_30d":0,"bps":700},{"name":"Build","min_usd_30d":100,"bps":500},{"name":"Scale","min_usd_30d":1000,"bps":300}],"min_charge_sats":2000,"byok_fee_bps":0,"paymail_domain":"bitplan.dev","treasury_paymail":"treasury@bitplan.dev","markup_overrides_bps":{},"card":{"packs_usd":[5,20,50],"fee_bps":290,"fixed_fee_usd":0.3,"daily_cap_usd":100,"checkout":"POST /v1/credits/checkout"}},"byok":{"providers":[{"id":"vercel","model_prefix":"","byok_only":false,"kind":"gateway","verification":"GET https://ai-gateway.vercel.sh/v1/credits"},{"id":"opencode","model_prefix":"opencode/","byok_only":true,"kind":"gateway","verification":"POST https://opencode.ai/zen/v1/chat/completions with model big-pickle (free) and max_tokens 1"},{"id":"opencode-go","model_prefix":"opencode-go/","byok_only":true,"kind":"gateway","verification":"POST https://opencode.ai/zen/go/v1/chat/completions with model glm-5.3-flash and max_tokens 1"},{"id":"anthropic","model_prefix":"anthropic/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest anthropic/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"openai","model_prefix":"openai/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest openai/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"google","model_prefix":"google/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest google/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"spacexai","model_prefix":"spacexai/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest spacexai/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"deepseek","model_prefix":"deepseek/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest deepseek/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"mistral","model_prefix":"mistral/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest mistral/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"moonshotai","model_prefix":"moonshotai/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest moonshotai/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"alibaba","model_prefix":"alibaba/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest alibaba/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"zai","model_prefix":"zai/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest zai/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"minimax","model_prefix":"minimax/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest minimax/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"},{"id":"meta","model_prefix":"meta/","byok_only":false,"kind":"lab","verification":"one max_tokens 1 chat completion on the cheapest meta/ model through Vercel AI Gateway with the key as request-scoped BYOK; stored only if the provider metadata shows it served the call"}],"fee_bps":0,"encryption":{"standard":"brc-2","protocol_id":[2,"gateway byok"],"key_id":"1","counterparty":"021bb1809b06a2870699ac34e48bb82fd0ed3373577070cc96b32f009da21401aa","encoding":"base64"}},"auth":{"header":"Authorization: Bearer <pubkey|scheme|timestamp|requestPath|signature>","schemes":["brc77","brc100"],"session_request_path":"https://gateway.bitplan.dev/v1","session_minutes":1440},"endpoints":[{"method":"GET","path":"/v1/models","description":"Model list with sats per million tokens","auth":false},{"method":"POST","path":"/v1/chat/completions","description":"OpenAI chat completions, JSON or SSE","auth":true,"payment":"402 when balance is low"},{"method":"POST","path":"/v1/messages","description":"Anthropic Messages API over the same metered flow (Claude Code: ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN)","auth":true,"payment":"402 when balance is low"},{"method":"POST","path":"/v1/messages/count_tokens","description":"Anthropic token count, estimated from bytes; free","auth":false},{"method":"POST","path":"/v1/responses","description":"OpenAI Responses API over the same metered flow (Codex CLI: model_providers.<id>.base_url + env_key); stateless, history in input","auth":true,"payment":"402 when balance is low"},{"method":"GET","path":"/v1/account","description":"Balance","auth":true},{"method":"POST","path":"/v1/deposit","description":"Top up; always 402 until paid","auth":true,"payment":"402"},{"method":"GET","path":"/v1/account/usage","description":"Recent requests and ledger","auth":true},{"method":"PUT","path":"/v1/account/paymail","description":"Claim a human paymail handle: {\"handle\": \"name\"} -> name@bitplan.dev","auth":true},{"method":"DELETE","path":"/v1/account/paymail","description":"Release the claimed handle; the automatic alias remains","auth":true},{"method":"PUT","path":"/v1/account/byok","description":"Store your own key for one provider (byok.providers), BRC-2 encrypted to serverIdentityKey","auth":true},{"method":"DELETE","path":"/v1/account/byok","description":"Forget the stored key for one provider: {\"provider\": ...} in the body or ?provider=","auth":true}]}