Skip to main content
POST
/
v1
/
deposits
/
{depositId}
/
swap-quote
Get Deposit Swap Quote
curl --request POST \
  --url https://api.hel.io/v1/deposits/{depositId}/swap-quote \
  --header 'Content-Type: application/json' \
  --data '
{
  "fromCurrencyId": "63430c8348c610068bcdc482",
  "amountIn": "1000000",
  "senderAddress": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
  "slippageBps": 100
}
'
{
  "fromCurrency": {
    "id": "63430c8348c610068bcdc482",
    "symbol": "ETH",
    "name": "Ethereum",
    "decimals": 18,
    "mintAddress": "0x0000000000000000000000000000000000000000",
    "coinMarketCapId": 1027,
    "symbolPrefix": "",
    "type": "DIGITAL",
    "blockchain": {
      "id": "bc-base",
      "name": "Base",
      "symbol": "BASE",
      "engine": {
        "id": "engine-evm",
        "name": "EVM"
      }
    }
  },
  "toCurrency": {
    "id": "63430c8348c610068bcdc483",
    "symbol": "USDC",
    "name": "USD Coin",
    "decimals": 6,
    "mintAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "coinMarketCapId": 3408,
    "symbolPrefix": "",
    "type": "DIGITAL",
    "blockchain": {
      "id": "bc-base",
      "name": "Base",
      "symbol": "BASE",
      "engine": {
        "id": "engine-evm",
        "name": "EVM"
      }
    }
  },
  "amountIn": "1000000",
  "amountOutGross": "950000",
  "amountOutNet": "940500",
  "platformFeeBps": 50,
  "platformFeeAmount": "4750",
  "affiliateFeeBps": 50,
  "affiliateFeeAmount": "4750",
  "slippageBps": 100,
  "exchangeRate": 0.95,
  "estimatedPriceImpact": 0.001,
  "expiresAt": "2026-05-14T13:58:13.608Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.hel.io/llms.txt

Use this file to discover all available pages before exploring further.

Note: When using the production environment at moonpay.hel.io, set your API endpoint to api.hel.io/v1 and generate API keys there. For the development environment, use api.dev.hel.io/v1 and generate API keys from moonpay.dev.hel.io.
Constraints:The destination currency is derived from the deposit and should not be provided. fromCurrencyId must differ from the settlement currency, and swaps must occur on the same blockchain, as cross-chain quotes are not supported. Quotes expire 30 seconds after issuance. No API key is required, but the endpoint is rate-limited.

Path Parameters

depositId
string
required

The unique ID of the deposit.

Body

application/json

Request body for fetching a deposit swap quote.

fromCurrencyId
string
required

Currency ID the payer will send. Must differ from the deposit settlement currency. Retrieve available IDs via the Get Deposit Currencies endpoint.

amountIn
string
required

Input amount in fromCurrency base units as a positive int64 string, e.g. "1000000" = 1 USDC.

senderAddress
string
required

Wallet address used as the swap sender for routing.

slippageBps
integer
default:100

Slippage tolerance in basis points (1 bps = 0.01%). Forwarded to the routing provider.

Response

Swap quote retrieved successfully.

Swap quote for converting an input amount into the deposit settlement currency.

fromCurrency
object
required

Enriched input currency. Same shape as items returned by GET /v1/currency/all.

toCurrency
object
required

Enriched deposit settlement currency, derived server-side from the deposit.

amountIn
string
required

Input amount in fromCurrency minimal units, echoed from the request.

amountOutGross
string
required

Quoted output in toCurrency minimal units before Helio platform and affiliate fees.

amountOutNet
string
required

Net amount the merchant will receive after platform and affiliate fees (amountOutGross − platformFeeAmount − affiliateFeeAmount, floored at 0).

platformFeeBps
integer
required

Helio platform fee in basis points (1 bps = 0.01%).

platformFeeAmount
string
required

Helio platform fee amount in toCurrency minimal units.

affiliateFeeBps
integer
required

Affiliate fee in basis points, if any (otherwise 0).

affiliateFeeAmount
string
required

Affiliate fee amount in toCurrency minimal units.

slippageBps
integer
required

Slippage tolerance in basis points, echoed from the request (or the default of 100).

expiresAt
string<date-time>
required

ISO-8601 timestamp after which this quote should not be relied upon (30 seconds from issue time).

exchangeRate
number

Reported exchange rate (amountOut / amountIn). Informational; not used in settlement.

estimatedPriceImpact
number

Estimated price impact for the route (percentage). Informational.