AxonGate Paid Test
Run a real Base USDC x402 smoke test against production, with a bounded spend confirmation and replay check.
This spends real USDC. The cached tier currently authorizes 0.015 USDC. Use a burner wallet and keep the explicit --confirm-spend value in the command.
Command
npm install npm run paid:buyer -- \ --wallet-file "C:/path/to/buyer_wallet.json" \ --target-url "https://www.iana.org/domains/reserved" \ --tier cached \ --confirm-spend 0.015 \ --source manual-smoke \ --replay
Environment Variant
set AXONGATE_WALLET_FILE=C:\path\to\buyer_wallet.json set AXONGATE_TARGET_URL=https://www.iana.org/domains/reserved set AXONGATE_TIER=cached set AXONGATE_CONFIRM_SPEND=0.015 set AXONGATE_SOURCE=manual-smoke npm run paid:buyer -- --replay
Expected Result
PAID
{
"http_status": 200,
"status": "success",
"tier": "cached",
"cache": {"hit": true},
"payment": {
"amount_usdc": 0.015,
"source": "manual-smoke"
},
"ueg_receipt": {
"supplier_attempts": 0,
"projected_profit_usdc": 0.0138625
}
}
REPLAY
{
"http_status": 402,
"detail": "Payment proof has already been processed..."
}
What To Check
| Signal | Expected |
|---|---|
| Challenge amount | 15000 for cached tier |
| Paid response | 200, markdown present, payment response transaction present |
| Cache behavior | cache.hit=true and supplier_attempts=0 for this seeded target |
| Replay behavior | Second submission returns 402 |
| Attribution | /metrics shows the selected source under paid, accepted, delivered, and replay rejection stages |