Skip to main content
The Transactions API handles all outbound fund movements. You can estimate fees before sending, initiate transfers, and track status through to on-chain confirmation.

Get Gas Price Estimate

POST /transactions/get-gas-price Returns an estimated network fee for a transaction before committing to it.
chain_type
string
required
The blockchain to estimate fees for.
priority
string
Fee priority: slow, medium, or fast. Defaults to medium.
amount_usd
string
Estimated transaction value in USD. Used to calculate proportional fees on some chains.
asset_id
string
Asset ID to use for context-aware fee estimation.
cURL
curl -X POST https://crypto-api.yativo.com/api/transactions/get-gas-price \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "chain_type": "ethereum",
    "priority": "medium",
    "amount_usd": "500"
  }'
Response
{
  "chain": "ethereum",
  "priority": "medium",
  "gas_price_gwei": "25.5",
  "estimated_fee_eth": "0.00127",
  "estimated_fee_usd": "3.18",
  "estimated_time_seconds": 30
}

Send Funds

POST /transactions/send-funds Initiates an outbound crypto transfer. An idempotency key is automatically generated to prevent duplicate transactions.
from_asset_id
string
required
The ID of the wallet to send from.
to_address
string
required
The recipient’s blockchain address.
amount
string
required
Amount to send, as a decimal string (e.g., "10.50").
chain
string
required
The blockchain to send on.
ticker
string
required
The token to send.
priority
string
Transaction speed. One of slow, medium, fast. Defaults to medium.
curl -X POST https://crypto-api.yativo.com/api/transactions/send-funds \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "from_asset_id": "asset_01xyz789",
    "to_address": "0x9F8b3A2c1E4D7F6B5A4C3D2E1F0A9B8C7D6E5F4",
    "amount": "100.00",
    "chain": "ethereum",
    "ticker": "USDC",
    "priority": "medium"
  }'
Response
{
  "transaction_id": "txn_01pqr456",
  "idempotency_key": "idem_7f3a9b2c1e4d",
  "status": "pending",
  "from_address": "0x742d35Cc6634C0532925a3b8D4C9C2A5Ef8C2B1",
  "to_address": "0x9F8b3A2c1E4D7F6B5A4C3D2E1F0A9B8C7D6E5F4",
  "amount": "100.00",
  "ticker": "USDC",
  "chain": "ethereum",
  "fee_eth": "0.00127",
  "fee_usd": "3.18",
  "priority": "medium",
  "created_at": "2026-03-26T10:06:00Z"
}

Idempotency

Each send-funds call automatically generates a unique idempotency key. If the same request is submitted twice (e.g., due to a network retry), the second call returns the original transaction rather than creating a duplicate. If you need to supply your own idempotency key, include it in the request body as idempotency_key.
Double-check the to_address before sending. Blockchain transactions are irreversible. Funds sent to the wrong address cannot be recovered.

Get a Transaction

POST /transactions/get-transaction
transaction_id
string
required
The transaction ID returned by send-funds.
cURL
curl -X POST https://crypto-api.yativo.com/api/transactions/get-transaction \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"transaction_id": "txn_01pqr456"}'
Response
{
  "transaction_id": "txn_01pqr456",
  "status": "completed",
  "from_address": "0x742d35Cc6634C0532925a3b8D4C9C2A5Ef8C2B1",
  "to_address": "0x9F8b3A2c1E4D7F6B5A4C3D2E1F0A9B8C7D6E5F4",
  "amount": "100.00",
  "ticker": "USDC",
  "chain": "ethereum",
  "tx_hash": "0xabc123def456...",
  "block_number": 19500000,
  "confirmations": 12,
  "fee_usd": "3.18",
  "created_at": "2026-03-26T10:06:00Z",
  "completed_at": "2026-03-26T10:07:30Z"
}

List Transactions

POST /transactions/list
page
number
Page number. Defaults to 1.
limit
number
Results per page. Defaults to 20.
status
string
Filter by status: pending, processing, completed, failed, cancelled.
chain
string
Filter by blockchain.
cURL
curl -X POST https://crypto-api.yativo.com/api/transactions/list \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "page": 1,
    "limit": 20,
    "status": "completed",
    "chain": "ethereum"
  }'

Asset Transaction History

POST /transactions/asset-history Returns all transactions for a specific wallet asset.
asset_id
string
required
The asset to retrieve history for.
page
number
Page number. Defaults to 1.
limit
number
Results per page. Defaults to 20.
cURL
curl -X POST https://crypto-api.yativo.com/api/transactions/asset-history \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_id": "asset_01xyz789",
    "page": 1,
    "limit": 50
  }'

Cancel a Transaction

POST /transactions/cancel Attempts to cancel a transaction that is still in pending status. Once a transaction is processing (broadcast to the network), it cannot be cancelled.
transaction_id
string
required
The ID of the transaction to cancel.
cURL
curl -X POST https://crypto-api.yativo.com/api/transactions/cancel \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"transaction_id": "txn_01pqr456"}'

Transaction Statuses

StatusDescription
pendingTransaction created, waiting to be broadcast to the network
processingBroadcast to the network, waiting for confirmations
completedConfirmed on-chain with sufficient block confirmations
failedTransaction failed (insufficient funds, invalid address, network error)
cancelledCancelled before broadcast

Priority Levels

PrioritySpeedFee
slowSlower confirmation, may take several minutesLowest
mediumStandard confirmation timeStandard
fastPrioritized for faster inclusionHighest
Use webhooks to track transaction status changes in real time instead of polling the get-transaction endpoint. See Webhooks for event types.