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

# Sandbox Environment

> Test and develop against the Yativo Crypto sandbox — pre-populated with test data and a public API key you can use immediately

## Overview

The Yativo Crypto Sandbox is an isolated testing environment that mirrors the production API. All wallets and transactions in sandbox run on **testnets only** — no real funds are ever involved.

<CardGroup cols={2}>
  <Card title="Sandbox URL" icon="flask">
    `https://crypto-sandbox.yativo.com/api/v1/`
  </Card>

  <Card title="Production URL" icon="rocket">
    `https://crypto-api.yativo.com/api/v1/`
  </Card>
</CardGroup>

***

## Quick Start — Use the Shared Sandbox Account

To get started immediately without registering, use the **shared sandbox API key** below. It's public and pre-populated with accounts, wallets, customers, and a webhook so you can explore every endpoint right away.

<Warning>
  This is a **shared public account** for exploration only. Do not store sensitive data here. For real integration testing, [create your own sandbox account](#create-your-own-sandbox-account) with a private API key.
</Warning>

### Step 1 — Generate a Bearer Token

For quick documentation testing, use the **long-lived docs token** (valid 1 year):

```bash theme={null}
curl -X GET 'https://crypto-sandbox.yativo.com/api/v1/sandbox/docs-token'
```

This returns a bearer token you can use immediately in the API playground above — no API key or secret needed.

<Accordion title="Alternative — Generate a standard 60-minute token">
  ```bash theme={null}
  curl -X POST 'https://crypto-sandbox.yativo.com/api/v1/auth/token' \
    -H 'Content-Type: application/json' \
    -d '{
      "api_key": "yativo_e072b3ef7e30fcb420183aa86ddd8452abd28a9ac8f5d04d",
      "api_secret": "df8da4d6b855c7e89bd3b4216dd0a1f4b30de1963c9bff0dcd666b15a0f836a5"
    }'
  ```
</Accordion>

You'll get back an `access_token`. The docs token is valid for 1 year; the standard token lasts 60 minutes (call `/auth/token` again to refresh).

### Step 2 — Start calling the API

```bash theme={null}
curl -X GET 'https://crypto-sandbox.yativo.com/api/v1/accounts/get-accounts' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```

The shared sandbox account is pre-populated with:

| Resource | Details |
| - | - |
| Accounts | 1 account — "Sandbox Main" |
| Assets | USDC (SOL testnet) at address `GY1EZGdpiJNyx2BSKq8rfTDRe5K8Bb6Cf2Bn1pdmE2o1` |
| Customers | 2 customers — [alice@example.com](mailto:alice@example.com), [bob@example.com](mailto:bob@example.com) |
| Webhooks | 1 active webhook |
| Agentic Wallets | 1 test wallet with connector |
| Payment Gateway | Simulated checkout available |

<Tip>
  The shared sandbox credentials above can also be used in the **API playground** on every API reference page in these docs. The docs default to the sandbox base URL — just paste your Bearer token and try any endpoint.
</Tip>

***

## Create Your Own Sandbox Account

For private integration testing with dedicated credentials:

1. Register at [crypto.yativo.com/sign-up](https://crypto.yativo.com/sign-up)
2. Log in and go to **Developer → API Keys**
3. Create an API key — it works against both sandbox and production (just change the base URL)
4. Use `POST /auth/token` with your credentials against `https://crypto-sandbox.yativo.com/api/v1/`

***

## Sandbox vs Production

| Feature | Sandbox | Production |
| - | - | - |
| Base URL | `https://crypto-sandbox.yativo.com/api/v1/` | `https://crypto-api.yativo.com/api/v1/` |
| API Keys | Same keys work on both | Same |
| Wallets | Testnet only — no real value | Mainnet, real funds |
| Blockchains | Testnets (Solana Devnet, Sepolia, etc.) | Mainnets |
| Swap rates | Simulated | Live market rates |
| Card program | Test-mode card provider with simulated transactions | Live card issuer |
| Payment Gateway | Simulated payments via sandbox endpoint | Live on-chain payments |
| Agentic Wallets | Testnet wallets with simulated transactions | Real wallets, real funds |
| Data | Isolated from production | Live data |

<Note>
  All crypto wallets created in sandbox are on **testnet chains**. Addresses generated will never hold real funds. Testnet tokens can be obtained from each chain's faucet.
</Note>

***

## Supported Testnet Chains

| Network | Testnet Used |
| - | - |
| Solana | Devnet |
| Ethereum / Base | Sepolia |
| Gnosis | Chiado |
| Polygon | Amoy |
| BNB Chain | BSC Testnet |

***

## Sandbox Limitations

* **Yativo Card KYC**: Uses a test-mode KYC and card provider. Transactions are simulated.
* **Swap rates**: Simulated, not live market prices.
* **Email OTPs**: Delivered to real email addresses, same as production.
* **Payment Gateway**: Use the sandbox simulation endpoint to trigger payment confirmation.
* **Agentic Wallets**: Testnet chains only. Use the simulation endpoint to generate mock agent transactions.

***

## Sandbox Simulation Endpoints

These endpoints are only available in the sandbox environment and let you simulate events that normally require on-chain activity:

| Endpoint | Description |
| - | - |
| `POST /sandbox/simulate-card-spend` | Simulate a card purchase |
| `POST /sandbox/generate-card-history` | Generate mock card transaction history |
| `POST /sandbox/simulate-gateway-payment` | Mark a gateway payment as paid |
| `POST /sandbox/simulate-agentic-transaction` | Create a mock agent transaction |

***

## Environment Variable Pattern

We recommend switching environments with a single variable change:

```bash .env.sandbox theme={null}
YATIVO_API_KEY=yativo_e072b3ef7e30fcb420183aa86ddd8452abd28a9ac8f5d04d
YATIVO_API_SECRET=df8da4d6b855c7e89bd3b4216dd0a1f4b30de1963c9bff0dcd666b15a0f836a5
YATIVO_BASE_URL=https://crypto-sandbox.yativo.com/api
```

```bash .env.production theme={null}
YATIVO_API_KEY=your_production_api_key
YATIVO_API_SECRET=your_production_api_secret
YATIVO_BASE_URL=https://crypto-api.yativo.com/api
```

Your integration code doesn't change — only the environment variables.


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