<?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: Totoro</title>
    <description>The latest articles on DEV Community by Totoro (@totoro0x).</description>
    <link>https://dev.to/totoro0x</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%2Fuser%2Fprofile_image%2F4205726%2F0a7475e7-e2d8-4136-b433-5ce35d693d29.jpg</url>
      <title>DEV Community: Totoro</title>
      <link>https://dev.to/totoro0x</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/totoro0x"/>
    <language>en</language>
    <item>
      <title>Claude Code Weekly Limit? How I Run It on a Pay-Per-Call API</title>
      <dc:creator>Totoro</dc:creator>
      <pubDate>Sun, 25 Oct 2026 03:09:09 +0000</pubDate>
      <link>https://dev.to/totoro0x/claude-code-weekly-limit-how-i-run-it-on-a-pay-per-call-api-1llg</link>
      <guid>https://dev.to/totoro0x/claude-code-weekly-limit-how-i-run-it-on-a-pay-per-call-api-1llg</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I'm not affiliated with Roteo. I'm a user. The signup link in this post (&lt;a href="https://app.roteo.ai/r/onkasouji" rel="noopener noreferrer"&gt;https://app.roteo.ai/r/onkasouji&lt;/a&gt;) is my referral link, and Roteo's referral program pays me 10% of what people who sign up through it spend. If you'd rather not use it, go to &lt;a href="https://roteo.ai" rel="noopener noreferrer"&gt;roteo.ai&lt;/a&gt; directly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude Code reads &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt;, so you can point it at an API other than Anthropic's. When the Pro or Max weekly limit kept cutting me off mid-week, and a plain Anthropic API key got expensive on long Opus sessions, that's what I did. I use &lt;a href="https://roteo.ai" rel="noopener noreferrer"&gt;Roteo&lt;/a&gt;, a pay-per-call gateway: no subscription, and most Claude models are listed at roughly 81 to 85% under Anthropic's list prices. Haiku 5.5 is the exception at only 10% off.&lt;/p&gt;

&lt;p&gt;Below is my config for Claude Code and Codex CLI, the price tables, and the downsides. The two big ones: you pay in stablecoins, and Claude only works in Claude Code or direct API calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is this worth it for you?
&lt;/h2&gt;

&lt;p&gt;It probably is if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're on Claude Pro or Max and keep hitting the Claude Code usage limit.&lt;/li&gt;
&lt;li&gt;You already pay Anthropic or OpenAI API rates and want a cheaper Claude Code API key.&lt;/li&gt;
&lt;li&gt;You use Claude Code or Codex CLI and want one key for Claude, GPT and some open-weight models.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It probably isn't if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can't or don't want to touch crypto. Right now the only documented way to pay is stablecoins.&lt;/li&gt;
&lt;li&gt;You want Claude inside Cursor or another agent framework. Roteo refuses Claude models there.&lt;/li&gt;
&lt;li&gt;You mostly use cheap open-weight models. Compare prices elsewhere too.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Roteo billing works (stablecoins, no subscription)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvnoahpb2szv95n88hkj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvnoahpb2szv95n88hkj.jpg" alt="Paying per call from a USDC balance, with a curl example" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This works differently from every other API I've paid for, so here's how it goes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you sign in at app.roteo.ai, you get a self-custodied wallet. Roteo says it never holds your funds.&lt;/li&gt;
&lt;li&gt;You fund that wallet with USDC on Base, Arbitrum or Solana, or USDG on Robinhood Chain. Those are the only payment options in the docs today. No card option is documented.&lt;/li&gt;
&lt;li&gt;Each request settles onchain from your wallet when you make it, over the x402 payment protocol. Roteo pays the network gas.&lt;/li&gt;
&lt;li&gt;There's no subscription and no minimum spend. The smallest charge is $0.001 per billed request. The docs don't mention a minimum deposit.&lt;/li&gt;
&lt;li&gt;If your wallet can't cover a call's worst-case price, the call is rejected with HTTP 402 and you're not charged.&lt;/li&gt;
&lt;li&gt;Requests rejected before they run and model errors are free. A stream cut off partway can be charged for what was used so far.&lt;/li&gt;
&lt;li&gt;Charges settled onchain are final and non-refundable once a request is served.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sources: &lt;a href="https://roteo.ai/docs/billing" rel="noopener noreferrer"&gt;Billing&lt;/a&gt;, &lt;a href="https://roteo.ai/docs/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;, &lt;a href="https://roteo.ai/docs/legal/terms" rel="noopener noreferrer"&gt;Terms&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude and GPT prices vs Anthropic and OpenAI list
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl29ojvf4b7ouwc06f13k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl29ojvf4b7ouwc06f13k.jpg" alt="Roteo Claude prices compared to list prices" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All prices are USD per 1 million tokens, input / output, as of Oct 24, 2026. They change, so check the live links before you budget around any number here. Roteo prices come from its live price book at &lt;a href="https://api.roteo.ai/v1/llms.txt" rel="noopener noreferrer"&gt;api.roteo.ai/v1/llms.txt&lt;/a&gt;. Official prices are standard (non-batch) rates from &lt;a href="https://platform.claude.com/docs/en/about-claude/pricing" rel="noopener noreferrer"&gt;Anthropic's pricing page&lt;/a&gt; and &lt;a href="https://developers.openai.com/api/docs/pricing" rel="noopener noreferrer"&gt;OpenAI's pricing page&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Roteo (in / out)&lt;/th&gt;
&lt;th&gt;Anthropic list (in / out)&lt;/th&gt;
&lt;th&gt;Roteo vs list&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Fable 5.1&lt;/td&gt;
&lt;td&gt;$1.90 / $9.30&lt;/td&gt;
&lt;td&gt;$10 / $50&lt;/td&gt;
&lt;td&gt;~81% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 5.5&lt;/td&gt;
&lt;td&gt;$0.65 / $3.10&lt;/td&gt;
&lt;td&gt;$4 / $20&lt;/td&gt;
&lt;td&gt;~84% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 5&lt;/td&gt;
&lt;td&gt;$0.85 / $4.28&lt;/td&gt;
&lt;td&gt;$5 / $25&lt;/td&gt;
&lt;td&gt;~83% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 5.5&lt;/td&gt;
&lt;td&gt;$0.35 / $1.55&lt;/td&gt;
&lt;td&gt;$2 / $10&lt;/td&gt;
&lt;td&gt;~83-85% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
&lt;td&gt;$0.51 / $2.56&lt;/td&gt;
&lt;td&gt;$3 / $15&lt;/td&gt;
&lt;td&gt;~83% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
&lt;td&gt;$0.17 / $0.85&lt;/td&gt;
&lt;td&gt;$1 / $5&lt;/td&gt;
&lt;td&gt;~83% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Haiku 5.5&lt;/td&gt;
&lt;td&gt;$0.09 / $0.45&lt;/td&gt;
&lt;td&gt;$0.10 / $0.50&lt;/td&gt;
&lt;td&gt;only 10% less&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Anthropic's Haiku 5.5 list price above is for prompts up to 100,000 tokens. Longer prompts cost more on Anthropic's side.&lt;/p&gt;

&lt;h3&gt;
  
  
  GPT
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Roteo (in / out)&lt;/th&gt;
&lt;th&gt;OpenAI list (in / out)&lt;/th&gt;
&lt;th&gt;Roteo vs list&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-6 Astra&lt;/td&gt;
&lt;td&gt;$0.70 / $3.35&lt;/td&gt;
&lt;td&gt;$10 / $50&lt;/td&gt;
&lt;td&gt;~93% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-6.1 Sol&lt;/td&gt;
&lt;td&gt;$0.15 / $0.70&lt;/td&gt;
&lt;td&gt;$2 / $10&lt;/td&gt;
&lt;td&gt;~93% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-6 Luna&lt;/td&gt;
&lt;td&gt;$0.015 / $0.05&lt;/td&gt;
&lt;td&gt;$0.10 / $0.50&lt;/td&gt;
&lt;td&gt;~85-90% less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.6 Terra&lt;/td&gt;
&lt;td&gt;$0.13 / $0.80&lt;/td&gt;
&lt;td&gt;$2 / $12&lt;/td&gt;
&lt;td&gt;~93% less&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Some context for these numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Roteo's homepage says "up to 93% below list". That's the best case, and in these tables it's the GPT rows. Most Claude models land around 81 to 85% off, and Haiku 5.5 is only 10% off.&lt;/li&gt;
&lt;li&gt;Anthropic and OpenAI both offer batch pricing at 50% off. If your work can wait for batch jobs, the gap is smaller. Claude Code is interactive, so for coding sessions I compare against standard rates.&lt;/li&gt;
&lt;li&gt;Caching matters a lot for Claude Code, because it resends a big context on every turn. On Roteo, prompt caching is automatic on Claude (1-hour cache), cache writes cost 2x the input rate, and cached reads are cheap: $0.05 per 1M on Opus 5.5 and Sonnet 5.5, where Anthropic lists $0.20 and $0.10.&lt;/li&gt;
&lt;li&gt;Roteo's docs say listed prices "may change by model, provider and network conditions."&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Claude Code custom base URL setup (ANTHROPIC_BASE_URL)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/roteo_ai/status/2113351943104122999" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fckbsbt6tm6jc73rtmoi1.jpg" alt="Claude Code setup walkthrough" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This follows &lt;a href="https://roteo.ai/docs/integrations/claude-code" rel="noopener noreferrer"&gt;Roteo's Claude Code guide&lt;/a&gt;. All you change is the base URL and the key Claude Code uses.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Get a key and fund the wallet
&lt;/h3&gt;

&lt;p&gt;Sign up at &lt;a href="https://roteo.ai" rel="noopener noreferrer"&gt;roteo.ai&lt;/a&gt; (or through my referral link at the top), sign in at app.roteo.ai, open the Keys page and create a key. It starts with &lt;code&gt;sk_&lt;/code&gt; and is shown only once, so save it somewhere safe. You can have up to 3 active keys. Then fund the wallet from the dashboard with one of the stablecoins listed above, and double check you're sending on the chain you picked. A key can spend from your wallet, so treat it like a password.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Install Claude Code (skip if you have it)
&lt;/h3&gt;

&lt;p&gt;macOS / Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://claude.ai/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Anthropic.ClaudeCode&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check with &lt;code&gt;claude --version&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Set ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN
&lt;/h3&gt;

&lt;p&gt;For a quick test in the current terminal:&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="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://api.roteo.ai"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk_your_key"&lt;/span&gt;
claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.roteo.ai"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sk_your_key"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;claude&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The base URL has &lt;strong&gt;no &lt;code&gt;/v1&lt;/code&gt;&lt;/strong&gt;. Claude Code adds that itself.&lt;/p&gt;

&lt;p&gt;To make it permanent, put it in &lt;code&gt;~/.claude/settings.json&lt;/code&gt; (merge with what's already there, then restart Claude Code):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.roteo.ai"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_AUTH_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sk_your_key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_DEFAULT_HAIKU_MODEL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"claude-haiku-4-5"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That file now holds a live key, so keep it out of any dotfiles repo you push.&lt;/p&gt;

&lt;p&gt;The third line comes from Roteo's &lt;a href="https://api.roteo.ai/v1/llms.txt" rel="noopener noreferrer"&gt;llms.txt&lt;/a&gt; and I keep it. Claude Code makes small background calls (session titles, the summaries behind &lt;code&gt;claude --resume&lt;/code&gt;) to whatever its "haiku" alias points to. With a non-Anthropic base URL, that alias falls through to a bigger model, so you pay more than the work needs. If you'd rather turn those calls off, set &lt;code&gt;CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1&lt;/code&gt; instead (you lose titles and resume summaries).&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Check it worked
&lt;/h3&gt;

&lt;p&gt;Start &lt;code&gt;claude&lt;/code&gt;, run &lt;code&gt;/status&lt;/code&gt;, and you should see &lt;code&gt;https://api.roteo.ai&lt;/code&gt; as the Anthropic base URL. Ask it something simple. If you get a reply, you're going through Roteo.&lt;/p&gt;

&lt;p&gt;One gotcha: &lt;strong&gt;Claude Code's &lt;code&gt;/cost&lt;/code&gt; will be wrong.&lt;/strong&gt; It prices everything as if you were paying Anthropic, so it shows far more than you actually pay. The Roteo dashboard shows the real charges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optional: DeepSeek in Claude Code for grunt work
&lt;/h3&gt;

&lt;p&gt;Roteo also runs &lt;code&gt;deepseek-v4.1-flash-1017&lt;/code&gt; inside Claude Code, at $0.23 / $0.69 per 1M. That's well under Opus and Sonnet, but not under Haiku 5.5 ($0.09 / $0.45). Where it gets really cheap is cached input: $0.0069 per 1M, and in Claude Code most of what you send is cached context.&lt;/p&gt;

&lt;p&gt;Claude Code only lists gateway models whose id contains "claude", so you add DeepSeek to the &lt;code&gt;/model&lt;/code&gt; picker yourself (needs Claude Code 2.1.242 or later). Here's the full &lt;code&gt;settings.json&lt;/code&gt; with everything from step 3 kept:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.roteo.ai"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_AUTH_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sk_your_key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_DEFAULT_HAIKU_MODEL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"claude-haiku-4-5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_MODEL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"claude-opus-5-5"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"modelPicker"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"options"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"deepseek-v4.1-flash-1017[1m]"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"label"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"DeepSeek V4.1 Flash"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;ANTHROPIC_MODEL&lt;/code&gt; is the model new sessions start on. Or skip the picker and type this mid-session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/model deepseek-v4.1-flash-1017[1m]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;[1m]&lt;/code&gt; suffix tells Claude Code the model has a 1M context window so it doesn't compact early. You can switch back with &lt;code&gt;/model claude-opus-5-5&lt;/code&gt; in the same conversation.&lt;/p&gt;

&lt;p&gt;Per Roteo's docs, DeepSeek reads images but not PDFs, web search isn't available, and most small cached turns come out around $0.001 each.&lt;/p&gt;

&lt;h2&gt;
  
  
  Codex CLI custom provider setup (config.toml)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/roteo_ai/status/2113374225792954700" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbf5s14di5ffgbnwtttkg.jpg" alt="Codex CLI setup walkthrough" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From &lt;a href="https://roteo.ai/docs/integrations/codex" rel="noopener noreferrer"&gt;Roteo's Codex guide&lt;/a&gt;. Needs Codex 0.121 or later (&lt;code&gt;codex --version&lt;/code&gt;).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sign out of ChatGPT first&lt;/strong&gt; if Codex is logged in with your ChatGPT account. Otherwise a correct config looks like it does nothing.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   codex &lt;span class="nb"&gt;logout&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Add a provider to &lt;code&gt;~/.codex/config.toml&lt;/code&gt; (add to the file, don't replace it):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;   &lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"gpt-5.6-sol"&lt;/span&gt;
   &lt;span class="n"&gt;model_provider&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"roteo"&lt;/span&gt;

   &lt;span class="k"&gt;[&lt;/span&gt;&lt;span class="n"&gt;model_providers&lt;/span&gt;&lt;span class="k"&gt;.&lt;/span&gt;&lt;span class="n"&gt;roteo&lt;/span&gt;&lt;span class="k"&gt;]&lt;/span&gt;
   &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"Roteo"&lt;/span&gt;
   &lt;span class="n"&gt;base_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"https://api.roteo.ai/v1"&lt;/span&gt;
   &lt;span class="n"&gt;wire_api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"responses"&lt;/span&gt;
   &lt;span class="n"&gt;experimental_bearer_token&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"sk_your_key"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To keep the key out of the file, swap the last line for &lt;code&gt;env_key = "OPENAI_API_KEY"&lt;/code&gt; and set that variable to your Roteo key in the shell you launch Codex from. The docs call &lt;code&gt;env_key&lt;/code&gt; the stable option. If you normally keep a real OpenAI key in &lt;code&gt;OPENAI_API_KEY&lt;/code&gt;, remember it's now the Roteo key in that shell.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;codex&lt;/code&gt;. The header should say &lt;code&gt;provider: roteo&lt;/code&gt;. Switch models with &lt;code&gt;/model&lt;/code&gt; (any &lt;code&gt;gpt-*&lt;/code&gt; id).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The default above, &lt;code&gt;gpt-5.6-sol&lt;/code&gt;, is $0.33 / $2.00 per 1M on Roteo. &lt;code&gt;gpt-6.1-sol&lt;/code&gt; ($0.15 / $0.70) and &lt;code&gt;gpt-6-astra&lt;/code&gt; ($0.70 / $3.35) from the table above work too.&lt;/p&gt;

&lt;p&gt;Codex may log a warning that it couldn't refresh the model list. Roteo's docs say it's harmless.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other OpenAI-compatible tools (and calling Claude from code)
&lt;/h2&gt;

&lt;p&gt;Roteo's &lt;a href="https://roteo.ai/docs/integrations/agents" rel="noopener noreferrer"&gt;agents page&lt;/a&gt; gives one set of settings for any OpenAI-compatible client:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Base URL&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://api.roteo.ai/v1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API key&lt;/td&gt;
&lt;td&gt;your &lt;code&gt;sk_&lt;/code&gt; key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;a &lt;code&gt;gpt-*&lt;/code&gt; or open-weight id, e.g. &lt;code&gt;gpt-5.6-sol&lt;/code&gt; or &lt;code&gt;glm-5.3&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The docs have guides for opencode, Cursor, Hermes and OpenClaw, and name Continue, Aider, LangChain, LiteLLM and chat apps like Open WebUI as working through the OpenAI protocol. In opencode, open-weight models are the ones marked verified. GPT is "supported, not yet verified." Cline isn't mentioned anywhere in the docs, so I can't tell you it's supported.&lt;/p&gt;

&lt;p&gt;Don't plan on Claude in any of these tools. Roteo refuses Claude models in agent frameworks, Cursor included.&lt;/p&gt;

&lt;p&gt;If you want Claude from your own code, use the OpenAI-compatible &lt;code&gt;/v1/chat/completions&lt;/code&gt; endpoint, for example with the OpenAI SDK. Roteo's Anthropic-style &lt;code&gt;/v1/messages&lt;/code&gt; endpoint only serves Claude Code, so the Anthropic SDK gets an HTTP 403 (&lt;code&gt;unsupported_client&lt;/code&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Downsides and limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Crypto only, for now.&lt;/strong&gt; You need USDC (Base, Arbitrum, Solana) or USDG (Robinhood Chain). If buying and moving stablecoins sounds like a hassle, that's a real cost.&lt;/li&gt;
&lt;li&gt;Your prompts still go to a model provider.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhr1scgqql08624qta2h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhr1scgqql08624qta2h.jpg" alt="Roteo's diagram of what it keeps" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;em&gt;Roteo's own diagram of what it keeps. This is their stated policy, not an audit.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Roteo's &lt;a href="https://roteo.ai/docs/legal/privacy" rel="noopener noreferrer"&gt;privacy policy&lt;/a&gt; says it doesn't store prompts or responses, only usage metering (token and image counts, model, timestamp). But the requests still run on third-party model providers, which are "bound by their own terms and privacy commitments." The docs don't say which provider serves each model.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payments are public. Onchain transactions (amounts, wallet addresses, timestamps) are visible on the blockchain, as the privacy policy points out.&lt;/li&gt;
&lt;li&gt;Claude rate limit: 30 requests per minute per account, shared across all your keys, per the &lt;a href="https://roteo.ai/docs/rate-limits" rel="noopener noreferrer"&gt;rate limits page&lt;/a&gt;. Past that you get a 429 with a &lt;code&gt;retry-after&lt;/code&gt; header. One interactive session is unlikely to hit it, but parallel subagents or scripts get there faster.&lt;/li&gt;
&lt;li&gt;Request bodies are capped at 4 MB. A larger one gets a 413. The &lt;a href="https://roteo.ai/docs/errors" rel="noopener noreferrer"&gt;errors page&lt;/a&gt; says base64 images and PDFs are the usual cause, so big screenshots in a long session can do it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude only in Claude Code or direct API calls.&lt;/strong&gt; No Claude in Cursor or other agent frameworks through Roteo.&lt;/li&gt;
&lt;li&gt;Open-weight models may be cheaper elsewhere. The big gaps in the tables above are on Claude and GPT. If you mostly run DeepSeek, GLM or Qwen, compare against the providers' own APIs and other gateways.&lt;/li&gt;
&lt;li&gt;No uptime guarantee. The terms provide the service "as is", and the docs say failover is "not guaranteed." I couldn't find a status page or an SLA, so I keep my normal Claude login around as a fallback and only put in small amounts.&lt;/li&gt;
&lt;li&gt;Onchain charges are final. No refunds once a request is served.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is it the real Claude?&lt;/strong&gt;&lt;br&gt;
I can't verify that from outside. Roteo's docs say every request is served by "the same frontier models you would reach going direct" and that model output is never editorially rewritten, but they don't say which upstream provider serves each model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need an existing crypto wallet?&lt;/strong&gt;&lt;br&gt;
No. Signing in creates a self-custodied wallet for you. You do need to get supported stablecoins into it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I pay with a card?&lt;/strong&gt;&lt;br&gt;
Not that I can find. The docs only list USDC and USDG on the chains above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I use Claude in Cursor with this?&lt;/strong&gt;&lt;br&gt;
No. Roteo refuses Claude in agent frameworks, including Cursor. GPT and open-weight models are listed as supported in Cursor ("not yet verified per framework"). Roteo's Cursor guide says picking a custom model needs a paid Cursor plan, and that you have to disable Cursor's built-in models or the key reads as invalid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I switch back to my Claude subscription?&lt;/strong&gt;&lt;br&gt;
Yes. Remove the &lt;code&gt;ANTHROPIC_*&lt;/code&gt; lines you added (base URL, auth token, and the model settings if you used them) plus the &lt;code&gt;modelPicker&lt;/code&gt; block from your env or &lt;code&gt;settings.json&lt;/code&gt;, then restart Claude Code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where do I get help?&lt;/strong&gt;&lt;br&gt;
Roteo's community is on Discord at &lt;a href="https://discord.gg/roteo" rel="noopener noreferrer"&gt;discord.gg/roteo&lt;/a&gt;. The docs are at &lt;a href="https://roteo.ai/docs" rel="noopener noreferrer"&gt;roteo.ai/docs&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you switch?
&lt;/h2&gt;

&lt;p&gt;If the Claude Code weekly limit is what's slowing you down, the config is a few lines in &lt;code&gt;settings.json&lt;/code&gt; and you pay per request instead of per month. Getting stablecoins into the wallet is the slow part. Haiku 5.5 barely saves anything. Opus 5.5 is $0.65 / $3.10 against $4 / $20 list, and that's where the savings show up.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docs: &lt;a href="https://roteo.ai/docs" rel="noopener noreferrer"&gt;roteo.ai/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Live prices: &lt;a href="https://api.roteo.ai/v1/llms.txt" rel="noopener noreferrer"&gt;api.roteo.ai/v1/llms.txt&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Help: &lt;a href="https://discord.gg/roteo" rel="noopener noreferrer"&gt;discord.gg/roteo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Disclosure again, so it's not buried: I'm a Roteo user, not part of the team. The app.roteo.ai/r/onkasouji link is my referral link and pays me 10% of what you spend (Roteo only starts paying referral earnings once the referrer has spent $20 themselves). If you'd rather skip it, &lt;a href="https://roteo.ai" rel="noopener noreferrer"&gt;roteo.ai&lt;/a&gt; works just the same.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
