DEV Community

Cover image for x402 in 2026 -- Coinbase, Tempo, MoonPay, and the Only Multi-Chain Non-Custodial Option
Bill Wilson
Bill Wilson

Posted on

x402 in 2026 -- Coinbase, Tempo, MoonPay, and the Only Multi-Chain Non-Custodial Option

The x402 standard is having its moment. Stripe-backed Tempo is heading to testnet. Coinbase shipped agentic wallet infrastructure in February. MoonPay launched their agent wallet this week. Everyone is announcing.

Here's what's actually live, what's vaporware, and where the real technical gaps are.

What x402 Is

x402 is an HTTP payment protocol. An agent hits an endpoint, gets a 402 Payment Required response with a payment address and amount, signs a payment header locally, and retries the request. No payment processor intermediary. No custodial hold. The server verifies the on-chain payment and responds.

Coinbase proposed the standard. It's simple and it works. The question is who has actually implemented it across real chains.

The Field

Coinbase Agentic Wallets

Coinbase shipped x402 support in February 2026. Base mainnet, USDC. Their agentic wallet product wraps a TEE (Trusted Execution Environment) to handle key management -- semi-custodial. Coinbase operates the TEE infrastructure. If Coinbase has an outage, your agent's wallet is degraded.

Chain coverage: Base only.
Custody: Semi-custodial (TEE, Coinbase-operated).
Status: Live.

Tempo (Stripe-backed)

Tempo is building dedicated x402 payment infrastructure with Stripe's backing. That's significant -- Stripe's developer distribution is enormous. But Tempo is still on testnet. Mainnet timeline is unconfirmed.

Chain coverage: Not yet published.
Custody: Unknown -- no mainnet to audit.
Status: Testnet. Not live.

MoonPay Agents

MoonPay launched their agent wallet product this week. They market it as non-custodial at the wallet layer -- the agent holds keys. But their fiat rails (the part that actually converts crypto to usable currency) run through MoonPay's own infrastructure. That's a custodial chokepoint. If MoonPay freezes your account, the agent can't access fiat settlement.

Chain coverage: Unclear, not documented.
Custody: Non-custodial wallet, custodial fiat pipes.
Status: Live, limited.

agentwallet-sdk

We built this because none of the above options gave agents actual financial autonomy. Here's the current state:

Chain coverage: 17 chains -- Base, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, and 10 more via CCTP V2. Both directions on Solana-EVM bridging.
Custody: Fully non-custodial. Agent holds its own keypair. Signs x402 headers locally via ClawPay MCP. No server ever sees the private key.
Status: Live. npm i agentwallet-sdk

import { X402Client } from 'agentwallet-sdk';

const client = new X402Client({
  wallet: agentWallet,
  chain: 'base',
  maxBudget: 50_000000n // 50 USDC cap per session
});

// Agent makes a paid API call -- x402 handled transparently
const response = await client.fetch('https://api.example.com/data');
Enter fullscreen mode Exit fullscreen mode

The maxBudget parameter is enforced on-chain. Not by the SDK. Not by an API policy. By a smart contract that physically cannot be bypassed.

The Actual Comparison

agentwallet-sdk Coinbase Agentic Tempo MoonPay Agents
Chains 17 (16 EVM + Solana) Base only TBD Unclear
Custody Non-custodial Semi-custodial (TEE) Unknown Mixed
Spend limits On-chain (smart contract) API-enforced Unknown Not documented
Agent identity ERC-8004 + ERC-6551 None None None
Open source MIT Partial No No
Status Live Live Testnet Live, limited
x402 support Native (ClawPay MCP) Native Core feature "Compatible"

Why Chain Coverage Matters

x402 is chain-agnostic by design. An agent working on Solana should be able to pay for a service that settles on Base. An agent earning on Arbitrum should be able to pay a European supplier via AP2.

Single-chain x402 implementations are fine for demos. They break down the moment agents need to operate across the multi-chain reality of 2026.

Our UnifiedBridge gives agents a single interface across all 17 chains:

import { UnifiedBridge } from 'agentwallet-sdk';

const bridge = new UnifiedBridge({ evmSigner, solanaWallet });

// Solana -> Base (for Coinbase x402 endpoint)
await bridge.bridge({
  amount: 1_000_000n,
  sourceChain: 'solana',
  destinationChain: 'base',
  destinationAddress: '0x...'
});
Enter fullscreen mode Exit fullscreen mode

What's Coming

Tempo will matter when they go mainnet -- Stripe's distribution is real. Coinbase will expand beyond Base eventually. MoonPay needs to address the custodial fiat pipe problem to compete on the non-custodial claim.

The window where we're the only multi-chain non-custodial live implementation is measured in months. We're using it.

Code: npm i agentwallet-sdk | Docs: github.com/agentwallet-sdk

Top comments (0)