What sits between pay per call and a monthly plan?

Pay per request is perfect for a handful of reads. A monthly subscription is right for a bot that never sleeps. Most agent jobs sit in between: a backtest that runs for an afternoon, a weekly research sweep, a demo that needs to work for an hour on stage.

For those, we now sell time. An x402 pass is a USDC payment that turns a tier on for a fixed window. It starts the moment it settles, returns a cdk_live_ key once, and expires on its own. No renewal, no card on file, nothing to cancel.

Pass prices in USDC

Pass Tier Window USDC Equivalent per-request calls at $0.01
pass_1h Pro 1 hour 1.50 150
pass_1d Pro 24 hours 5.00 500
pass_7d Pro 7 days 15.00 1,500
pass_1h_plus Pro Plus 1 hour 4.00 400
pass_1d_plus Pro Plus 24 hours 15.00 1,500
pass_7d_plus Pro Plus 7 days 45.00 4,500

For scale, Pro monthly is $39 and Pro Plus monthly is $129, both also payable in USDC through the same endpoint. A 7-day Pro pass is therefore a little over a third of a month for a little under half the price, which is the point: you pay for the week you use.

Prices are served live at GET /api/v1/pricing under passes, and the /ai-pricing page renders the same table for humans.

How does an AI agent buy a pass?

The handshake is the standard x402 dance, but against a POST. Ask for the plan, receive a 402 quoting the price, sign, and repeat with the x-payment header. The response carries the key.

curl -s -X POST https://cryptodataapi.com/api/v1/payments/agent-subscribe \
  -H "Content-Type: application/json" \
  -H "User-Agent: my-backtest-agent/1.0" \
  -d '{"plan": "pass_1h"}'
# -> 402 with accepts[] quoting 1.50 USDC on Base (eip155:8453)

With the Python x402 client the retry is automatic:

import asyncio, httpx
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402_httpx_transport
from x402.mechanisms.evm.exact import register_exact_evm_client
from x402.mechanisms.evm.signers import EthAccountSigner

async def buy_pass(plan="pass_1h"):
    client = x402Client()
    register_exact_evm_client(client, EthAccountSigner(Account.from_key(WALLET_PRIVATE_KEY)))
    async with httpx.AsyncClient(transport=x402_httpx_transport(client), timeout=60,
                                 headers={"User-Agent": "my-backtest-agent/1.0"}) as paid:
        r = await paid.post("https://cryptodataapi.com/api/v1/payments/agent-subscribe",
                            json={"plan": plan})
        r.raise_for_status()
        body = r.json()
        return body["api_key"], body["seconds_remaining"]

key, ttl = asyncio.run(buy_pass())
# use key as X-API-Key on every endpoint, and with the MCP server, for `ttl` seconds

The response body says exactly what you bought, for example Pro pass active for 1h (until 2026-09-08T12:27:00 UTC), and seconds_remaining is the number your scheduler should trust. Store the key. It is returned once. The wallet address is the account, so a later pass from the same wallet extends the same record.

How passes behave: start time, stacking and expiry

A few rules make passes predictable enough to build on.

One consequence worth planning for: if your job might run past the window, buy the next size up rather than trying to chain 1-hour passes with a timer. The day pass costs less than four hours of hourly passes.

Pass vs per request vs monthly: a worked example

Take a Hyperliquid backtesting agent that, once a week, pulls whale positioning, the regime nowcast and liquidations for 40 coins, then reads the order-book depth endpoints that are not on the per-request rail at all.

Rail Cost for that weekly job Notes
Pay per request not possible depth endpoints require a key
pass_1h $1.50 per week key works on every Pro endpoint and the MCP server
pass_7d $15.00 per week only if the agent works most days
Pro monthly $39.00 four weekly runs cost $6 on hourly passes

The hourly pass wins by a wide margin for anything that runs in bursts. The monthly plan wins as soon as the agent needs the key on most days, or needs the history and Parquet layer, where Pro Plus monthly at $129 beats three weekly Pro Plus passes.

When to use an x402 pass

Buy a pass when the job is bounded in time and needs more than a few calls:

Skip it when the agent polls continuously, where a monthly plan is cheaper, or when a handful of calls is enough, where pay per request is cheaper still.

Prices live at GET https://cryptodataapi.com/api/v1/pricing. Fund a Base wallet with a couple of dollars of USDC, post {"plan": "pass_1h"} to agent-subscribe, and the key in the response works on every Pro endpoint for the next hour.

Frequently asked questions

What is an x402 pass?

A USDC payment on Base that turns Pro or Pro Plus on for a fixed window of 1 hour, 24 hours or 7 days. It returns a real API key once, starts immediately and expires on its own.

How much is a 1-hour Pro pass?

1.50 USDC. The day pass is 5.00, the week pass 15.00. Pro Plus passes are 4.00, 15.00 and 45.00 for the same windows.

Does a pass work with the MCP server?

Yes. The pass returns a cdk_live_ key, and that key works on the MCP server and every REST endpoint its tier allows. Pay-per-request payments never return a key, so a pass is the cheapest way to get MCP access for a session.

What happens when a pass expires?

The key drops back to the highest tier among your other active purchases, or to free if there are none. Expiry is enforced by a sweep that runs every five minutes.