After you pay¶
By card (Stripe)¶
- Your key is shown once, on the page Stripe sends you back to. Copy it then: we store only a
hash of it and can't show it again. Send it as the
X-Api-Keyheader. - Your account is at
https://account.halfpoint.tech/login: we mail you a link that logs you in once, within 15 minutes. There you see your plans and keys, rotate a key (a new one is shown once, the old one stops at once, and we mail you that it happened) and open the billing portal for your card, invoices and cancellation. - If you checked out with the email of an account you already have without logging in, the plan goes to that account and no key is shown: log in with that email to see it. Checkouts made without logging in by someone using your email show on your account page too, each with its own billing and keys; rotate a key you didn't make.
When access ends:
| access ends | |
|---|---|
| you cancel | at the end of the period paid (a trial: at its end, without a payment) |
| a renewal payment fails | 3 days after the period paid, unless a retry succeeds; the first payment after a trial: at once |
| the latest payment is refunded in full, or a payment is disputed | at once (the subscription is canceled) |
With x402 (USDC)¶
- A pass's key is in the answer, shown once (
key). Send it asX-Api-Key, also when you buy the next pass, so the pass extends that key. -
A pass bought without a key belongs to the paying address: there is no email to log in with. To replace a lost key, sign with the paying wallet (EIP-191
personal_sign) the textHalfPoint: replace the API keys of <address>, issued <time>, where<time>is the current time in RFC 3339 (2026-11-02T17:00:00Z), and send it within 10 minutes (a clock up to 2 minutes ahead is fine):POST https://account.halfpoint.tech/x402/key {"address": "<address, as in the text>", "issued": "<time>", "signature": "0x..."}Every key of the address is revoked and a new one returned once. A signature works once. Wallets that sign with their own key only (not smart-contract wallets). 3. Access ends when the pass's period does. A request paid per request has no key and no account.