# Top-up Account

> Fund a mainnet account via PayPal, Venmo, Apple Pay, or any Solana mobile wallet.

`pay topup` opens an interactive TUI with two funding paths. Pick the one that matches what you have to hand — a card, or a phone with a Solana wallet already on it.

```sh
pay topup
```

Sandbox calls don't need this — `--sandbox` generates and funds an ephemeral wallet on first use. Run `pay topup --sandbox` only if you want a funded **localnet** account that persists across runs.

## Buy stablecoins (onramp)

Use a card. The gateway opens a browser tab that hands off to MoonPay; pick PayPal, Venmo, or Apple Pay; funds land in your `pay` account within a minute.

![pay topup — Buy stablecoins screen showing PayPal, Venmo, Apple Pay options](/docs-assets/images/topup-onramp.png)

| Step | What happens                                                                                                |
| ---- | ----------------------------------------------------------------------------------------------------------- |
| 1    | Highlight **Buy stablecoins** with `↑ ↓`.                                                                   |
| 2    | Pick a payment method with `← →` (PayPal, Venmo, or Apple Pay).                                             |
| 3    | Press `Enter`. `pay` opens `https://api.gateway-402.com/onramp` in your browser.                            |
| 4    | Complete the purchase. The gateway converts the dollars to USDC on Solana, addressed to your `pay` account. |
| 5    | The TUI polls every second; when the balance increases, it prints `Account funded` and exits.               |

Set `PAY_ONRAMP_HOST` if you've been issued a custom gateway origin. See [Global flags → Environment variables](/docs/toolchain/global-flags#environment-variables) for the full list.

## Top-up from a mobile wallet

Use a phone with a Solana wallet. `pay` renders a Solana Pay QR; you scan it from the wallet's camera, approve the transfer, done.

![pay topup — mobile wallet QR with amount slider showing $3 USDC](/docs-assets/images/topup-mobile-wallet.png)

| Step | What happens                                                                                                                                |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| 1    | Highlight **Top-up from Mobile wallet**.                                                                                                    |
| 2    | Adjust the amount with `← →` (any, $5, $10, $25 markers; the slider's lower bound is "any" — your wallet picks the amount at confirmation). |
| 3    | Open one of the wallets below on your phone, hit **Scan**, point at the QR.                                                                 |
| 4    | Approve the transfer in the wallet. `pay` detects the balance change within a second and exits.                                             |

The QR encodes a [Solana Pay](https://solanapay.com) URL: `solana:<pubkey>?amount=<n>&spl-token=<USDC mint>`. Any wallet that supports the Solana Pay scheme can pay it.

### Supported Solana wallets (A–Z)

| Wallet   | iOS | Android | Site                                     |
| -------- | --- | ------- | ---------------------------------------- |
| Backpack | yes | yes     | [backpack.app](https://backpack.app)     |
| Fuse     | yes | yes     | [fusewallet.com](https://fusewallet.com) |
| Phantom  | yes | yes     | [phantom.com](https://phantom.com)       |
| Solflare | yes | yes     | [solflare.com](https://solflare.com)     |

Other Solana Pay–compatible wallets work too; this list covers the ones tested with `pay topup`.

## Timing

After 5 seconds of polling, the TUI starts asking pay-api for the balance every second. If nothing arrives within 5 minutes, polling halts and the TUI shows `▲ idle 5m — press R to refresh` in the top-right. Press `R` to restart the cycle, or `Esc` to exit.

## What happens after funding

`pay` prints an `Account funded` notice with the amount received and a clickable transaction link (Solana Explorer) when one is available. The wallet's secret remains in your OS secure store — see [Manage Accounts → Inspect the macOS Keychain entry](/docs/using-pay/manage-accounts#inspect-the-macos-keychain-entry-directly) for what's on disk and how to read it back.

```sh
pay whoami
```

`whoami` shows the active mainnet account and its stablecoin balances after the top-up settles.
