ChainflipBaas.Quote.Quote
A quote: what you send and receive, the fees already taken into account, the recommended slippage protection and retry window, and how long the swap is expected to take. To start the swap, pass `estimatedPrice` reduced by your slippage tolerance as `minimumPrice` to `startSwap`.
Properties
| Name | Type | Description |
|---|---|---|
| type | string | `regular`: swapped at once. `dca`: split into `numberOfChunks` chunks swapped `chunkIntervalBlocks` apart, usually at a better price for large amounts. |
| ingressAsset | string | The asset you send. |
| ingressAmount | number | The amount you send, in whole units of `ingressAsset`. |
| ingressAmountNative | string | `ingressAmount` in the asset's smallest unit. |
| intermediateAsset | stringnull | The asset the swap passes through (USDC), when neither asset is USDC. |
| intermediateAmount | numbernull | The amount of the intermediate asset, in whole units. |
| intermediateAmountNative | stringnull | `intermediateAmount` in the asset's smallest unit. |
| egressAsset | string | The asset you receive. |
| egressAmount | number | The amount you receive, in whole units of `egressAsset`, after every fee in `includedFees`. An estimate: the final amount depends on the price when the swap executes. |
| egressAmountNative | string | `egressAmount` in the asset's smallest unit. |
| includedFees | array | Every fee taken from the swap, already accounted for in `egressAmount`. |
| recommendedSlippageTolerancePercent | number | Recommended slippage percentage to use when calculating minimum price. |
| recommendedRetryDurationInBlocks | integernull | Recommended `retryDurationInBlocks` for `/swap`: Chainflip's recommended retry window (30 minutes when BTC is on either side, otherwise 5 minutes) in 6-second state-chain blocks. |
| recommendedLivePriceSlippageTolerancePercent | numbernull | Recommended `livePriceSlippageTolerancePercent` for `/swap`: how far, in percent, the execution price may fall below Chainflip's oracle price. Absent when Chainflip has no oracle-based protection to r |
| lowLiquidityWarning | boolean | A warning in case liquidity is low and there is a risk of high slippage. |
| poolInfo | array | Liquidity pools involved in the swap, as well as estimated liquidity provider fees. |
| estimatedDurationSeconds | number | The estimated time the swap will take. |
| estimatedDurationsSeconds | object | |
| estimatedPrice | number | The estimated price in the destination asset for 1 unit of the source asset. Used for slippage calculations. |
| chunkIntervalBlocks | integernull | The delay between the "sub-swaps" of a DCA swap in number of blocks. |
| numberOfChunks | integernull | The number of "sub-swaps" to perform for a DCA swap. |
| boostQuote | object | |
| platform | string | The provider that produced this quote. Pass it as `platform` to `startSwap` to open the swap with the same provider. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/chainflip-broker-io/json-schema/chainflip-broker-io-chainflip-baas-quote-quote-schema.json",
"title": "ChainflipBaas.Quote.Quote",
"description": "A quote: what you send and receive, the fees already taken into account, the recommended slippage\nprotection and retry window, and how long the swap is expected to take. To start the swap, pass\n`estimatedPrice` reduced by your slippage tolerance as `minimumPrice` to `startSwap`.",
"x-generated": "2026-11-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/chainflip-broker-io-openapi.json#/components/schemas/ChainflipBaas.Quote.Quote",
"required": [
"egressAmount",
"egressAmountNative",
"egressAsset",
"estimatedDurationSeconds",
"estimatedDurationsSeconds",
"estimatedPrice",
"includedFees",
"ingressAmount",
"ingressAmountNative",
"ingressAsset",
"lowLiquidityWarning",
"poolInfo",
"recommendedSlippageTolerancePercent",
"type"
],
"type": "object",
"properties": {
"type": {
"enum": [
"regular",
"dca"
],
"type": "string",
"description": "`regular`: swapped at once. `dca`: split into `numberOfChunks` chunks swapped\n `chunkIntervalBlocks` apart, usually at a better price for large amounts.",
"x-ms-enum": {
"name": "QuoteType",
"modelAsString": true
}
},
"ingressAsset": {
"type": "string",
"description": "The asset you send."
},
"ingressAmount": {
"type": "number",
"description": "The amount you send, in whole units of `ingressAsset`.",
"format": "double"
},
"ingressAmountNative": {
"type": "string",
"description": "`ingressAmount` in the asset's smallest unit."
},
"intermediateAsset": {
"type": [
"string",
"null"
],
"description": "The asset the swap passes through (USDC), when neither asset is USDC."
},
"intermediateAmount": {
"type": [
"number",
"null"
],
"description": "The amount of the intermediate asset, in whole units.",
"format": "double"
},
"intermediateAmountNative": {
"type": [
"string",
"null"
],
"description": "`intermediateAmount` in the asset's smallest unit."
},
"egressAsset": {
"type": "string",
"description": "The asset you receive."
},
"egressAmount": {
"type": "number",
"description": "The amount you receive, in whole units of `egressAsset`, after every fee in `includedFees`. An\nestimate: the final amount depends on the price when the swap executes.",
"format": "double"
},
"egressAmountNative": {
"type": "string",
"description": "`egressAmount` in the asset's smallest unit."
},
"includedFees": {
"type": "array",
"items": {
"$ref": "#/$defs/ChainflipBaas.Quote.QuoteFee"
},
"description": "Every fee taken from the swap, already accounted for in `egressAmount`."
},
"recommendedSlippageTolerancePercent": {
"type": "number",
"description": "Recommended slippage percentage to use when calculating minimum price.",
"format": "double"
},
"recommendedRetryDurationInBlocks": {
"type": [
"integer",
"null"
],
"description": "Recommended `retryDurationInBlocks` for `/swap`: Chainflip's recommended retry window (30 minutes\nwhen BTC is on either side, otherwise 5 minutes) in 6-second state-chain blocks.",
"format": "int32"
},
"recommendedLivePriceSlippageTolerancePercent": {
"type": [
"number",
"null"
],
"description": "Recommended `livePriceSlippageTolerancePercent` for `/swap`: how far, in percent, the execution\nprice may fall below Chainflip's oracle price. Absent when Chainflip has no oracle-based protection to\nrecommend for the pair; `/swap` rejects the parameter when either asset has no oracle price.",
"format": "double"
},
"lowLiquidityWarning": {
"type": "boolean",
"description": "A warning in case liquidity is low and there is a risk of high slippage."
},
"poolInfo": {
"type": "array",
"items": {
"$ref": "#/$defs/ChainflipBaas.Quote.PoolInfo"
},
"description": "Liquidity pools involved in the swap, as well as estimated liquidity provider fees."
},
"estimatedDurationSeconds": {
"type": "number",
"description": "The estimated time the swap will take.",
"format": "double"
},
"estimatedDurationsSeconds": {
"$ref": "#/$defs/ChainflipBaas.Quote.EstimatedDurationsSeconds"
},
"estimatedPrice": {
"type": "number",
"description": "The estimated price in the destination asset for 1 unit of the source asset. Used for slippage calculations.",
"format": "double"
},
"chunkIntervalBlocks": {
"type": [
"integer",
"null"
],
"description": "The delay between the \"sub-swaps\" of a DCA swap in number of blocks.",
"format": "int32"
},
"numberOfChunks": {
"type": [
"integer",
"null"
],
"description": "The number of \"sub-swaps\" to perform for a DCA swap.",
"format": "int32"
},
"boostQuote": {
"$ref": "#/$defs/ChainflipBaas.Quote.BoostQuote"
},
"platform": {
"type": "string",
"description": "The provider that produced this quote. Pass it as `platform` to `startSwap` to open the swap\nwith the same provider.",
"readOnly": true
}
},
"additionalProperties": false,
"$defs": {
"ChainflipBaas.Quote.BoostQuote": {
"required": [
"egressAmount",
"egressAmountNative",
"egressAsset",
"estimatedBoostFeeBps",
"estimatedDurationSeconds",
"estimatedDurationsSeconds",
"estimatedPrice",
"includedFees",
"ingressAmount",
"ingressAmountNative",
"ingressAsset",
"lowLiquidityWarning",
"maxBoostFeeBps",
"poolInfo",
"recommendedSlippageTolerancePercent"
],
"type": "object",
"properties": {
"ingressAsset": {
"type": "string",
"description": "The asset you send."
},
"ingressAmount": {
"type": "number",
"description": "The amount you send, in whole units of `ingressAsset`.",
"format": "double"
},
"ingressAmountNative": {
"type": "string",
"description": "`ingressAmount` in the asset's smallest unit."
},
"intermediateAsset": {
"type": [
"string",
"null"
],
"description": "The asset the swap passes through (USDC), when neither asset is USDC."
},
"intermediateAmount": {
"type": [
"number",
"null"
],
"description": "The amount of the intermediate asset, in whole units.",
"format": "double"
},
"intermediateAmountNative": {
"type": [
"string",
"null"
],
"description": "`intermediateAmount` in the asset's smallest unit."
},
"egressAsset": {
"type": "string",
"description": "The asset you receive."
},
"egressAmount": {
"type": "number",
"description": "The amount you receive with Boost, in whole units of `egressAsset`, after every fee in\n`includedFees` including the boost fee. An estimate: the final amount depends on the price when the\nswap executes.",
"format": "double"
},
"egressAmountNative": {
"type": "string",
"description": "`egressAmount` in the asset's smallest unit."
},
"includedFees": {
"type": "array",
"items": {
"$ref": "#/$defs/ChainflipBaas.Quote.QuoteFee"
},
"description": "Every fee taken from the boosted swap, including the boost fee, already accounted for in\n`egressAmount`."
},
"recommendedSlippageTolerancePercent": {
"type": "number",
"description": "Recommended slippage percentage to use when calculating minimum price for the boosted swap.",
"format": "double"
},
"recommendedRetryDurationInBlocks": {
"type": [
"integer",
"null"
],
"description": "Recommended `retryDurationInBlocks` for `/swap`, in 6-second state-chain blocks.",
"format": "int32"
},
"recommendedLivePriceSlippageTolerancePercent": {
"type": [
"number",
"null"
],
"description": "Recommended `livePriceSlippageTolerancePercent` for `/swap`. Absent when Chainflip has no\noracle-based protection to recommend for the pair.",
"format": "double"
},
"lowLiquidityWarning": {
"type": "boolean",
"description": "A warning in case liquidity is low and there is a risk of high slippage."
},
"poolInfo": {
"type": "array",
"items": {
"$ref": "#/$defs/ChainflipBaas.Quote.PoolInfo"
},
"description": "Liquidity pools involved in the swap, as well as estimated liquidity provider fees."
},
"estimatedDurationSeconds": {
"type": "number",
"description": "The estimated time the swap will take.",
"format": "double"
},
"estimatedDurationsSeconds": {
"$ref": "#/$defs/ChainflipBaas.Quote.EstimatedDurationsSeconds"
},
"estimatedBoostFeeBps": {
"type": "number",
"description": "The estimated fee (in bps) that the user has to pay (from the deposit amount) to get this swap boosted.",
"format": "double"
},
"maxBoostFeeBps": {
"type": "integer",
"description": "The maximum boost fee (in bps) to open this boosted swap with: pass it as `boostFee` to `/swap`. The\nfee actually charged is the lowest one that boosts the deposit, at most this.",
"format": "int32"
},
"estimatedPrice": {
"type": "number",
"description": "The estimated price in the destination asset for 1 unit of the source asset. Used for slippage calculations.",
"format": "double"
},
"chunkIntervalBlocks": {
"type": [
"integer",
"null"
],
"description": "The delay between the \"sub-swaps\" of a DCA swap in number of blocks.",
"format": "int32"
},
"numberOfChunks": {
"type": [
"integer",
"null"
],
"description": "The number of \"sub-swaps\" to perform for a DCA swap.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "The same quote with Boost, for Bitcoin deposits: liquidity providers credit the deposit after one\nconfirmation instead of waiting for all of them, so the swap is faster, for the boost fee listed in\n`includedFees`. To start it, pass `maxBoostFeeBps` as `boostFee` to `startSwap`."
},
"ChainflipBaas.Quote.EstimatedDurationsSeconds": {
"required": [
"deposit",
"egress",
"swap"
],
"type": "object",
"properties": {
"deposit": {
"type": "number",
"description": "The estimated time for a deposit to be witnessed.",
"format": "double"
},
"swap": {
"type": "number",
"description": "The estimated time for a swap to be fully executed.",
"format": "double"
},
"egress": {
"type": "number",
"description": "The estimated time until the output transaction is included in a block.",
"format": "double"
}
},
"additionalProperties": false,
"description": "The estimated duration of each step, in seconds: witnessing the deposit, executing the swap and\nincluding the output transfer in a block on the destination chain."
},
"ChainflipBaas.Quote.PoolFee": {
"required": [
"amount",
"amountNative",
"asset"
],
"type": "object",
"properties": {
"asset": {
"type": "string",
"description": "The asset the fee is processed in."
},
"amount": {
"type": "number",
"description": "The fee, in whole units of `asset`.",
"format": "double"
},
"amountNative": {
"type": "string",
"description": "`amount` in the asset's smallest unit."
}
},
"additionalProperties": false,
"description": "A pool's estimated liquidity provider fee."
},
"ChainflipBaas.Quote.PoolInfo": {
"required": [
"baseAsset",
"fee",
"quoteAsset"
],
"type": "object",
"properties": {
"baseAsset": {
"type": "string",
"description": "The base asset of the pool involved."
},
"quoteAsset": {
"type": "string",
"description": "The quote asset of the pool involved."
},
"fee": {
"$ref": "#/$defs/ChainflipBaas.Quote.PoolFee"
}
},
"additionalProperties": false,
"description": "A liquidity pool the swap goes through, with its estimated liquidity provider fee."
},
"ChainflipBaas.Quote.QuoteFee": {
"required": [
"amount",
"amountNative",
"asset",
"type"
],
"type": "object",
"properties": {
"type": {
"enum": [
"ingress",
"broker",
"network",
"liquidity",
"egress",
"boost",
"refund"
],
"type": "string",
"description": "The fee: `ingress` (receiving the deposit on the source chain), `network` (Chainflip's network\nfee), `broker` (the broker and affiliate commissions), `liquidity` (a pool's liquidity provider\nfee, also in `poolInfo`), `egress` (sending the output on the destination chain) or\n`boost` (on Boost quotes). `refund` only appears on swap statuses.",
"x-ms-enum": {
"name": "FeeType",
"modelAsString": true
}
},
"asset": {
"type": "string",
"description": "The asset the fee is processed in."
},
"amount": {
"type": "number",
"description": "The fee, in whole units of `asset`.",
"format": "double"
},
"amountNative": {
"type": "string",
"description": "`amount` in the asset's smallest unit."
}
},
"additionalProperties": false,
"description": "A fee the quote already accounts for: `egressAmount` is what remains after all of them."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/chainflip-broker-io-chainflip-baas-quote-quote"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.