- Connect to Redis in the background with an error listener and the
offline queue disabled, so an unavailable store never blocks startup
or crashes the process; bound each claim with a 250 ms timeout.
- Include the asset in EVM claim keys (EIP-3009 nonces are per token).
- Cap the payment header at 16 KB before storing anything, and note that
the path needs the same rate limits as any unauthenticated write.
- State the TTL rule: longer than maxTimeoutSeconds plus the slowest
handler run.
- tests/ci/agent-payment-x402-seller-guard.test.js runs the guard block
from all three documents: concurrent copies, key equivalence (EVM
re-encoding, asset, Solana fee-payer slot), offline and hanging store,
oversized and missing headers.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>