Private x402
Payment Rail
Standard x402 payments are public. The Private Rail changes that. On-chain observers see only a hash commitment and a one-time address. No payer. No payee. No amount.
Standard x402
- Payer wallet visible on-chain
- Payee wallet visible on-chain
- Amount visible on-chain
- Usage patterns analyzable
Private Rail
- Only a hash commitment on-chain
- One-time stealth address per session
- Amount encrypted, never exposed
- Sessions fully unlinked
How it works
Create a private session
POST payer, payee, and amount to /private/commit. Receive a commitment hash and one-time stealth address for this session only.
Send USDC to the stealth address
Pay the stealth address on Base L2. On-chain observers see a USDC transfer to an unlinkable address. Nothing else.
Confirm and settle
POST your session_id to /private/pay. We verify funds received, decrypt payee internally, and settle. No on-chain link between payer and payee.
Dispute resolution
Either party can call /private/reveal with a wallet signature to prove participation. Details only revealed to parties involved.
API Reference
POST https://x402-agent-pay.com/private/commit
{
"payer": "0xYourWallet",
"payee": "0xAgentWallet",
"amount_usdc": 0.22
}
Response:
{
"session_id": "prv_d168458ef8f868e1c9dbd2f4",
"commitment": "0x5292...772c",
"stealth_address": "0x6941...520ca",
"expires_in": "300s"
}
POST https://x402-agent-pay.com/private/pay
{ "session_id": "prv_...", "tx_hash": "0x..." }
GET https://x402-agent-pay.com/private/session/{id}
POST https://x402-agent-pay.com/private/reveal
GET https://x402-agent-pay.com/private/info
Privacy level
Follows Fhenix Privacy Stages. AgentPay Private Rail is Stage 1 — standard x402 is Stage 0. Upgrade path to Stage 2 (FHE) planned when Fhenix402 reaches mainnet.
Get API Key → Facilitator Docs