---
title: "Get Deposit Swap Quote"
method: POST
path: "/v1/deposits/{depositId}/swap-quote"
tags: ["Deposits"]
---

# Get Deposit Swap Quote

`POST /v1/deposits/{depositId}/swap-quote`

Returns a swap quote for converting a given input amount from `fromCurrencyId` into the deposit's settlement currency. The settlement currency is derived server-side from the deposit configuration (exactly one currency on the deposit). Use this to surface swap rates and expected receive amounts to merchants before a customer pays. Quotes expire 30 seconds after issue. Cross-chain swaps are not supported; `fromCurrencyId` and the deposit settlement currency must be on the same blockchain. No API key is required; this endpoint is rate-limited.

## Path parameters

- `depositId` string, required

## Request body

- CreateDepositSwapQuote — 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 — Slippage tolerance in basis points (1 bps = 0.01%). Forwarded to the routing provider.

## Response `200`

Swap quote retrieved successfully.

- DepositSwapQuoteResponse — Swap quote for converting an input amount into the deposit settlement currency.
  - `fromCurrency` Currency, required
    - `blockchain` Blockchain, required
      - `engine` BlockchainEngine, required
        - `id` string, required
        - `type` 'EVM' | 'SOL' | 'BTC', required
      - `id` string, required
      - `name` string, required
      - `symbol` 'SOL' | 'ETH' | 'POLYGON' | 'BASE' | 'BITCOIN', required
    - `id` string, required
    - `symbol` string, required
    - `name` string, required
    - `mintAddress` string, required
    - `coinMarketCapId` number, required
    - `decimals` number, required
    - `minDecimals` number
    - `symbolPrefix` string
    - `order` number, required
    - `type` 'FIAT' | 'DIGITAL'
    - `features` string[]
    - `iconUrl` string
  - `toCurrency` Currency, required
    - `blockchain` Blockchain, required
      - `engine` BlockchainEngine, required
        - `id` string, required
        - `type` 'EVM' | 'SOL' | 'BTC', required
      - `id` string, required
      - `name` string, required
      - `symbol` 'SOL' | 'ETH' | 'POLYGON' | 'BASE' | 'BITCOIN', required
    - `id` string, required
    - `symbol` string, required
    - `name` string, required
    - `mintAddress` string, required
    - `coinMarketCapId` number, required
    - `decimals` number, required
    - `minDecimals` number
    - `symbolPrefix` string
    - `order` number, required
    - `type` 'FIAT' | 'DIGITAL'
    - `features` string[]
    - `iconUrl` string
  - `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).
  - `exchangeRate` number — Reported exchange rate (amountOut / amountIn). Informational; not used in settlement.
  - `estimatedPriceImpact` number — Estimated price impact for the route (percentage). Informational.
  - `expiresAt` string, date-time, required — ISO-8601 timestamp after which this quote should not be relied upon (30 seconds from issue time).

## Other responses

- `400` — Invalid request or business rule violation (e.g. deposit disabled, same currency as settlement, cross-chain not supported, deposit has no or multiple settlement currencies).
- `422` — Unable to fetch a swap quote from the routing provider at this time.

---

[API](https://skmtc.net/hel/apis/helio-open-api.md) · [All operations](https://skmtc.net/hel/apis/helio-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hel/helio-open-api/revisions/5732beb2d39f/schema)
