Skip to main content

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.
string
required
Blockchain to estimate gas for: ethereum, solana, bitcoin, polygon, bsc, base, xdc.
string
Transaction speed: low, medium, high. Defaults to low.
number
Optional USD amount, for calculating gas as a percentage.
Response

Send a Transaction

Send testnet tokens from your sandbox wallet to another address.
string
required
The ObjectId of the account that owns the source asset.
string
required
The ObjectId of the asset (wallet) to send from.
string
required
Destination blockchain address. Must be a valid testnet address for the specified chain.
number
required
Amount to send in the token’s native units, e.g. 25.
string
required
Blockchain network: solana, ethereum, base, etc.
string
required
Token ticker / short name: "USDC", "ETH", "SOL", etc. Must match the asset record.
string
required
Transaction category: "personal", "business", "payment", "other", etc.
string
Transaction speed: "low", "medium", "high". Defaults to "medium".
string
Optional human-readable note.
boolean
Pay gas from the wallet’s own native balance. Defaults to false.
Response — Transaction Submitted

List Transactions

Retrieve a paginated list of all transactions for your sandbox account.
integer
Page number. Defaults to 1.
integer
Transactions per page. Defaults to 20, max 100.
string
Filter by status: pending, confirmed, failed, cancelled.
string
Filter by blockchain: solana, ethereum, etc.
Response

Transaction Status Values


Testing Tips

Attempt to send more than your wallet balance. Your application should handle this gracefully.
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.