Skip to main content

Overview

Use the sandbox to test the full wallet lifecycle — creating accounts, adding crypto assets, checking balances, and managing wallet addresses. All wallet operations in the sandbox use testnet tokens and testnet blockchain networks. Sandbox base URL: https://crypto-sandbox.yativo.com/api/
You must be authenticated with a sandbox access token before calling wallet endpoints. See Sandbox Authentication to obtain a token.

Available Testnet Tokens

The following testnet tokens are available in the sandbox environment:
TokenNetworkTestnetFaucet
USDCSolana DevnetDevnetspl-token-faucet.com
SOLSolana DevnetDevnetfaucet.solana.com
USDCEthereum SepoliaSepoliafaucet.circle.com
ETHEthereum SepoliaSepoliasepoliafaucet.com
USDCPolygon AmoyAmoyPolygon faucet
MATICPolygon AmoyAmoyPolygon faucet
Testnet tokens have no monetary value. Use faucets to get free testnet tokens for testing.

Create a Wallet Account

Create a new crypto wallet in the sandbox environment.
POST https://crypto-sandbox.yativo.com/api/accounts
name
string
required
A label for the wallet account.
currency
string
required
The primary currency for the account (e.g., "USD", "EUR").
curl -X POST 'https://crypto-sandbox.yativo.com/api/accounts' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Test Wallet",
    "currency": "USD"
  }'
{
  "status": "success",
  "data": {
    "account_id": "acc_sandbox_01HX9KZMB3F7VNQP8R2WDGT001",
    "name": "Test Wallet",
    "currency": "USD",
    "balance": 0.00,
    "created_at": "2026-03-25T10:00:00Z"
  }
}

List Wallets

Retrieve all wallets associated with your sandbox account.
GET https://crypto-sandbox.yativo.com/api/wallets
curl -X GET 'https://crypto-sandbox.yativo.com/api/wallets' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN'
{
  "status": "success",
  "data": {
    "wallets": [
      {
        "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT010",
        "chain": "solana",
        "token": "USDC",
        "address": "7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx",
        "balance": 100.00,
        "network": "devnet",
        "created_at": "2026-03-25T10:05:00Z"
      },
      {
        "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT011",
        "chain": "ethereum",
        "token": "ETH",
        "address": "0x742d35Cc6634C0532925a3b8D4C9E2a4D7f0b123",
        "balance": 0.5,
        "network": "sepolia",
        "created_at": "2026-03-25T10:05:01Z"
      },
      {
        "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT012",
        "chain": "solana",
        "token": "SOL",
        "address": "7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx",
        "balance": 2.0,
        "network": "devnet",
        "created_at": "2026-03-25T10:05:02Z"
      }
    ],
    "total": 3
  }
}

Get Wallet by ID

Retrieve a specific wallet’s details and current balance.
GET https://crypto-sandbox.yativo.com/api/wallets/{walletId}
walletId
string
required
The wallet ID.
curl -X GET 'https://crypto-sandbox.yativo.com/api/wallets/wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT010' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN'
{
  "status": "success",
  "data": {
    "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT010",
    "chain": "solana",
    "token": "USDC",
    "address": "7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx",
    "balance": 100.00,
    "balance_usd_equivalent": 100.00,
    "network": "devnet",
    "token_contract": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJR",
    "created_at": "2026-03-25T10:05:00Z"
  }
}

Add an Asset to a Wallet

Add a crypto asset (chain + token combination) to your sandbox wallet collection.
POST https://crypto-sandbox.yativo.com/api/wallets/add-asset
chain
string
required
Blockchain network (e.g., "solana", "ethereum", "polygon").
token
string
required
Token symbol (e.g., "USDC", "ETH", "SOL").
curl -X POST 'https://crypto-sandbox.yativo.com/api/wallets/add-asset' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "chain": "solana",
    "token": "USDC"
  }'
{
  "status": "success",
  "data": {
    "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT013",
    "chain": "solana",
    "token": "USDC",
    "address": "7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx",
    "balance": 0.00,
    "network": "devnet",
    "created_at": "2026-03-25T10:10:00Z"
  }
}

Get Deposit Address

Retrieve the deposit address for a specific wallet to fund it from an external testnet source.
GET https://crypto-sandbox.yativo.com/api/wallets/{walletId}/deposit-address
curl -X GET 'https://crypto-sandbox.yativo.com/api/wallets/wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT010/deposit-address' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN'
{
  "status": "success",
  "data": {
    "wallet_id": "wlt_sandbox_01HX9KZMB3F7VNQP8R2WDGT010",
    "chain": "solana",
    "token": "USDC",
    "deposit_address": "7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx",
    "network": "devnet",
    "qr_code_url": "https://crypto-sandbox.yativo.com/api/qr/7dRp9qLmKv3xFjNw4aBcYhUeT8sGkZoP2iMnDuWr5Cx"
  }
}
Use a Solana devnet faucet to send testnet USDC to your deposit address. After the devnet transaction confirms, the balance will update in your sandbox wallet.

Get Portfolio Summary

Get an overview of all wallets and their total USD-equivalent value.
GET https://crypto-sandbox.yativo.com/api/wallets/portfolio
curl -X GET 'https://crypto-sandbox.yativo.com/api/wallets/portfolio' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN'
{
  "status": "success",
  "data": {
    "total_usd_value": 350.75,
    "assets": [
      {
        "chain": "solana",
        "token": "USDC",
        "balance": 100.00,
        "usd_value": 100.00
      },
      {
        "chain": "solana",
        "token": "SOL",
        "balance": 2.0,
        "usd_value": 350.00
      },
      {
        "chain": "ethereum",
        "token": "ETH",
        "balance": 0.0001,
        "usd_value": 0.75
      }
    ],
    "last_updated": "2026-03-25T10:15:00Z"
  }
}
Portfolio USD values in the sandbox use simulated exchange rates that are periodically refreshed from testnet price feeds. They do not reflect real market prices.