Skavio x402 MCP: connect a compatible client to a paid USDC tool

Skavio x402 MCP separates tool discovery from wallet spending. That gives a controlled integration a clear sequence: connect, inspect the tool schema, request a payment challenge, then decide whether to authorize it. Here, “compliant” means protocol-compatible—not legally certified. A client that can discover tools is not necessarily equipped to complete a paid call.

1. Connect without enabling automatic payment

Skavio publishes https://getskavio.com/mcp as its remote Streamable HTTP endpoint. Configure it using your client’s documented remote-server settings and a version-compatible MCP SDK. Catalog discovery requires no payment; adding the server does not itself authorize wallet spending. Use MCP’s tools/list operation to inspect the available tools and their input schemas. Check the returned definition rather than constructing arguments from a tool name alone. Generic MCP support—or a bridge that successfully lists tools—does not establish support for x402 payment handling. Before making any tools/call request, check the client’s payment settings. The official @x402/mcp documentation describes automatic payment and approval as defaults, alongside approval hooks. Explicitly configure an approval gate so the initial call cannot silently trigger payment. Also confirm transport compatibility. MCP’s July 28, 2026 revision changed Streamable HTTP session and metadata behavior, so an older initialization example should not be treated as a universal connection recipe.

2. Request the tool’s payment requirements

A concrete example is the symbolic call verify_native_usdc(tx_hash, network="base"), which stays within public blockchain verification. Build the actual tools/call request from the discovered schema. Skavio’s published fee for this tool was 0.02 USDC per call in the documentation review dated October 30, 2026. Read the returned challenge rather than treating that published price as permanent. With automatic payment disabled, make the initial call without payment metadata. Under the x402 v2 MCP transport, PaymentRequired arrives as a tool result with isError: true—not simply as an ordinary HTTP 402 response. The requirements appear in structuredContent and, identically, as JSON-encoded content[0].text. Prefer structuredContent, with the text representation as a fallback. Recognize the documented PaymentRequired structure before entering a payment flow. An unrelated tool error is not permission to pay, and a payment challenge is not evidence that the tool has completed its work.

3. Validate the challenge before approving a signature

Paid execution requires an x402-aware wallet client. Require explicit consent or a deliberately approved, tightly bounded spending policy; do not rely on permissive SDK defaults. Skavio’s published payment chain is Base, identified as eip155:8453. Keep that separate from the network being inspected: requesting information about a transaction on another supported blockchain does not change the published payment chain. Before permitting a signature, validate the challenge against your policy:

4. Submit the payment payload, then check two separate outcomes

After approval, retry the same tool and arguments with the payment payload in request params._meta["x402/payment"], following the published documentation. Do not substitute an unrelated wallet transfer for the required protocol payload. Never send wallet private keys or seed phrases to Skavio. Inspect the returned settlement information in result _meta["x402/payment-response"]. Examine its success indication, network and transaction reference separately from the tool output. A wallet signature alone does not establish settlement, and settlement metadata is not a guarantee of network finality. Then check the tool result against the original transaction hash and requested inspection network. Payment status and verification output answer different questions: whether payment succeeded, and what the tool found. Keep both checks visible rather than treating a signature, settlement information and a completed tool result as interchangeable evidence.

5. Reconcile an uncertain payment state before authorizing again

An interrupted response is a reason to reconcile payment state—not an automatic reason to sign another payment. Preserve the request context and available payment references, then inspect the documented response and chain evidence before creating another authorization. The sources reviewed for this guide did not establish a paid-MCP idempotency or refund contract; do not assume exactly-once charging or automatic refunds. Before enabling funded calls, test the client’s refusal and recovery paths. These are proposed acceptance checks, not reported test outcomes:

Explore Skavio x402 MCP →