<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tokens</title>
    <description>The latest articles on DEV Community by Tokens (tokensbd).</description>
    <link>https://dev.to/tokensbd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15180%2F9888b096-bc7c-4ac1-a070-dcd40ac2982d.png</url>
      <title>DEV Community: Tokens</title>
      <link>https://dev.to/tokensbd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tokensbd"/>
    <language>en</language>
    <item>
      <title>I built a one-API-key gateway to 62 coding models — and you can pay in Taka</title>
      <dc:creator>Md Badsha</dc:creator>
      <pubDate>Thu, 08 Oct 2026 15:22:57 +0000</pubDate>
      <link>https://dev.to/tokensbd/i-built-a-one-api-key-gateway-to-62-coding-models-and-you-can-pay-in-taka-266b</link>
      <guid>https://dev.to/tokensbd/i-built-a-one-api-key-gateway-to-62-coding-models-and-you-can-pay-in-taka-266b</guid>
      <description>&lt;p&gt;If you're a developer in Bangladesh, you already know the drill. You want to use Claude Code or Codex CLI with a good model, and the first wall you hit isn't technical — it's payments. No PayPal. International cards with dollar limits. Every top-up becomes paperwork.&lt;/p&gt;

&lt;p&gt;I got tired of that wall, so I built &lt;a href="https://tokens.bd" rel="noopener noreferrer"&gt;Tokens&lt;/a&gt;: an AI model gateway where one API key unlocks 62 coding models from 10 providers, and you pay in USD &lt;strong&gt;or Bangladeshi Taka&lt;/strong&gt; — no international card required.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it actually is
&lt;/h2&gt;

&lt;p&gt;Tokens sits between your tools and the model providers. You point your existing setup at it and swap the key — no new SDK, no code changes. It speaks both OpenAI-compatible and Anthropic-compatible API formats on the same key, so Claude Code, Codex CLI, OpenCode, Cursor, Cline, Continue, Zed, and anything else that accepts a custom base URL just works.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# one command connects your agents (backs up your configs first)&lt;/span&gt;
tokens setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or manually — it's a base URL and a key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://tokens.bd/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tok_live_...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deepseek/deepseek-v4.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain this codebase&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch models by changing one ID. That's the whole migration story: change the base URL and the key, and you're running on &lt;a href="https://tokens.bd/models" rel="noopener noreferrer"&gt;62 models&lt;/a&gt; — Claude Sonnet 5.5, GPT-5.6 Luna, DeepSeek V4.1 Flash, Gemini 3.8 Flash, Kimi K3, GLM-5.2, and the rest, with up to 1.1M context on some of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The parts I built for how agents actually burn money
&lt;/h2&gt;

&lt;p&gt;Coding agents don't send a few requests a day — they send thousands. So the boring infrastructure mattered more than the model list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Per-key spend caps.&lt;/strong&gt; Give each API key a monthly cap and an allow-list of models. A runaway agent loop stops at the cap instead of draining your wallet. Email alerts at 50%, 75%, and 90%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay in Taka.&lt;/strong&gt; Top up with invoice, get a receipt for every payment. Weekly plan at ৳25/week, monthly at ৳490/month, or pay-as-you-go from a prepaid wallet. Prices are listed separately in ৳ and $.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private by default.&lt;/strong&gt; Billing needs model, tokens, cost, and latency — that's what's kept. Prompts and responses are never stored.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic failover.&lt;/strong&gt; If the provider serving a model stalls, the request moves to the next one before it reaches you.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it's different from OpenRouter
&lt;/h2&gt;

&lt;p&gt;OpenRouter has the bigger catalog and charges in USD by card or crypto. Tokens is narrower on purpose — coding models — and adds what developers here actually need: Taka payments, spend caps per key, a one-command agent setup, and support in the dashboard. I wrote up an honest side-by-side, including where OpenRouter is the better choice, on the site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm posting this here
&lt;/h2&gt;

&lt;p&gt;Two reasons. First, if the payment wall has ever stopped you from using the tools you want, this removes it — your first request is about five minutes away. Second, I'm building in the open and I want this community's criticism. The model catalog, the pricing page, the docs — all public. Tell me what's missing.&lt;/p&gt;

&lt;p&gt;What's next on my roadmap: more providers, team workspaces, and deeper usage analytics. If there's a model or feature you need, the fastest way to get it built is to ask.&lt;/p&gt;

&lt;p&gt;— Md Badsha, building &lt;a href="https://tokens.bd" rel="noopener noreferrer"&gt;Tokens&lt;/a&gt; in Dhaka 🇧🇩&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>devtools</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
