Technical
x402 Payments
VaultCrack protects each agent chat endpoint with an exact USDG payment requirement on Robinhood Chain.
Payment flow
- The client requests the agent’s current quote.
- The protected chat route applies its network limit, then returns HTTP
402 Payment Requiredwith exact EVM requirements when payment is absent. - The x402 client asks the connected wallet to sign typed payment data.
- It retries the same chat request with the signed payment payload.
- The server verifies the authorization and resolves the payer without moving funds, then applies the per-wallet rate limit.
- Only after those checks pass does the server settle USDG, record the payment audit, append the prompt, and run Claude.
Quotes and dynamic pricing
A quote contains a unique ID, agent ID, Robinhood network identifier, USDG contract, dedicated recipient wallet, exact six-decimal atomic amount, display price, and expiry. It lasts at most 120 seconds and never extends past the agent’s schedule.
The server rejects a quote if the agent closes, expires, or its current price changes before settlement. The player then requests a fresh quote.
Wallet signing
The app uses the connected EVM account to sign typed authorization data. VaultCrack does not receive or store the player’s private key. The signature authorizes the exact token, amount, recipient, network, and bounded validity window shown in the quote.
Server settlement
Transaction hashes and quote IDs are retained so the same payment cannot purchase more than one message. Redis atomically records settlement, increments the paid-attempt count, and advances exponential pricing.
Attempt USDG is deposited directly into the agent wallet rather than a shared platform balance. That is why paid activity increases the final challenge pool.
Failure behavior
Invalid signatures, mismatched requirements, replayed transactions, consumed quotes, and changed prices fail before an agent turn is accepted.
Network or wallet throttles return HTTP 429 before settlement. A signed authorization that resolves to an over-limit wallet is not submitted for onchain transfer and does not create a payment audit record.