Skip to main content

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.

Overview

Test crypto transactions in the sandbox — send testnet tokens, estimate gas fees, and query transaction history, all without spending real funds. Sandbox base URL: https://crypto-sandbox.yativo.com/api/v1/
The sandbox uses testnet blockchains. Never send real mainnet tokens to sandbox wallet addresses.

Get a Gas Fee Estimate

Estimate the gas fee for a transaction before sending.
POST https://crypto-sandbox.yativo.com/api/v1/transactions/get-gas-price
chainType
string
required
Blockchain to estimate gas for: ethereum, solana, bitcoin, polygon, bsc, base, xdc.
priority
string
Transaction speed: low, medium, high. Defaults to low.
amount_usd
number
Optional USD amount, for calculating gas as a percentage.
curl -X POST 'https://crypto-sandbox.yativo.com/api/v1/transactions/get-gas-price' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "chainType": "SOL",
    "priority": "medium"
  }'
Response
{
  "success": true,
  "data": {
    "estimatedFee": 0.00063,
    "gasFee": 0.00063,
    "platformFees": 0,
    "priority": "low",
    "chainType": "ETH",
    "breakdown": {
      "gas_cost_usd": "0.00063000",
      "platform_fees_usd": "0.00000000",
      "total_cost_usd": "0.00063000",
      "platform_fee_details": []
    }
  }
}

Send a Transaction

Send testnet tokens from your sandbox wallet to another address.
POST https://crypto-sandbox.yativo.com/api/v1/transactions/send-funds
account
string
required
The ObjectId of the account that owns the source asset.
assets
string
required
The ObjectId of the asset (wallet) to send from.
receiving_address
string
required
Destination blockchain address. Must be a valid testnet address for the specified chain.
amount
number
required
Amount to send in the token’s native units, e.g. 25.
chain
string
required
Blockchain network: solana, ethereum, base, etc.
type
string
required
Token ticker / short name: "USDC", "ETH", "SOL", etc. Must match the asset record.
category
string
required
Transaction category: "personal", "business", "payment", "other", etc.
priority
string
Transaction speed: "low", "medium", "high". Defaults to "medium".
description
string
Optional human-readable note.
use_self_funding
boolean
Pay gas from the wallet’s own native balance. Defaults to false.
curl -X POST 'https://crypto-sandbox.yativo.com/api/v1/transactions/send-funds' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "account": "64b1f9e2a3c4d5e6f7a8b9c0",
    "assets": "64b1f9e2a3c4d5e6f7a8b9d1",
    "receiving_address": "9xZ7Y4mQkLpR3sVwC8tF2bG6hJ5nM1yK",
    "amount": 25,
    "type": "USDC",
    "chain": "solana",
    "category": "payment",
    "priority": "medium"
  }'
Response — Transaction Submitted
{
  "status": true,
  "message": "Transaction Created Successfully",
  "data": {
    "transaction_id": "txn_01HX9KZMB3F7VNQP8R2WDGT4E5",
    "transaction_hash": "5KtMKNmZtEbXq3RrsPkjDqNJVA5rtzEPvR8WBa7kLnZm",
    "gas_tx_hash": null,
    "platform_fee_tx_hash": null,
    "gas_amount": "0",
    "platform_fee": "0.50000000",
    "gas_funding_markup": "0.12000000",
    "total_fee": "0.62000000",
    "fee_breakdown": "N/A"
  }
}

List Transactions

Retrieve a paginated list of all transactions for your sandbox account.
POST https://crypto-sandbox.yativo.com/api/v1/transactions/get-transactions
page
integer
Page number. Defaults to 1.
limit
integer
Transactions per page. Defaults to 20, max 100.
status
string
Filter by status: pending, confirmed, failed, cancelled.
chain
string
Filter by blockchain: solana, ethereum, etc.
curl -X POST 'https://crypto-sandbox.yativo.com/api/v1/transactions/get-transactions' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "page": 1,
    "limit": 20
  }'
Response
{
  "data": [
    {
      "transaction_id": "txn_01HX9KZMB3F7VNQP8R2WDGT100",
      "type": "send",
      "chain": "solana",
      "ticker": "USDC_SOL",
      "amount": "25.00",
      "status": "confirmed",
      "to_address": "9xZ7Y4mQkLpR3sVwC8tF2bG6hJ5nM1yK",
      "tx_hash": "5KgF7hJ2mN4pQ8rT9vX1yC3bA6wD0eG2jL5nP8sU1z4",
      "created_at": "2026-03-28T11:00:00Z"
    }
  ],
  "status": true,
  "message": "Transactions retrieved successfully"
}

Transaction Status Values

StatusDescription
pendingSubmitted to the blockchain, awaiting confirmation.
confirmedConfirmed on-chain.
failedTransaction failed (insufficient gas, invalid address, etc.).
cancelledCancelled before broadcast.

Testing Tips

Attempt to send more than your wallet balance. Your application should handle this gracefully.
curl -X POST 'https://crypto-sandbox.yativo.com/api/v1/transactions/send-funds' \
  -H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "from_asset_id": "ast_01HX9KZMB3F7VNQP8R2WDGT4E6",
    "to_address": "9xZ7Y4mQkLpR3sVwC8tF2bG6hJ5nM1yK",
    "amount": "99999999.00",
    "chain": "solana",
    "ticker": "USDC_SOL"
  }'
Send two transactions with the same idempotency_key. The second call should return the original transaction rather than creating a duplicate.
After submitting a transaction, poll POST /transactions/get-transactions filtering by the transaction_id until the status changes from pending to confirmed or failed.