Skip to content

Tokens vs OpenCode Zen

Zen sells tested coding models at cost plus card fees, and OpenCode Go adds $10 and $40 plans. Tokens bills in BDT with one base URL per API format.

OpenCode Zen is the gateway run by the OpenCode team: a tested list of coding models sold pay-as-you-go at provider cost, with card fees passed through (4.4% + $0.30). OpenCode Go adds $10 and $40 monthly plans with per-model dollar limits, and Zen lists a dozen models that are free for a limited time. The endpoint depends on the model: Responses for GPT, Messages for Claude, Chat Completions for DeepSeek, GLM and Kimi, and a Google-style path for Gemini. Tokens suits developers who want to pay a BDT invoice, keep one OpenAI-compatible and one Anthropic-compatible base URL for every model, and put a spend cap and model allow-list on each key. If you work mostly inside OpenCode and paying by card is no trouble, Zen or Go is the simpler choice, since it is built into the agent.

Tokens

Pricing model
Prepaid plan or USD wallet, paid in BDT; per-model prices in USD and BDT on /models
Payment methods
Invoice via billing portal
Currencies
USD and BDT
Model prices
Live in the model catalog, in BDT and USD

OpenCode Zen

Pricing model
Pay-as-you-go at provider cost plus card fee (4.4% + $0.30); OpenCode Go plans at $10 or $40/month with per-model limits
Payment methods
Card in USD (Stripe)
Prices checked
3 Oct 2026, Zen pay-as-you-go, before card fee
GLM-5.3 (per 1M tokens, in / out)
$1.40 / $4.40
Kimi K3 (per 1M tokens, in / out)
$3.00 / $15.00
MiniMax M3 (per 1M tokens, in / out)
$0.30 / $1.20
Qwen 3.8 Max (per 1M tokens, in / out)
$2.00 / $6.00
DeepSeek V4.1 Flash (per 1M tokens, in / out)
$0.30 / $1.20
GPT-6 Luna, up to 272K (per 1M tokens, in / out)
$0.10 / $0.50

Side by side

A tick marks the better option for that row. Some rows go to the other side.
TopicTokensOpenCode Zen
Paying from BangladeshBDT invoice through the billing portal; no international card neededUSD card through Stripe ($20 default top-up plus $1.23 fee). International cards fall under Bangladesh Bank FE Circular 26 (2019): USD 300 per online transaction
Endpointshttps://tokens.bd/v1 for OpenAI formats and https://tokens.bd for Anthropic Messages, same key for all modelsFixed per model family: /zen/v1/responses, /messages, /chat/completions, or a Google-style path for Gemini
Inside OpenCodeCustom provider entry (tokens/<model>), written for you by the setup CLIBuilt-in provider, connected with /connect
SubscriptionsWeekly or monthly plans with a credit allowance and usage windows, renewed manuallyGo $10/month and Go Plus $40/month, monthly dollar limit per model split into 5-hour and weekly windows
Free modelsUsage needs a plan or wallet balance12 limited-time free models listed; free quota of 200 requests/day
Spend limitsMonthly spend cap and model allow-list per key; alerts at 50/75/90/100%Monthly limits per workspace and per member, model allow/deny per workspace; auto-reload can exceed the limit
Data handlingPrompts and responses are not stored by Tokens; the upstream provider's policy appliesModels hosted in the US; providers follow zero retention, with listed exceptions (some free models; OpenAI and Anthropic keep 30 days)

Choose Tokens when

  • Pay locally with a BDT invoice instead of a USD card.
  • One base URL per API format for every model, so moving from DeepSeek to Claude is a model change rather than an endpoint change.
  • Per-key spend caps and model allow-lists are useful for CI jobs and shared scripts.
  • The same setup command also configures Claude Code, Codex CLI and Crush, not only OpenCode.

Choose OpenCode Zen when

  • Zen is built into OpenCode; Tokens needs a custom provider entry (the CLI writes it, but it is one more step).
  • No free models; Zen lists several limited-time free ones.
  • Zen passes provider cost through; Tokens sets its own per-model prices, so compare on /models before switching.

Switch your client

Point the client at Tokens and swap the key. Your code and agent setup stay the same.
bash
# OpenCode: add a "tokens" provider next to Zen (opencode.json is backed up first)
curl -fsSL https://tokens.bd/cli/tokens.mjs -o tokens.mjs
node tokens.mjs setup --base-url https://tokens.bd --agents opencode
# Zen ids look like opencode/<model-id>; Tokens ids look like tokens/<provider>/<model>,
# e.g. tokens/deepseek/deepseek-v4.1-flash (list yours with: node tokens.mjs models)

# Other agents: replace the Zen base URL (https://opencode.ai/zen/v1)
export TOKENS_API_KEY=tok_live_your_key
export OPENAI_BASE_URL=https://tokens.bd/v1
export OPENAI_API_KEY=$TOKENS_API_KEY

Other comparisons