Skip to main content
As a marketplace, GPU Outlet has two money flows: buyers spend from a prepaid wallet, and sellers earn as their machines are rented. Both run through the same append-only ledger. The buyer side is covered first; seller earnings & payouts are at the bottom. GPU Outlet uses a prepaid wallet for the common path and invoices for the cases where the wallet alone can’t recover by itself. You deposit credit, instances draw it down per-second. If a card declines or metered usage overshoots your balance, an invoice is automatically issued — pay it via a Stripe-hosted link, the wallet is credited (or the debt cleared), and you’re back online.

The wallet

Every account has one wallet with three numbers:
  • Available — what you can spend right now
  • Reserved — held against currently-running instances (locks against underflow)
  • Total — available + reserved
The balance pill in the top-right of the dashboard shows Available. When it drops below $5, the pill turns yellow. When it reaches $0, all running instances stop within ~5 seconds.

Invoices

Invoices represent money owed for cases beyond simple top-ups:

topup_failed

Auto-topup tried to charge the saved card, Stripe declined. The invoice is for the exact amount the auto-topup would have added. Paying it credits the wallet.

overage

Metered usage settled higher than the wallet held — the truncated difference becomes owed. Paying it clears the debt; the wallet is NOT credited (the meter already charged what it could).

refund_shortfall

A refund was sent back to your card for more than your wallet held — the remainder becomes owed. Paying it clears the debt.

manual

Ops-issued (enterprise contract, wire transfer settlement). Behavior matches the reason in each case.
Each invoice is mirrored to a real Stripe Invoice. Stripe hosts:
  • A pay page (any card, no login) — hostedInvoiceUrl
  • A PDFinvoicePdfUrl
  • A receipt after payment — receiptUrl
  • Email reminders (Stripe’s automatic dunning — 3 days before due, 1 day after, ~weekly thereafter)
We store the URLs; we don’t host any of these surfaces ourselves.

Paying an invoice

Two ways to settle any open invoice, both from the dashboard billing page:
  • By card — the Pay ↗ button opens the Stripe-hosted pay page (any card, no login).
  • From your balance — if you have enough available credit, Pay from balance settles the invoice in one click straight from your wallet, no card needed. Handy when you’ve just topped up and want to clear an invoice immediately.
Have an open invoice? Settle it before launching a new instance — the Create screen links you straight to it.

Invoice statuses

What triggers an invoice

Any metered usage that settles above your wallet balance becomes an overage invoice for the difference.

Topping up the wallet

Three paths, unchanged from before invoices shipped:
  1. One-off — Stripe Checkout, any amount, deposits immediately on webhook confirmation.
  2. Saved card + Add credit — once your card is on file, top-ups skip the Checkout redirect.
  3. Auto-topup — set a threshold (when wallet < $X) and an amount (add $Y). We charge the saved card automatically. If that charge fails, an open invoice is created automatically (see above).
First-deposit bonus — top up $5 or more on your first deposit and we add an extra $5 to your balance, automatically. One bonus per account; it appears as a Promo bonus line in your billing history.
See Topping up for the dashboard walkthrough.

The ledger

Every wallet movement is an immutable entry, visible in the dashboard’s billing history — deposits, holds, charges, releases, refunds, promo bonuses, invoice payments and adjustments. Negative amounts are debits; the ledger is append-only, so even invoice payments add new entries rather than amending old ones.

Refunds

Credit back to your wallet — we do this automatically when something on our side went wrong, so you’re never billed for it:
  1. Failed provisioning — pod never went Running → full credit to wallet
  2. Crash within 60s — pod went Running then died → full credit to wallet
Money back to your card — if you ask for a refund (help@gpuoutlet.ai) and we send it to your card, that amount is removed from your wallet balance and recorded in your billing history, so your balance always matches what’s actually yours. If you’d already spent some of those funds, the remainder becomes an invoice you can settle (by card or from your balance). Want your unused balance wired out? Email business@gpuoutlet.ai — we’ll send the remaining balance (minus Stripe’s processing fee).

Seller earnings & payouts

If you list a machine, the money flows the other way. As a buyer rents your machine, you earn for every second it runs, minus a flat platform fee. Earnings post to your seller ledger the same way wallet movements do — as immutable entries. The Sell dashboard (gpuoutlet.ai/app/supplier) shows three numbers at the top:
  • Pending — earned, still within a short clearing hold
  • Cleared — past the hold, withdrawable to your payout method
  • Lifetime — everything you’ve ever earned
Earnings clear after a short hold (it covers refunds and disputes on the buyer’s side), then become withdrawable. Connect a payout method in the Sell dashboard to receive them.

What’s NOT here

  • Monthly post-paid plans — on the roadmap. For now everyone is prepaid + invoiced. Email business@gpuoutlet.ai if you need monthly invoicing for a high-volume account.
  • Multi-currency — USD only.
  • Subscriptions — we don’t sell those. Invoices are one-off, never recurring.

Privacy

We don’t store card numbers — Stripe holds them. We keep:
  • A Stripe customer_id (cus_…)
  • A Stripe payment_method_id (pm_…) — last 4 digits + brand for display
  • Every ledger entry indefinitely (required for tax/audit)
  • Every invoice indefinitely (same)
See Privacy Policy for the full scope.