Read the caller's credit balance, tier, and next reset
Returns the two balances the caller's credits live in — `allowance` (the tier's monthly grant, spent first, never rolled over) and `purchased` (bought with money, never expires) — along with the tier their 7-day time-weighted $PUTTY holding resolves to, the tier above it, and when the allowance next resets. While the $PUTTY contract address is the zero address every caller is on `free`, whatever their snapshots say: there is no token to hold, so there is nothing to gate a tier on. `subsidyScalePercent` is below 100 when the global holder-subsidy cap is binding, which is why a holder's grant can be smaller than their tier's nominal allowance.
Returns the two balances the caller's credits live in — allowance (the tier's monthly grant, spent first, never rolled over) and purchased (bought with money, never expires) — along with the tier their 7-day time-weighted $PUTTY holding resolves to, the tier above it, and when the allowance next resets.
While the $PUTTY contract address is the zero address every caller is on free, whatever their snapshots say: there is no token to hold, so there is nothing to gate a tier on. subsidyScalePercent is below 100 when the global holder-subsidy cap is binding, which is why a holder's grant can be smaller than their tier's nominal allowance.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/billing/account"{ "account": { "allowance": 0, "purchased": 0, "total": 0, "tier": { "slug": "string", "name": "string", "minHoldingUsd": "string", "monthlyCredits": 0, "sandboxes": 1, "priorityQueue": true, "launchKitsPerMonth": 0 }, "nextTier": { "slug": "string", "name": "string", "minHoldingUsd": "string", "monthlyCredits": 0, "sandboxes": 1, "priorityQueue": true, "launchKitsPerMonth": 0 }, "holdingUsd7d": "string", "daysUntilReset": 0, "nextReset": "2019-08-24T14:15:22Z", "subsidyScalePercent": 0 }}Download an attachment's bytes GET
Returns the raw bytes of an attachment that belongs to a message on a thread the caller owns. The Content-Type is the MIME type the client uploaded. The endpoint 404s when the thread, message, or attachment is not found for the caller, so the id cannot be used to fetch another user's file.
Page the caller's credit movements GET
The append-only ledger of every credit movement on the caller's account, newest first: grants, purchases, and spends. A balance is always the sum of these rows, so this page can explain any balance without trusting a stored counter. A `delta` of 0 is a real row and means a free action — a security review sub-run, a price or chain read — that was still worth recording, so the history shows what the user did rather than only what they paid for.