# Adding credit

Your balance pays for GPU rentals by the minute and for inference by the request. You can add to it by card or in crypto, on the [Billing](https://www.green-compute.com/billing) page or over the API.

## By card

On the Billing page, choose **Card** and pay through Stripe. The credit lands within seconds. Over the API, `POST /platform/billing/topup/stripe` with `{"amount_usd": 20}` returns a `checkout_url` that a person opens to pay.

## In crypto

| Currency | What to send | Bonus |
|---|---|---|
| USDC, USDT on Base | The token on Base | none |
| USDC, USDT on Ethereum | The token on Ethereum | none |
| TAO | A plain transfer on Bittensor | none |
| Alpha | Subnet 110 alpha, moved with `btcli stake transfer` | 10% extra credit |

ETH itself and other tokens aren't accepted. Tokens sent on the wrong network are lost, so check the network before you send.

Everyone pays to the same deposit address, so we need to know which payment is yours. There are two ways.

### With an invoice: send the exact amount

1. On the Billing page, pick the amount in US dollars and the currency, then generate an invoice. It shows an exact amount, such as **20.003817 USDC**, and the address to send it to.
2. Send **exactly that amount, in one transfer**, within 30 minutes. The last digits identify your invoice; they add less than a cent.
3. Your balance updates automatically a few minutes after the transfer confirms.

> **Send the exact amount, in one transfer.** For TAO, use a normal transfer, not `transfer_all`: it takes the network fee out of what you send, so the payment always arrives short. Paying up to 5% more is matched, and you're credited for everything that arrived. A payment of the exact amount that arrives after the invoice expired is still matched for 24 hours, at the price when it arrives. A smaller amount or a payment split into several transfers can't be matched to you automatically and has to be reviewed by hand: see [If a payment isn't credited](#if-a-payment-isnt-credited).

An account can have five unpaid invoices open at a time. Over the API, `POST /platform/billing/topup/crypto` creates an invoice; send its `amount_to_send` exactly, as written (see [For AI agents](https://www.green-compute.com/docs/agents#option-b-an-invoice-for-an-exact-amount)).

### From a verified wallet: any amount, no invoice

Verify the wallet you pay from once, by signing a short message with it: on the Billing page under **Verified wallets**, or over the API (see [For AI agents](https://www.green-compute.com/docs/agents#option-a-verify-your-wallet-once-then-just-pay)). After that, anything the wallet sends to our deposit addresses is credited to you automatically, at the current price, whatever the amount and with or without an invoice. Verifying also credits payments it already sent in the last 30 days that weren't credited to anyone.

This works for Bittensor coldkeys (TAO and alpha) and for Ethereum and Base accounts (USDC and USDT). You can sign with `btcli`, the Polkadot.js, Talisman or SubWallet extensions, MetaMask or any wallet that can sign a message. A wallet can be verified by one account only. Exchange accounts and smart-contract wallets can't sign messages, so pay from those with an invoice.

## If a payment isn't credited

If your balance hasn't updated 30 minutes after the transfer confirmed:

1. **If you paid from your own wallet, verify that wallet** (above). Its uncredited payments from the last 30 days are credited straight away.
2. **Otherwise, request a review.** On the Billing page, find the invoice under **Crypto Invoices** and choose **Request review**, then give the transaction hash and anything that helps, such as "sent 20.5 USDC from Binance". This works for pending and expired invoices. Support checks the transaction on-chain and credits what arrived.

Over the API, request a review with:

```bash
curl -s -X POST https://api.green-compute.com/platform/billing/crypto/<invoice_id>/review \
  -H "Authorization: Bearer $GC_KEY" -H "Content-Type: application/json" \
  -d '{"tx_hash": "<transaction hash>", "note": "sent 20.5 USDC from Binance"}'
```

To find the transaction hash: for TAO and alpha, search the coldkey you sent from on taostats.io, or look in btcli. For USDC and USDT, look in your wallet's activity, or search your address on basescan.org or etherscan.io.

## Checking your balance and payments

| Endpoint | What it returns |
|---|---|
| `GET /platform/billing/balance` | Your balance. |
| `GET /platform/billing/ledger` | Every top-up and charge, newest first. |
| `GET /platform/billing/crypto/invoices` | Your invoices, each with its `status` and, if you asked for one, `review_status`. |
| `GET /platform/billing/crypto/deposits` | Your credited on-chain payments. |
| `GET /platform/billing/wallets` | Your verified wallets. |
