Skip to content

Buy credits

View Markdown

Nodus is prepaid. You buy credits, and paid work draws on them through a funded hold placed before it starts. You pay on a Stripe-hosted page, so Nodus never sees your card number. Every purchase is a TopUp object that you can list and follow until the credit is on your balance.

Open Usage & billing, choose Add credits, and pick $10, $20, $50, $100 or a custom amount. The console sends you to Stripe Checkout and brings you back to the billing page, which shows the top-up until it is paid.

Terminal window
nodus billing top-up 20

The CLI opens the payment page in your browser, waits until the payment is credited and prints your new balance.

Flag Does
--save-card Saves the card for auto-recharge
--no-open Prints the payment link instead of opening a browser, for a remote shell
--no-wait Returns as soon as the payment link exists

A top-up is an ordinary resource. Create it, then open its status.checkoutURL, which appears within about a second:

apiVersion: nodus.dev/v1
kind: TopUp
metadata:
name: october-credits
spec:
amountUSD: "50.00"
savePaymentMethod: false # true also saves the card for auto-recharge
Terminal window
nodus apply -f topup.yaml
nodus get topup october-credits -o yaml

The REST path is /apis/nodus.dev/v1/topups. By default Checkout returns to the console billing page; set spec.successURL and spec.cancelURL to return somewhere else on the console, or to an http://127.0.0.1 address for a local tool. A top-up cannot be edited or deleted; an unpaid one expires by itself.

Limit Value
Amount of one top-up $5.00 to $1,000.00, in whole cents
Top-ups per org per day $5,000 in total, per UTC day
Payment page Payable for 1 hour after it is created

An amount outside the range is refused with 422 Invalid before anything is charged.

Terminal window
nodus get topups -o wide
Phase Reason Meaning
Queued Nodus is creating the payment page
Running The payment page is open and waiting for you
Running PaymentPending You paid with a method that confirms later, such as a bank debit
Succeeded Paid and credited; status.creditedUSD is on your balance and status.receiptURL links the receipt
Failed Expired Nobody paid within the hour; nothing was charged
Failed PaymentFailed The payment did not complete; nothing was credited

A declined card does not fail the top-up: the payment page stays open so you can try another card. When a payment fails after you submit it, such as a bank debit that does not clear, Nodus emails your billing email.

Nodus credits each payment once, as soon as Stripe confirms it, which usually takes a few seconds. If a confirmation from Stripe is delayed or lost, Nodus asks Stripe about the payment itself within the hour and again in a nightly check, so a paid top-up is always credited, and never twice.

If your org owes arrears, the top-up pays them first and the rest goes to your balance. Work that stopped because money ran out resumes by itself; see When money runs out.

Stripe emails a receipt for every paid top-up to your billing email. See Receipts and invoices.

The Indra plan costs $20 a month. Each paid month adds a $20 credit that only Indra (nodus/indra) requests can spend, at list price. Indra requests use that credit before your other credits, and everything else draws on your regular balance. Unused plan credit expires when the month it belongs to ends; it does not carry over.

Start the plan by opening an Indra plan checkout session (type ComposerSubscription) and paying on the page it returns:

Terminal window
curl -X POST "https://api.nodus-compute.ai/apis/nodus.dev/v1/billingaccounts/default/sessions" \
-H "Authorization: Bearer $NODUS_TOKEN" -H "Idempotency-Key: $(uuidgen)" \
-d '{"type": "ComposerSubscription"}'

The response is {url, expirationTime}. An org can have one Indra plan; a second request while the plan is active is refused with 409 Conflict.

  • Renewal. Stripe charges the card each month and emails the invoice. A new month’s credit is added only once its invoice is paid; while a renewal payment is failing, Stripe retries it and Indra requests draw on your regular credits.
  • Cancel. Open the billing portal with nodus billing portal and cancel the plan there. It ends at the end of the paid month: that month’s credit stays usable until then, and nothing further is charged or added.