Skip to main content
POST
/
transactions
/
estimate
Estimate transaction options based on source and destination (internal bc not implemented yet)
curl --request POST \
  --url https://api.platform.dakota.xyz/transactions/estimate \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-idempotency-key: <x-idempotency-key>' \
  --data '
{
  "sourceDetails": {
    "accountType": "fiat_us",
    "network": "ethereum-mainnet",
    "crypto_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
  },
  "destinationDetails": {
    "accountType": "fiat_us",
    "network": "ethereum-mainnet",
    "crypto_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
  },
  "amount": "1000.00",
  "sourceAsset": "USD",
  "destinationAsset": "EUR"
}
'
{
  "options": [
    {
      "transactionType": "swap",
      "estimatedDuration": {
        "minMinutes": 30,
        "maxMinutes": 120
      },
      "estimatedFees": {
        "amount": "25.50",
        "asset": "USDC",
        "breakdown": [
          {
            "description": "Network fee",
            "amount": "10.00"
          }
        ]
      },
      "sourceAsset": "USD",
      "destinationAsset": "EUR",
      "estimatedExchangeRate": 1.05,
      "requiresKYC": true,
      "processSteps": [
        {
          "step": "Bank wire transfer",
          "estimatedDurationMinutes": 60
        }
      ]
    }
  ]
}

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.

Body

application/json

Source and destination details for transaction estimate

Request for estimating transaction options based on source and destination.

Note that the schema for source and destination details will vary based on the account type (crypto, fiat_us, or fiat_iban) selected in the accountType field.

sourceDetails
Crypto Account Details · object
required

Account details for a cryptocurrency wallet.

destinationDetails
Crypto Account Details · object
required

Account details for a cryptocurrency wallet.

amount
string
required

Amount to transfer as a decimal string.

Example:

"1000.00"

sourceAsset
string

Currency code or asset symbol of the source. Required for crypto sources.

Example:

"USD"

destinationAsset
string

Desired currency code or asset symbol at the destination. Used for currency conversion transactions.

Example:

"EUR"

Response

Available transaction options with estimates

Response containing available transaction options with estimates.

options
object[]
required

Available transaction options.