Flat-fee security audits for x402 integrations, gateway routes, and the contracts behind them. From $3k.
x402 lets agents pay per API call in stablecoins. The protocol just stabilized at v2 under the Linux Foundation, and the network already settles tens of millions of dollars. The flip side is that every new x402 service inherits the security surface of HTTP, on-chain settlement, agent identity, and signed-payment verification all at once. A single missing nonce check, a poorly handled facilitator response, or a mis-configured CAIP-2 network is the kind of bug that drains a wallet in production.
We audit x402 integrations with three tools we own. The HSS security lab models twelve attack archetypes against working exploits and patches. Our Solidity sniffer scans contracts against those archetypes plus the Slither rule set, mapping every finding to a remediation walkthrough. And we run a multi-tenant x402 gateway in production that has handled real money on XRPL Mainnet, so we know which classes of bug actually happen and which are theoretical.
Each tier is flat-fee with a written delivery date. No hourly creep. No surprise invoices.
Six areas mapped against the x402 v2 spec, our 12-archetype security lab, and what we have learned running BitBooth in production.
402 challenge construction, accepts array correctness, payment-header schema validation, expiry handling, replay protection via nonce store and idempotency keys.
Per-chain adapter correctness for Base, XRPL, Solana, Stellar. Confirmation depth, payTo validation, amount-base-unit handling, network mismatch detection, CAIP-2 parsing.
Reentrancy, access control, signature replay, oracle manipulation, share-inflation, delegatecall storage collision, unchecked external call, and the rest of the 12 archetypes from our security lab.
Agent wallet provisioning, hot wallet exposure, KMS or Secrets Manager handling, multi-sig requirements for high-value routes, key rotation runbook.
Per-tenant rate limiting, fraud event tracking, route-level configuration injection, multi-tenant data leakage, billing edge cases.
Webhook delivery DLQ, RPC failover, facilitator availability, observability gaps, incident response readiness, rollback paths.
Every tool we use is open source or our own. Public, auditable, no black boxes.
A sanitized example pulled from our security lab fixtures.
The enforceX402 handler validates the payment-header schema and the on-chain transaction reference, but does not check the nonce against a seen-nonces store before accepting it. An attacker can replay a previously confirmed payment to repeatedly access the same paid resource without sending new on-chain payments.
// Before
const verify = await adapter.verifyPayment({ txHash, expectedTo, ... })
if (verify.ok) return resource
// After
const seen = await nonceStore.has(payment.nonce)
if (seen) throw new ReplayError("nonce already used")
const verify = await adapter.verifyPayment(...)
if (verify.ok) {
await nonceStore.put(payment.nonce, ttl)
return resource
}
Recommended fix: Wire a TTL-bounded nonce store (DDB / Redis / Postgres) into the verify path. Reject any payment whose nonce has been seen within the payment-window seconds. Reference: hss-x402-core / src / middleware / withIdempotency.ts.