EN

How to Pay OpenRouter from Claude Code, an AI Agent or the CLI

Shawn Muggle

If your agent runs on OpenRouter, sooner or later it needs more credits. The obvious move is to let the agent or a script top up by itself, and with crypto that used to be possible: OpenRouter had a crypto credits API. As of October 2026 that endpoint (POST /api/v1/credits/coinbase) returns 410 Gone, so a crypto top-up can no longer be scripted on OpenRouter's side.

What still works is the payment link. You create it in OpenRouter's Credits page, and paying it can be handed to an agent. ROZO Checkout gives you three ways to do that: a CLI one-liner, a remote MCP server and a Claude Code skill. None of them holds your funds or needs a private key. They create a one-time deposit order, and you pay it from your own wallet.

ROZO Checkout is independent and not affiliated with OpenRouter, Coinbase or Anthropic.

Steps to pay OpenRouter with crypto: copy your OpenRouter payment link, paste it into ROZO Checkout, pick a chain, and pay.
Every method starts the same way: paste your OpenRouter payment link or payment ID into ROZO Checkout.
  1. In OpenRouter, open Settings, then Credits. Turn on the crypto option, enter the amount ($10 or more) and click Purchase.
  2. Copy the payment link it produces. It starts with payments.coinbase.com/payment-links/pl_ or payments.coinbase.com/payment-sessions/paymentSession_.
  3. Hand that link to the CLI, the MCP server or the skill below.

The link carries its own expiry, so create it close to when you plan to pay.

Option 1: the CLI, for any agent that can run a shell

The ROZO Checkout CLI runs through npx, so there is nothing to install:

The quote command shows the merchant, the invoice amount and what you will pay, and creates nothing. The pay command creates a one-time deposit order for the coin you pass with --with, prints the deposit address and exact amount, and waits until the invoice is settled. Without a terminal it stops for confirmation, so an unattended caller reviews the quote first and then passes --yes.

The default path needs no private key, no environment variables and no configuration. You send the coin from your own wallet or an exchange withdrawal. Agents should always pass --with: there is deliberately no default coin.

Coins the CLI accepts: USDT or USDC on Solana, BNB Chain, Ethereum or Polygon (usdt-solana, usdc-bnb and so on), USDC on Base or Stellar, and Bitcoin over Lightning (btc-lightning).

Option 2: the MCP server

For Claude Desktop, Claude Code, Cursor or any client that speaks MCP, connect the remote server at https://mcp.rozo.ai/mcp?src=blog. In Claude Code that is one command:

In Claude Desktop or Claude.ai, add it under Settings, Connectors, Add custom connector, with the same URL.

The server exposes four tools:

It is non-custodial. The server holds no private keys, signs nothing and sends nothing. An order that is never funded expires and costs nothing.

Option 3: the Claude Code skill

If you work in Claude Code, the skill teaches the agent the whole flow, including which coin to pick and how to read the deposit details. Install it in two steps:

Then paste an OpenRouter payment link and ask Claude to pay it with the coin you hold. The skill follows the same flow as the CLI, so the same rules apply: no key by default, and you send the payment from your own wallet. The source is on GitHub at RozoAI/rozo-checkout-skill.

Running it from cron

Because the link is created by hand on OpenRouter's side, the realistic automation is a hybrid: a person, or a scheduled reminder, creates the link, and a script pays it. A cron job can run the pay command with --with and --yes, and npx @rozoai/checkout status <rozoPaymentId> reports where the payment is.

If you want the payment itself to go out with nobody present, the CLI has an optional --send flag that signs locally on EVM chains or Solana. That puts a key on the machine, so use a dedicated hot wallet that only holds what a few top-ups need. Our post on OpenRouter auto top-up with crypto explains why that tradeoff exists.

Costs and rules

Frequently asked questions

Can Claude Code pay for OpenRouter credits?
Yes, once you have an OpenRouter payment link. Install the ROZO Checkout skill (/plugin marketplace add RozoAI/rozo-checkout-skill, then /plugin install rozo-checkout@rozo) or connect the MCP server, and ask Claude to pay the link. You send the coin from your own wallet.
Why can't I top up OpenRouter with crypto through its API?
OpenRouter's crypto credits endpoint, POST /api/v1/credits/coinbase, returns 410 Gone as of October 2026. The payment link has to be created in the Credits page; paying it can then be scripted.
Does the agent need my private key?
No. The CLI, the MCP server and the skill create a deposit order, and you pay it from your own wallet. Only the CLI's optional --send flag signs locally, and it is off unless you pass it.
Which coins can an agent pay with?
USDT or USDC on Solana, BNB Chain, Ethereum or Polygon, USDC on Base or Stellar, and Bitcoin over Lightning. Native ETH, BNB and SOL are paid on the web checkout at checkout.rozo.ai.
Does ROZO hold my funds?
No. The MCP server holds no keys and sends nothing, and the CLI only signs when you pass --send. ROZO creates the deposit order and settles the Coinbase invoice once your payment arrives.

Pay OpenRouter with the crypto you already hold

Paste your OpenRouter payment link, pick your chain, and confirm in your wallet.

Open ROZO Checkout

Pay OpenRouter with the crypto you already hold

Open ROZO Checkout