Rozo Checkout

Pay OpenRouter top-ups with USDC/USDT on 6 chains or BTC Lightning. Never holds funds.

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
83%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~738Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.58% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "checkout": {
      "url": "https://mcp.rozo.ai/mcp?src=registry"
    }
  }
}

Remote endpoints

https://mcp.rozo.ai/mcp?src=registrystreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢supported_coins

List the coins and chains you can pay an OpenRouter (Coinbase) invoice with through Rozo. Static list, no network call.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢quote_invoice(url)

Look up a Coinbase payment link (e.g. an OpenRouter top-up) and return the merchant, invoice amount, what the payer pays, the link expiry and whether it is still payable. Creates nothing and moves no funds.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 512,
      "description": "Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_..."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_deposit_order(url, chainId, tokenSymbol, email)

Creates a one-time deposit order; you pay from your own wallet. Returns the deposit address (or Lightning invoice), the exact amount to send, any required memo, the expiry and the rozoPaymentId. This server holds no keys and sends nothing. Send exactly the amount, on exactly that chain and token, before expiresAt. An unfunded order simply expires at no cost.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 512,
      "description": "Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_..."
    },
    "chainId": {
      "type": "string",
      "enum": [
        "1",
        "56",
        "137",
        "900",
        "1500",
        "8453",
        "lightning"
      ],
      "description": "Source chain id from supported_coins, e.g. \"900\" (Solana), \"8453\" (Base), \"lightning\"."
    },
    "tokenSymbol": {
      "type": "string",
      "minLength": 2,
      "maxLength": 8,
      "description": "Token you will pay with, e.g. USDC, USDT, BTC."
    },
    "email": {
      "description": "Optional contact email so ROZO can reach the payer if the payment needs attention. Ask the user once if they are present; never required, omit it if they decline.",
      "type": "string",
      "maxLength": 320
    }
  },
  "required": [
    "url",
    "chainId",
    "tokenSymbol"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢payment_status(rozoPaymentId)

Check a Rozo order by rozoPaymentId: whether the deposit arrived, bridging/payout progress, and whether the Coinbase invoice settled. Read-only.

Input Schema

{
  "type": "object",
  "properties": {
    "rozoPaymentId": {
      "type": "string",
      "maxLength": 64,
      "description": "Order UUID returned by create_deposit_order."
    }
  },
  "required": [
    "rozoPaymentId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools