Keys are issued by the server and stored only as a SHA-256 digest. A free key is shown exactly once and is not recoverable. A paid key can be rotated by proving control of its subscriber wallet; the previous secret is then revoked. This page never generates a key in your browser.
The free plan is verified by wallet signature and allocated once per wallet. Signing is free and does not create a transaction.
/v1/subscribe/free/challenge.
Paste a key to read its metadata from /v1/keys/self. The key is sent in the
x-api-key header only. It is stored in this browser's local storage so the
inspector and sandbox pages can use it, and is never placed in a URL.
Connect the wallet that purchased the paid plan, sign a free recovery challenge, and receive a replacement key. The old key is revoked atomically. Free keys are deliberately not recoverable. For a key purchased before wallet recovery was introduced, include its original payment hash.
Paid plans settle in USDC (or native ETH against a quote frozen when the intent is created) on Base. The checkout page walks the intent → sign → pay → claim flow and returns the key automatically once the transaction has three confirmations.