[switch to human view]
# Stress tests: duplicate and timeout settlement on x402 sellers
In two deliberate tests on 10 sellers each, 5 of 10 settled the same purchase intent twice when it was sent twice back to back (rate 0.5, 95% interval 0.2365930890114794 to 0.7634069109885206), and after an aborted paid call 5 of 10 settled anyway while a naive retry produced a second settlement at 5 of 10.
## Headline
verdict: stress
duplicate_intents: 10
duplicate_intents_with_second_settlement: 5
duplicate_rate: 0.5
duplicate_wilson_low: 0.2365930890114794
duplicate_wilson_high: 0.7634069109885206
timeout_intents: 10
timeout_settled_despite_abort: 5
timeout_intents_with_retry: 10
timeout_second_settlement_on_retry: 5
generated_at: 2026-10-29T08:13:33.137Z
## Duplicate: one intent, two back-to-back paid calls
| resource | intent | calls | settlements | double-settled | spent |
|---|---|---|---|---|---|
| https://api.bitrefill.com/x402/checkout/info | d717441a | 2 | 2 | yes | $0.002000 |
| https://api.vapinetwork.ai/shim/o1/tokens | 557218a5 | 2 | 0 | no | $0.004000 |
| https://api.surplusintelligence.ai/v1/chat/completions | e788793a | 2 | 0 | no | $0.000000 |
| https://api.slamai.dev/chain/tokens/trending | 3ca5dbaa | 2 | 2 | yes | $0.002000 |
| https://laso.finance/auth | 6f2944d6 | 2 | 2 | yes | $0.002000 |
| https://www.ax1.vc/api/dashboard/q-verdict/resource | e33d5379 | 2 | 0 | no | $0.040000 |
| https://www.api-xpay.com/x402/quote | f2e0026c | 2 | 2 | yes | $0.010000 |
| https://x402.clashofcoins.com/x402/cheap-health | 73896b42 | 2 | 2 | yes | $0.002000 |
| https://api.nansen.ai/api/v1/profiler/address/current-balance | d26a8b15 | 2 | 0 | no | $0.020000 |
| https://api.locus.report/api/locus-parcel-lookup | 508f3511 | 2 | 0 | no | $0.020000 |
## Timeout: abort after payment, then a naive retry
| resource | intent | call 1 aborted | settled despite abort | second settlement on retry | settlements | spent |
|---|---|---|---|---|---|---|
| https://api.bitrefill.com/x402/checkout/info | 534b1425 | no | no | yes | 2 | $0.002000 |
| https://api.vapinetwork.ai/shim/o1/tokens | b4345dfd | no | no | no | 0 | $0.004000 |
| https://api.surplusintelligence.ai/v1/chat/completions | 085ae8ad | no | no | no | 0 | $0.000000 |
| https://api.slamai.dev/chain/tokens/trending | 52a8bcd4 | yes | yes | yes | 2 | $0.002000 |
| https://laso.finance/auth | ae7860bd | no | no | yes | 2 | $0.002000 |
| https://www.ax1.vc/api/dashboard/q-verdict/resource | 5693407e | no | no | no | 0 | $0.040000 |
| https://www.api-xpay.com/x402/quote | 058583df | yes | yes | yes | 2 | $0.010000 |
| https://x402.clashofcoins.com/x402/cheap-health | deb8f6de | no | no | yes | 2 | $0.002000 |
| https://api.nansen.ai/api/v1/profiler/address/current-balance | ef90f48b | no | no | no | 0 | $0.020000 |
| https://api.locus.report/api/locus-parcel-lookup | 1de75784 | yes | no | no | 0 | $0.020000 |
## Totals
| metric | value |
|---|---|
| intents (duplicate test) | 10 |
| double-settled intents | 5 |
| intents (timeout test) | 10 |
| settled despite abort | 2 |
| second settlement on retry | 5 |
| total stress spend | $0.204000 |
Stress rows are never mixed into the headline failure rate.
## How to use this
- This page as JSON: GET https://paidfor.dev/stress.md
- Check any URL: GET https://paidfor.dev/v1/check?url=api.example.com
- MCP tool: check_x402_seller({ url: "api.example.com" })
- MCP install, any client: https://paidfor.dev/install.md (stdio: npx @paidfor/mcp)
- MCP over Streamable HTTP: https://mcp.paidfor.dev/mcp
- There are no API keys and no rate limit for now.
Source: https://raw.githubusercontent.com/sarmadahsan/paidfor-data/main/stress.json (generated_at 2026-10-29T08:13:33.137Z)
Human view: https://paidfor.dev/view?set=human&to=/stress (sets a one-year cookie; or append ?view=human to any page)