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.

Step one is always the payment link
- In OpenRouter, open Settings, then Credits. Turn on the crypto option, enter the amount ($10 or more) and click Purchase.
- Copy the payment link it produces. It starts with payments.coinbase.com/payment-links/pl_ or payments.coinbase.com/payment-sessions/paymentSession_.
- 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:
- npx @rozoai/checkout quote <link>
- npx @rozoai/checkout pay <link> --with usdt-solana --yes
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:
- claude mcp add --transport http rozo-checkout "https://mcp.rozo.ai/mcp?src=blog"
In Claude Desktop or Claude.ai, add it under Settings, Connectors, Add custom connector, with the same URL.
The server exposes four tools:
- supported_coins: the chains and tokens you can pay with.
- quote_invoice: the merchant, the invoice amount, what you pay and whether the link is still payable. It creates nothing.
- create_deposit_order: creates a one-time deposit order for the coin you choose and returns the deposit address (or a Lightning invoice), the exact amount, any required memo and the order's expiry.
- payment_status: pay-in, payout progress and whether the Coinbase invoice settled.
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:
- /plugin marketplace add RozoAI/rozo-checkout-skill
- /plugin install rozo-checkout@rozo
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
- ROZO's 1% service fee is inside the quote. You pay the full invoice, and the deposit amount shown in the order is all you send.
- A quote is a preview. The price is quoted again when the deposit order is created, and the order's deadline comes from that order and from the expiry of the payment link itself.
- OpenRouter's $10 crypto minimum and its 5% crypto fee are already set on the link.
- Crypto payments to OpenRouter are never refundable. That is OpenRouter's policy, so check the credit amount before you send.
- The same tools pay other Coinbase-hosted invoices. Merchants already paid through ROZO include OpenRouter, Venice.ai, Porkbun and Alchemy.