> For the complete documentation index, see [llms.txt](https://docs.inqud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inqud.com/sandbox.md).

# Sandbox

## Sandbox (Test Environment)

Inqud provides a **Sandbox** — a fully isolated test environment that mirrors production, so you can build and verify your integration without moving real funds. Everything you do in Sandbox (payments, payouts, webhooks, balances) is test-only and never touches the live platform.

Use Sandbox to:

* develop and debug your integration end-to-end before going live;
* test deposits, payouts and webhook delivery on real (test) blockchains;
* demo the product without financial risk.

{% hint style="info" %}
Sandbox is **completely separate** from production: separate URLs, separate accounts, separate API tokens, and separate balances. Production credentials do **not** work in Sandbox and vice versa.
{% endhint %}

{% hint style="info" %}
Request rate at sandbox env is limited: 10 RPM for POST requests, 300 RPM for GET requests. You can ask support to increase it.
{% endhint %}

### URLs

Every production URL has a Sandbox twin at the **same path** under the `*.sandbox.inqud.com` domain — just swap the host. For example:

<table><thead><tr><th width="190.5859375"></th><th width="255.63671875">Production</th><th>Sandbox</th></tr></thead><tbody><tr><td>API base URL</td><td><code>https://api.inqud.com</code></td><td><code>https://api.sandbox.inqud.com</code></td></tr><tr><td>Merchant dashboard</td><td><code>https://app.inqud.com</code></td><td><code>https://app.sandbox.inqud.com</code></td></tr></tbody></table>

The same rule applies to every other product surface (hosted payment page, on-ramp, recurring, etc.): take the production host and add the `sandbox` sub-domain.

Authentication works exactly like production — every request is signed with your **Sandbox** API token pair:

```
X-Token-API-Id:     {your-sandbox-token-id}     # starts with TKN-
X-Token-API-Secret: {your-sandbox-token-secret}
```

The request/response formats, webhook payloads and signature verification are identical to production — only the base URL and the credentials differ. This means your integration code can switch between environments by changing the base URL and the token pair, nothing else.

### Getting access

1. **Sign up for a Sandbox account.** Register at `https://app.sandbox.inqud.com`. Sandbox has **no KYB requirement** — you can start building right away.
2. **Generate Sandbox API tokens.** In the Sandbox dashboard, open the API tokens section and generate a token pair (`X-Token-API-Id` / `X-Token-API-Secret`). These are valid in Sandbox only.
3. **Point your integration at Sandbox.** Set the API base URL to `https://api.sandbox.inqud.com` and use your Sandbox tokens. Follow the same integration guide as production.

{% hint style="info" %}
The API reference includes a server selector — choose **`api.sandbox.inqud.com`** to try requests against Sandbox directly from the docs.
{% endhint %}

### Supported networks & currencies

Sandbox runs on public **EVM** testnets (no mainnet). Test funds have no real value and can be obtained for free from public faucets.

{% hint style="warning" %}
**Not every production currency or network is enabled in Sandbox.** Sandbox supports a subset of what's available in production. Always fetch the available payment methods (or a widget's deposit options) against the Sandbox API first — that list is the source of truth for what you can actually use.
{% endhint %}

#### Pay-ins (Deposits)

Deposits are available on the following EVM testnets:

| Network                 | Chain ID   | Native faucet (third-party)                        |
| ----------------------- | ---------- | -------------------------------------------------- |
| Ethereum Sepolia        | `11155111` | <https://sepoliafaucet.com>                        |
| BNB Smart Chain Testnet | `97`       | <https://testnet.bnbchain.org/faucet-smart>        |
| Polygon Amoy            | `80002`    | <https://faucet.polygon.technology>                |
| Arbitrum Sepolia        | `421614`   | <https://www.alchemy.com/faucets/arbitrum-sepolia> |
| Optimism Sepolia        | `11155420` | <https://app.optimism.io/faucet>                   |
| Base Sepolia            | `84532`    | <https://www.alchemy.com/faucets/base-sepolia>     |

{% hint style="warning" %}
Faucets are operated by third parties and their URLs/limits may change. You only need the **native coin** (e.g. Sepolia ETH, test BNB) to cover network gas.
{% endhint %}

{% hint style="success" %}
**Tip: pay from your Inqud balance instead of going on-chain.** When you have test USDT/USDC on your Sandbox balance, you can settle a Crypto Acquiring checkout directly from that balance — no faucet, no on-chain transaction, no waiting for confirmations. This is the fastest way to exercise the full pay-in → webhook → settlement flow end-to-end while testing.
{% endhint %}

#### Payouts (Withdrawals)

Payouts in Sandbox are available for **USDT** and **USDC** on the EVM testnets above. These are Inqud test tokens (no real value).\
Payout mock cards numbers:

* 5555555555554618 -> FAILED
* 5555555555554626 -> SUCCESS
* Other cards -> PENDING

#### Getting test USDT / USDC

The USDT and USDC used in Sandbox are Inqud-issued test tokens. To top up your Sandbox balance with test USDT/USDC, **request a credit from your Inqud account manager or via support** — we'll credit the test tokens to your Sandbox balance so you can run payouts. (Native testnet coins for gas come from the public faucets above; test USDT/USDC come from us.)

### Going live

When your integration works in Sandbox, switch to production:

1. Change the API base URL from `https://api.sandbox.inqud.com` to `https://api.inqud.com`.
2. Replace your Sandbox API tokens with **production** tokens generated in `https://app.inqud.com` (production requires a completed KYB).
3. Use real networks and currencies.

No other code changes are required — the API contract is identical.
