Skip to main content
POST
/
v1
/
transactions
/
send-funds
curl -X POST 'https://crypto-api.yativo.com/api/v1/transactions/send-funds' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: idem_01HX9KZMB3F7VNQP8R2WDGT4E5' \
  -d '{
    "account": "64b1f9e2a3c4d5e6f7a8b9c0",
    "assets": "64b1f9e2a3c4d5e6f7a8b9d1",
    "receiving_address": "9xZ7Y4mQkLpR3sVwC8tF2bG6hJ5nM1yK",
    "amount": 100,
    "type": "USDC",
    "chain": "solana",
    "category": "payment",
    "priority": "medium",
    "description": "Invoice #1042 settlement"
  }'
{
  "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"
  }
}

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.

Authorization
string
required
Bearer token: Bearer YOUR_ACCESS_TOKEN
Idempotency-Key
string
Unique key to prevent duplicate transactions. Strongly recommended — if omitted, no deduplication is applied. Re-submit the same key to safely retry without double-spending. Keys expire after 24 hours.
account
string
required
The MongoDB ObjectId of the account that owns the source asset.
assets
string
required
The MongoDB ObjectId of the asset (wallet) to send from. Returned when you list account assets.
receiving_address
string
required
The destination blockchain address. Must be a valid address on the target chain.
amount
number
required
Amount to send, denominated in the token’s native units (e.g. 100 for 100 USDC).
type
string
required
The asset ticker / short name of the token being sent (e.g. "ETH", "USDC", "SOL"). Must match the asset record.
chain
string
required
The blockchain network (e.g. "ethereum", "solana", "polygon"). Must match the asset’s chain.
category
string
required
Transaction category for reporting and compliance. Common values: "personal", "business", "payment", "auto-forward", "other".
priority
string
Gas / speed priority. One of: "low", "medium", "high". Defaults to "medium".
description
string
Optional human-readable note attached to the transaction.
use_self_funding
boolean
When true, gas fees are paid from the sending wallet’s own native token balance instead of a configured Gas Station. Only valid for native token assets (ETH, SOL, etc.). Defaults to false.
curl -X POST 'https://crypto-api.yativo.com/api/v1/transactions/send-funds' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: idem_01HX9KZMB3F7VNQP8R2WDGT4E5' \
  -d '{
    "account": "64b1f9e2a3c4d5e6f7a8b9c0",
    "assets": "64b1f9e2a3c4d5e6f7a8b9d1",
    "receiving_address": "9xZ7Y4mQkLpR3sVwC8tF2bG6hJ5nM1yK",
    "amount": 100,
    "type": "USDC",
    "chain": "solana",
    "category": "payment",
    "priority": "medium",
    "description": "Invoice #1042 settlement"
  }'
{
  "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"
  }
}

Gas Funding

When sending token assets (USDC, USDT, etc.) the platform automatically funds native gas from a configured Gas Station. A 20% service markup on the gas cost is deducted from your withdrawal amount as gas_funding_markup.
ScenarioBehaviour
Gas Station configured by userGas funded from user’s gas station — gas_funding_markup applied
No user Gas StationPlatform Gas Station used as fallback — gas_funding_markup applied
use_self_funding: true (native tokens only)Gas deducted from the wallet’s own native balance — no markup
use_self_funding: true on a token assetReturns 400 — self-funding is not available for token transactions
Ensure amount is large enough to cover platform_fee + gas_funding_markup. The API returns a 400 if the amount cannot cover total fees.

Idempotency

Supply an Idempotency-Key header to enable safe retries. If the same key is submitted again for the same user, the original response is returned instead of creating a duplicate transaction. Without a key, no deduplication is applied. Best practices:
  • Derive the key from your internal record ID: payout_${orderId}
  • Keys must be unique per operation — reusing a key for a different transfer returns the original transaction
  • Keys expire after 24 hours
Always verify receiving_address before sending. Blockchain transactions are irreversible — funds sent to the wrong address cannot be recovered.