# Paying Prism MCP Three ways. All pay in USDC on Base. 1. A pass: a connector you paste into your chatbot. Open https://zeampass.com/pass?seller=https%3A%2F%2Fmcp.zeamprism.com%2Fmcp, connect a browser-extension wallet holding USDC on Base, choose how much to load, and add the link it gives you to your chatbot as a custom connector in place of this server. It pays each call from what you loaded, and when a tool needs longer it buys time and opens a line for you. Keep the link private: whoever holds it can spend the pass. The pass's page sends what is left back to your wallet. 2. The Bridge: it pays from your own wallet, in front of any MCP client. Put this in your client's MCP config in place of this server, with the private key of a wallet holding USDC on Base: {"mcpServers":{"prism":{"command":"npx","args":["-y","@zeam-labs/x402-mcp-bridge"],"env":{"X402_PRIVATE_KEY":"0x","X402_MCP_URL":"https://mcp.zeamprism.com/mcp"}}}} The key sits in that file, so use a wallet that holds only what you mean to spend. It needs Node.js 20 or later; npx -y fetches the latest, and versions before 3.2.1 are unsupported. The first paid call deposits at least 40 calls' worth, about $0.01, or the store's least deposit when gas makes that higher, and more when it has to buy time; it pays per call, and when a tool needs longer it buys time and opens a line for you. To take back what is unspent, run it once with --refund and the same two variables set. 3. Your own code: any x402 client that speaks batch-settlement. With the stock x402 SDK, register BatchSettlementEvmScheme and wrap your client; its first deposit is 5 times the price, which for a call at the per-call price is under the least this store takes, so raise it: new BatchSettlementEvmScheme(signer, { depositPolicy: { depositMultiplier: N } }), with N large enough that N times the price reaches the figure in the 402's deposit line. Sign the USDC row without Permit2 (it is listed first and again last, identical, for indexers that keep one row per scheme; either will do): the Permit2 row needs an approval paid in ETH. The least deposit depends on the call, and each call's own 402 states it. The Bridge is Node.js only and we publish no client in another language. The agent guide is https://zeampass.com/docs/agents; the steps here are in https://mcp.zeamprism.com/llms.txt. A pass and the Bridge pay in USDC on Base and need no ETH: the relay sends the deposit and the refund, and refund gas, when you owe any, is paid in USDC. Your own client needs none either on the row without Permit2. ## From your own code 1. Call a paid tool with the x402 payment in params._meta["x402/payment"] (MCP) or the PAYMENT-SIGNATURE header (HTTP). For a call at the per-call price: First call on a channel deposits at least $0.004752. Later calls spend it. The unspent balance is refundable. That least is the figure now: it tracks gas and depends on the call. Each call's own 402 states the live one, and it applies to a later top-up too. 2. For time: buy_time {ms} returns your channelId. Then the line tool: {op:"open",channelId} answers {nonce, sign}; sign the text in sign with the payer key (EIP-191, personal_sign); {op:"prove",channelId,nonce,signature} returns a credential. 3. Calls carrying the credential (the line argument or _meta["zeam-pass/line"]; over HTTP the x-line header) carry no payment and burn the time. Scheme: batch-settlement on eip155:8453, USDC. Register BatchSettlementEvmScheme from @x402/evm/batch-settlement/client and wrap your MCP client with wrapMCPClientWithPayment from @x402/mcp. ## Getting money back Ask: POST /refund {channelId, issued, signature}, signed by the payer over "ZEAM Pass refund\nchannel: \nissued: " within 5 minutes. Unburned time comes back with the balance. Gas: A refund is free once what you spent covers the gas of your deposit, your refund and any calls not yet settled, plus 15%, a figure every 402 states; before that you pay the quoted refund gas, 15% included, in USDC. One refund per channel per hour. Yourself: initiateWithdraw then finalizeWithdraw after 86400s. Your gas, and it needs nothing from us. Prices: https://mcp.zeamprism.com/pricing. Everything else: https://mcp.zeamprism.com/llms.txt. The agent guide: https://zeampass.com/docs/agents.