Adding credits
Superheat is prepaid. Credits buy GPU time and storage, they belong to an organization rather than to a person, and you cannot deploy or start an instance unless the balance covers one hour of it — its GPU rate plus the storage on its disk — on top of an hour of everything else the organization runs.
Add credits
- Open Billing in the console at cloud.superheat.xyz.
- Select Add credits.
- Pick a pack, or enter a custom amount.
- Select Continue to payment. You are handed off to Stripe's hosted checkout page.
- Pay. You are returned to the console, which confirms the top-up once the payment settles.
| Option | Amount |
|---|---|
| Packs | $10, $25, $100 |
| Custom | any amount from $5 to $1,000 |
Credits do not expire. There is no subscription, no invoicing, and no post-payment: the balance you have is the balance you can spend.
After you pay
Stripe confirms the payment, and the credit is applied to your organization's balance from the confirmation itself — never from anything the browser sends. This usually takes a few seconds, during which the console shows Confirming payment.
| What you see | What it means |
|---|---|
| Credits added | The balance is topped up and ready to spend |
| Still processing | The payment went through and the credit is running late; the balance updates on its own |
| Payment didn't complete | The checkout session expired and no charge was made |
| Checkout cancelled | You backed out on Stripe's page; no charge was made |
If the page says the credit is still processing, the payment already succeeded. Wait for the balance to update rather than starting a second checkout.
Who can add credits
Adding credits is an admin action within an organization.
| Action | Admin | Member |
|---|---|---|
| See the credit balance | yes | yes |
| See transactions and the spend chart | yes | yes |
| Deploy instances and spend credits | yes | yes |
| Add credits and manage payment details | yes | no |
A member opening the Billing page sees the balance, the spend chart and the full transaction history, but the Add credits button is replaced by a note explaining that only organization admins can add credits or manage payment details. Members who need a top-up have to ask an admin.
On your personal organization you are always the admin, so this only comes into play once you join someone else's organization. See Roles and permissions.
Balances are per organization
Each organization has its own balance and its own ledger. Switching organizations in the console switches which balance you are looking at and which one your next deploy will draw from. Credits cannot be moved between organizations.
Running out
A balance that cannot cover one hour of the organization's burn blocks new work before it starts. Deploying an instance, or starting one again once it is stopped, needs one hour of everything the organization would then run — that instance's GPU and disk, the GPU and disk of every other instance running, starting or being created, and the disk of every stopped one. Short of that it fails with an INSUFFICIENT_BALANCE error until you top up. Being above zero is not enough. The error carries balance_micro and required_micro, so you can see how far short you are. Instances that are already running are handled by the automatic thresholds described in Auto-stop and auto-destroy.
From the API
curl -X POST "$SUPERHEAT_API/v1/billing/checkout-session" \
-H "Authorization: Bearer $SUPERHEAT_TOKEN" \
-H "X-Org-Id: $ORG_ID" \
-H "Content-Type: application/json" \
-d '{"pack": "25"}'
pack is a pack's whole-dollar amount as GET /v1/billing/config lists it ("10", "25", "100") or "custom". With "custom", also send custom_amount_cents — an integer number of cents between 500 and 100000. The response carries a checkout_url; open it in a browser to complete payment.
curl "$SUPERHEAT_API/v1/billing/checkout-session/$SESSION_ID" \
-H "Authorization: Bearer $SUPERHEAT_TOKEN" \
-H "X-Org-Id: $ORG_ID"
That returns a status of pending, credited or failed, which is what the console's confirmation page polls.
An shk_ organization API key acts as a member, so it is rejected on checkout like every other admin action. Creating a checkout session requires a signed-in admin session. See API keys.