> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rampnow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox Testing

> Test payments, outcomes and testnet deliveries before going live

The sandbox runs the same API as production, but no real money or mainnet crypto moves. Use it to run every order outcome your integration must handle before you ask for production access.

## Hosts and keys

| | Sandbox |
| - | - |
| API base URL | `https://api.sandbox.rampnow.io` |
| Widget and checkout host | `https://app.sandbox.rampnow.io` |

Sandbox keys only work on sandbox hosts. See [Environments](/api-reference/authentication#environments).

## Testnets and test tokens

In sandbox, crypto is delivered on testnets. Testnet chains come back from the supported-config endpoints with `isTestnet: true`. Production only returns mainnet chains.

| Chain code | Assets |
| - | - |
| `sepolia` | `ETH`, `USDC`, `USDT` |
| `base-sepolia` | `ETH`, `USDC` |
| `solana-devnet` | `SOL`, `USDC` |
| `arbitrum-sepolia` | `USDC` |
| `optimism-sepolia` | `USDC` |
| `polygon-amoy` | `POL`, `USDC` |

Use these codes as `dstChain` (onramp) or `srcChain` (offramp). Your account may have only some of them enabled, so check the live list first: see [Supported config](/quickstart/ramp-intent/supported-config). Use a testnet wallet address you control.

## Simulated payments

In sandbox, payments go through a payment simulator instead of real card networks and banks. You turn simulation on and pick the outcome of each payment (accepted, declined or expired) from your Partner Dashboard.

<Card title="Payment Simulator" icon="sliders" href="/api-reference/payment-simulator">
  Enable simulation, settle card and bank transfer payments, and see what each outcome does to the order.
</Card>

## KYC

Sandbox has no self-serve way to force a KYC approval or decline yet. To test KYC outcomes, email [support@rampnow.io](mailto:support@rampnow.io).

## Suggested test run

<Steps>
  <Step title="Happy path">
    Create an onramp order to a testnet wallet, accept the payment in the [simulator](/api-reference/payment-simulator), and confirm you get `processing` and `completed` webhooks and a `dstFillAmount`.
  </Step>

  <Step title="Payment declined">
    Reject or fail the payment. Confirm you show the user an error and treat `payment_failed` as final.
  </Step>

  <Step title="Expired">
    Expire the payment, or leave the order unpaid for 15 minutes. Confirm you handle `expired`.
  </Step>

  <Step title="Webhooks and polling">
    Verify webhook signatures, and check that [Get Order](/api-reference/onramp-&-offramp-intent/get-an-order-by-external-id) returns the same status.
  </Step>
</Steps>

When every case passes, move on to the [Go-Live Checklist](/api-reference/go-live-checklist).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.