Protocol testing · not a customer environment

See an agent payment end to end.

Choose Base Mainnet or Base Sepolia, preview the x402 or MPP endpoint, then copy a buyer that keeps the network explicit from challenge through receipt.

1. Choose a network
2. Choose a wire protocol

Protocol testing route

Base Sepolia · x402 v2

Test USDC
https://pay.staging.0xkey.io/api/base-sepolia/paid-content
Price
0.01 USDC
Network
eip155:84532
Asset
0x036CbD…3dCF7e
Inspect 402

Copy an endpoint or buyer after checking the selected network.

Buyer code
import { createPayFetch } from "@0xkey-io/pay/client";

const payFetch = createPayFetch({
  account,
  allowHosts: ["pay.staging.0xkey.io"],
  network: "eip155:84532",
  maxAmount: "$0.01",
  protocolPreference: ["x402"],
  pendingPaymentStore,
});

const response = await payFetch("https://pay.staging.0xkey.io/api/base-sepolia/paid-content");

What happens

One irreversible rail, made visible.

Protocol choice may change before signing. After signing, the SDK never changes protocol, network, provider or Economic Effect.

  1. 01

    Resource returns standard x402 and MPP challenge

  2. 02

    Buyer selects one protocol and signs once

  3. 03

    0xkey settles canonical USDC on the selected Base network

  4. 04

    Merchant content is delivered only after confirmation

Mainnet spends real USDC.

Pay v1 does not automatically refund a successful payment when a merchant handler later fails.

Read the integration docs