This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.
When the mode is "pay" this is the amount of the token to be sent; when the mode is "receive" this is the amount of the token that will be received. E.g. to send 456.34 USDT the amount should be "456.34".
Whether the amount should represent the sending or receiving amount, e.g. "pay". When "pay" is used, amount represents the value on the chainIn and the chainOut value will be calculated and provided in the quote. When "receive" is used, amount represents the value on the chainOut and the chainIn value will be calculated and provided in the quote.
Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.
The address that the tokens should be returned to in the case that this transaction fails, e.g. "0xabc...xyz". Where this is not set in advance, Rhino.fi can still facilitate the refund of any assets given a failed AML check or unsupported tokens being received; please contact your Customer Support Manager for assistance in this situation.
The value of the tokens that will be sent on the chainIn, denominated in the token as a human-readable decimal amount (e.g. "1.5"), not the smallest unit / wei.
The value of the tokens that will be sent on the chainOut, denominated in the token as a human-readable decimal amount (e.g. "1.5"), not the smallest unit / wei.
Contains information about the fee structure of the transaction. The fields should be read differently depending on whether the client is a "legacy" or "PAYG/subscription tier" client.
Functionality provided by Rhino.fi to deliver a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.
Provides information about whether the transaction should be completed "fast" (typically under 30 seconds), "standard" (typically under a minute) or "slow" (can be up to 20 minutes). For more information on our bridge processing speeds please read this article on the Rhino.fi Knowledge Base: https://learn.rhino.fi/articles/8257872655-bridge-speed.
Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.
A URL that success or failure events related to this bridging transaction should be sent to, e.g. "https://client.com/rhino-webhook".
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"rhino.fi - Docs","colors":{"primary":"#EC6530","light":"#FFAE6E","dark":"#EC6530"},"logo":{"light":"https://mintcdn.com/rhinofi/HGZOBv0k7QrdOe9G/logo/light.svg?fit=max\u0026auto=format\u0026n=HGZOBv0k7QrdOe9G\u0026q=85\u0026s=f00220627b114f0d5385756ccb61f55e","dark":"https://mintcdn.com/rhinofi/HGZOBv0k7QrdOe9G/logo/dark.svg?fit=max\u0026auto=format\u0026n=HGZOBv0k7QrdOe9G\u0026q=85\u0026s=6c233cf6099c635a00dcdb3643ea41cf"},"favicon":"https://mintcdn.com/rhinofi/HGZOBv0k7QrdOe9G/favicon.png?fit=max\u0026auto=format\u0026n=HGZOBv0k7QrdOe9G\u0026q=85\u0026s=32cac0eb60b5a965cb7308ad1eafefe8","api":{"mdx":{"server":"https://api.rhino.fi/bridge"}},"navbar":{"links":[{"href":"https://go.crisp.chat/chat/embed/?website_id=598d8062-c46b-40e7-a7cd-0bf2061390a5","label":"Support"}],"primary":{"type":"button","label":"Talk to the team","href":"https://rhino.fi/contact"}},"footer":{"socials":{"x":"https://x.com/rhinofi","github":"https://github.com/rhinofi"}},"fonts":{"family":"Geist"},"integrations":{"heap":{"appId":"3649556247"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Rhino.fi Console","icon":"code","href":"https://console.rhino.fi"},{"anchor":"Website","icon":"globe","href":"https://rhino.fi/"},{"anchor":"Blog","icon":"newspaper","href":"https://rhino.fi/blog/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rhinofi","hasAudioNarration":false,"actualSubdomain":"rhinofi","customDomains":["docs.rhino.fi"],"gitSource":{"type":"github","owner":"rhinofi","repo":"rhino-public-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4a50ef49f5b7aedfded9e","collectionId":"5c7b2aa0-65a9-47f4-8337-45a4347604b6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4a50ef49f5b7aedfded9e"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4a50ef49f5b7aedfded9e","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Guides","count":55},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"SDK","count":18},{"language":"default","tag":"Get Started","count":13},{"language":"default","tag":"Bridge \u0026 swap endpoints","count":13},{"language":"default","tag":"SDA endpoints","count":9},{"language":"default","tag":"depositAddresses","count":9},{"language":"default","tag":"Chain Adapters","count":8},{"language":"default","tag":"API Integration","count":7},{"language":"default","tag":"Extensions","count":7}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/bridge/quote/generate-a-bridgebridge+swap-quote","slug":"/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote","pageMetadata":{"title":"Generate a bridge/bridge+swap quote","description":"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the `POST /quote/commit/{quoteId}` endpoint.","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json post /quote/bridge-swap/user","href":"/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the \", _jsx(_components.code, {\n children: \"POST /quote/commit/{quoteId}\"\n }), \" endpoint.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate a bridge/bridge+swap quote","description":"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the `POST /quote/commit/{quoteId}` endpoint.","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json post /quote/bridge-swap/user","href":"/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["quote"],"operationId":"quote.bridgeSwapUserQuote","parameters":[],"security":["79268d02-1997-4a00-a7f1-17fd0e6ea078","802987bd-a50f-48b8-afa8-be7faf6509d3"],"responses":{"200":"fea39adc-53c6-499a-a2a2-79b923a1e2a8","400":"3bcf2870-8c3c-4cf4-b2fa-f703115e7da5","401":"98b64f3f-52d0-47de-a9f5-62ea5c8c186d","403":"770ede44-924d-4d7f-83e1-ebd03b9b2ae0","404":"c0176c8f-a6c6-480b-8c81-92e00d0501f1","422":"ad735679-55a6-4aa0-a38e-d92c32d0ca80"},"description":"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the `POST /quote/commit/{quoteId}` endpoint.","summary":"Generate a bridge/bridge+swap quote","requestBody":"a673d2cf-4cc6-480a-9010-30e4fbd9e73e","method":"post","type":"path","servers":["7d2001a3-661d-4501-9b33-4eddef43f509"],"path":"/quote/bridge-swap/user","baseUrlOptions":["https://api.rhino.fi/bridge"],"title":"Generate a bridge/bridge+swap quote","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chainIn":{"type":"string","minLength":1,"description":"The blockchain that the tokens will be bridged from, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"chainIn","typeLabel":"string"},"chainOut":{"type":"string","minLength":1,"description":"The blockchain that the tokens will be bridged to, e.g. \"AVALANCHE\".","isRequired":true,"uniqueKey":"chainOut","typeLabel":"string"},"amount":{"type":"string","description":"When the mode is \"pay\" this is the amount of the token to be sent; when the mode is \"receive\" this is the amount of the token that will be received. E.g. to send 456.34 USDT the amount should be \"456.34\".","isRequired":true,"uniqueKey":"amount","typeLabel":"string"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount should represent the sending or receiving amount, e.g. \"pay\". When \"pay\" is used, `amount` represents the value on the `chainIn` and the `chainOut` value will be calculated and provided in the quote. When \"receive\" is used, `amount` represents the value on the `chainOut` and the `chainIn` value will be calculated and provided in the quote.","examples":["pay"],"isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"tokenIn":{"type":"string","minLength":1,"description":"The token that is to be sent on the chainIn, e.g. \"USDT\".","isRequired":true,"uniqueKey":"tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","minLength":1,"description":"The token that is to be received on the chainOut, e.g. \"USDT\".","isRequired":true,"uniqueKey":"tokenOut","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that will be sending the tokens for bridging, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"depositor","typeLabel":"string"},"recipient":{"type":"string","description":"The address on the chainOut that will be receiving the bridged tokens, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"recipient","typeLabel":"string"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that will be delivered to the user's wallet on the destination chain for a Gas Boost, e.g. \"10\".","uniqueKey":"amountNative.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"amountNative.oneOf.1","typeLabel":"null"}],"uniqueKey":"amountNative","typeLabel":"string | null"},"isSda":{"type":"string","enum":["true","false"],"uniqueKey":"isSda","typeLabel":"enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","vaultId"],"properties":{"_tag":{"type":"string","enum":["extended"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.0._tag","typeLabel":"enum\u003cstring>"},"vaultId":{"type":"integer","minimum":0,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfi"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrap"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrapsandbox"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","spans"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfiv2"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["aavev3supply"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["rocketfoundationdeposit"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["mapledeposit"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["etherfideposit"],"isRequired":true,"uniqueKey":"postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"postBridgeData","typeLabel":"object"},"webhookUrl":{"type":"string","description":"A URL that success or failure events related to this bridging transaction should be sent to, e.g. \"https://client.com/rhino-webhook\".","uniqueKey":"webhookUrl","typeLabel":"string"},"refundAddress":{"type":"string","description":"The address that the tokens should be returned to in the case that this transaction fails, e.g. \"0xabc...xyz\". Where this is not set in advance, Rhino.fi can still facilitate the refund of any assets given a failed AML check or unsupported tokens being received; please contact your Customer Support Manager for assistance in this situation.","uniqueKey":"refundAddress","typeLabel":"string"}},"required":["chainIn","chainOut","amount","mode","tokenIn","tokenOut","depositor","recipient"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"chainIn":"\u003cstring>","chainOut":"\u003cstring>","amount":"\u003cstring>","mode":"pay","tokenIn":"\u003cstring>","tokenOut":"\u003cstring>","depositor":"\u003cstring>","recipient":"\u003cstring>","amountNative":"\u003cstring>","postBridgeData":{"_tag":"extended","vaultId":1},"webhookUrl":"\u003cstring>","refundAddress":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"fea39adc-53c6-499a-a2a2-79b923a1e2a8":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["_tag","chainIn","chainOut","payAmount","payAmountUsd","receiveAmount","receiveAmountUsd","fees","token","depositor","recipient","expiresAt","quoteId","flowCredits"],"properties":{"_tag":{"type":"string","enum":["bridge"],"isRequired":true,"uniqueKey":"oneOf.0._tag","typeLabel":"enum\u003cstring>"},"chainIn":{"type":"string","description":"The blockchain that the tokens will be bridged from, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"oneOf.0.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens will be bridged to, e.g. \"AVALANCHE\".","isRequired":true,"uniqueKey":"oneOf.0.chainOut","typeLabel":"string"},"payAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainIn, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.0.payAmount","typeLabel":"string"},"payAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainIn.","isRequired":true,"uniqueKey":"oneOf.0.payAmountUsd","typeLabel":"number"},"receiveAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainOut, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.0.receiveAmount","typeLabel":"string"},"receiveAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainOut.","isRequired":true,"uniqueKey":"oneOf.0.receiveAmountUsd","typeLabel":"number"},"fees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the end customer for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being paid by the client then this value will be zero and the gasFee and gasFeeUsd in the sponsored fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.0.fees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.0.fees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the end customer, unless configured this way. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.0.fees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.0.fees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeUsd","typeLabel":"number"},"percentageFeeAmount":{"oneOf":[{"type":"number","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeAmount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeAmount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeAmount","typeLabel":"number | null"},"percentageFeeThreshold":{"oneOf":[{"type":"number","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeThreshold.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeThreshold.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.fees.percentageFeeThreshold","typeLabel":"number | null"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the client for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being passed on to the end user then this value will be zero and the gasFee and gasFeeUsd in the main fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the client, unless configured to be passed onto the end customer. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.sponsoredFees.percentageFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd"],"additionalProperties":false,"uniqueKey":"oneOf.0.fees.sponsoredFees","typeLabel":"object"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","percentageFeeAmount","percentageFeeThreshold"],"additionalProperties":false,"description":"Contains information about the fee structure of the transaction. The fields should be read differently depending on whether the client is a \"legacy\" or \"PAYG/subscription tier\" client.","isRequired":true,"uniqueKey":"oneOf.0.fees","typeLabel":"object"},"token":{"type":"string","description":"The asset that will be received on the chainOut.","isRequired":true,"uniqueKey":"oneOf.0.token","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that will be sending the tokens for bridging, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.0.depositor","typeLabel":"string"},"recipient":{"type":"string","description":"The address on the chainOut that will be receiving the bridged tokens, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.0.recipient","typeLabel":"string"},"expiresAt":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.expiresAt","typeLabel":"string"},"quoteId":{"type":"string","description":"The unique identifier of this quote. Submit this in the `POST /quote/commit/{quoteId}` endpoint to commit the quote.","isRequired":true,"uniqueKey":"oneOf.0.quoteId","typeLabel":"string"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","isRequired":true,"uniqueKey":"oneOf.0.flowCredits","typeLabel":"number"},"promotion":{"type":"object","properties":{"name":{"type":"string","description":"The name of the promotion applied to this quote.","isRequired":true,"uniqueKey":"oneOf.0.promotion.name","typeLabel":"string"},"maxLimitUsd":{"oneOf":[{"type":"number","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.0.promotion.maxLimitUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.0.promotion.maxLimitUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.promotion.maxLimitUsd","typeLabel":"number | null"}},"required":["name","maxLimitUsd"],"additionalProperties":false,"description":"Promotion details if applicable (optional).","uniqueKey":"oneOf.0.promotion","typeLabel":"object"},"gasBoost":{"type":"object","properties":{"amountNative":{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that will be delivered to the user's wallet on the destination chain.","isRequired":true,"uniqueKey":"oneOf.0.gasBoost.amountNative","typeLabel":"string"},"amountNativeUsd":{"type":"number","description":"The estimated value, in USD, of the amountNative.","isRequired":true,"uniqueKey":"oneOf.0.gasBoost.amountNativeUsd","typeLabel":"number"},"amountNativeTokenCost":{"type":"string","description":"The cost applied by Rhino.fi for enabling this Gas Boost functionality. This will be deducted from the tokens on the chainOut.","isRequired":true,"uniqueKey":"oneOf.0.gasBoost.amountNativeTokenCost","typeLabel":"string"}},"required":["amountNative","amountNativeUsd","amountNativeTokenCost"],"additionalProperties":false,"description":"Functionality provided by Rhino.fi to deliver a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","uniqueKey":"oneOf.0.gasBoost","typeLabel":"object"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction should be completed \"fast\" (typically under 30 seconds), \"standard\" (typically under a minute) or \"slow\" (can be up to 20 minutes). For more information on our bridge processing speeds please read this article on the Rhino.fi Knowledge Base: https://learn.rhino.fi/articles/8257872655-bridge-speed.","uniqueKey":"oneOf.0.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"oneOf.0.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"oneOf.0.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.0.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","vaultId"],"properties":{"_tag":{"type":"string","enum":["extended"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.0._tag","typeLabel":"enum\u003cstring>"},"vaultId":{"type":"integer","minimum":0,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfi"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrap"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrapsandbox"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","spans"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfiv2"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["aavev3supply"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["rocketfoundationdeposit"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["mapledeposit"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["etherfideposit"],"isRequired":true,"uniqueKey":"oneOf.0.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"oneOf.0.postBridgeData","typeLabel":"object"},"webhookUrl":{"type":"string","description":"A URL that success or failure events related to this bridging transaction should be sent to, e.g. \"https://client.com/rhino-webhook\".","uniqueKey":"oneOf.0.webhookUrl","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["_tag","chainIn","chainOut","payAmount","payAmountUsd","receiveAmount","receiveAmountUsd","fees","tokenIn","tokenOut","bridgeToken","bridgePayAmount","bridgePayAmountUsd","bridgeReceiveAmount","minReceiveAmount","minReceiveAmountUsd","usdPriceTokenIn","usdPriceTokenOut","depositor","recipient","expiresAt","quoteId","flowCredits"],"properties":{"_tag":{"type":"string","enum":["bridgeSwap"],"isRequired":true,"uniqueKey":"oneOf.1._tag","typeLabel":"enum\u003cstring>"},"chainIn":{"type":"string","description":"The blockchain that the tokens will be bridged from, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"oneOf.1.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens will be bridged to, e.g. \"AVALANCHE\".","isRequired":true,"uniqueKey":"oneOf.1.chainOut","typeLabel":"string"},"payAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainIn, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.1.payAmount","typeLabel":"string"},"payAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainIn.","isRequired":true,"uniqueKey":"oneOf.1.payAmountUsd","typeLabel":"number"},"receiveAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainOut, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.1.receiveAmount","typeLabel":"string"},"receiveAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainOut.","isRequired":true,"uniqueKey":"oneOf.1.receiveAmountUsd","typeLabel":"number"},"fees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the end customer for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being paid by the client then this value will be zero and the gasFee and gasFeeUsd in the sponsored fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.1.fees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.1.fees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the end customer, unless configured this way. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.1.fees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.1.fees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeUsd","typeLabel":"number"},"percentageFeeAmount":{"oneOf":[{"type":"number","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeAmount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeAmount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeAmount","typeLabel":"number | null"},"percentageFeeThreshold":{"oneOf":[{"type":"number","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeThreshold.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeThreshold.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.fees.percentageFeeThreshold","typeLabel":"number | null"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the client for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being passed on to the end user then this value will be zero and the gasFee and gasFeeUsd in the main fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the client, unless configured to be passed onto the end customer. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.sponsoredFees.percentageFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd"],"additionalProperties":false,"uniqueKey":"oneOf.1.fees.sponsoredFees","typeLabel":"object"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","percentageFeeAmount","percentageFeeThreshold"],"additionalProperties":false,"description":"Contains information about the fee structure of the transaction. The fields should be read differently depending on whether the client is a \"legacy\" or \"PAYG/subscription tier\" client.","isRequired":true,"uniqueKey":"oneOf.1.fees","typeLabel":"object"},"tokenIn":{"type":"string","description":"Token symbol or identifier being sent from the source chain.","isRequired":true,"uniqueKey":"oneOf.1.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"Token symbol or identifier being received on the destination chain.","isRequired":true,"uniqueKey":"oneOf.1.tokenOut","typeLabel":"string"},"bridgeToken":{"type":"string","description":"Intermediate token used for the bridge operation.","isRequired":true,"uniqueKey":"oneOf.1.bridgeToken","typeLabel":"string"},"bridgePayAmount":{"type":"string","description":"Amount of bridge token that will be used in the bridge transaction.","isRequired":true,"uniqueKey":"oneOf.1.bridgePayAmount","typeLabel":"string"},"bridgePayAmountUsd":{"type":"number","description":"USD equivalent value of the bridge pay amount.","isRequired":true,"uniqueKey":"oneOf.1.bridgePayAmountUsd","typeLabel":"number"},"bridgeReceiveAmount":{"type":"string","description":"Amount of bridge token expected to be received after bridging.","isRequired":true,"uniqueKey":"oneOf.1.bridgeReceiveAmount","typeLabel":"string"},"minReceiveAmount":{"type":"string","description":"Minimum amount of tokenOut guaranteed to be received (slippage protection).","isRequired":true,"uniqueKey":"oneOf.1.minReceiveAmount","typeLabel":"string"},"minReceiveAmountUsd":{"type":"number","description":"USD equivalent value of the minimum receive amount.","isRequired":true,"uniqueKey":"oneOf.1.minReceiveAmountUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"USD price of the input token at the time of quote.","isRequired":true,"uniqueKey":"oneOf.1.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"USD price of the output token at the time of quote.","isRequired":true,"uniqueKey":"oneOf.1.usdPriceTokenOut","typeLabel":"number"},"depositor":{"type":"string","description":"The address on the chainIn that will be sending the tokens for bridging, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.1.depositor","typeLabel":"string"},"recipient":{"type":"string","description":"The address on the chainOut that will be receiving the bridged tokens, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.1.recipient","typeLabel":"string"},"expiresAt":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.expiresAt","typeLabel":"string"},"quoteId":{"type":"string","description":"The unique identifier of this quote. Submit this in the `POST /quote/commit/{quoteId}` endpoint to commit the quote.","isRequired":true,"uniqueKey":"oneOf.1.quoteId","typeLabel":"string"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","isRequired":true,"uniqueKey":"oneOf.1.flowCredits","typeLabel":"number"},"promotion":{"type":"object","properties":{"name":{"type":"string","description":"The name of the promotion applied to this quote.","isRequired":true,"uniqueKey":"oneOf.1.promotion.name","typeLabel":"string"},"maxLimitUsd":{"oneOf":[{"type":"number","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.1.promotion.maxLimitUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.1.promotion.maxLimitUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.promotion.maxLimitUsd","typeLabel":"number | null"}},"required":["name","maxLimitUsd"],"additionalProperties":false,"description":"Promotion details if applicable (optional).","uniqueKey":"oneOf.1.promotion","typeLabel":"object"},"gasBoost":{"type":"object","properties":{"amountNative":{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that will be delivered to the user's wallet on the destination chain.","isRequired":true,"uniqueKey":"oneOf.1.gasBoost.amountNative","typeLabel":"string"},"amountNativeUsd":{"type":"number","description":"The estimated value, in USD, of the amountNative.","isRequired":true,"uniqueKey":"oneOf.1.gasBoost.amountNativeUsd","typeLabel":"number"},"amountNativeTokenCost":{"type":"string","description":"The cost applied by Rhino.fi for enabling this Gas Boost functionality. This will be deducted from the tokens on the chainOut.","isRequired":true,"uniqueKey":"oneOf.1.gasBoost.amountNativeTokenCost","typeLabel":"string"}},"required":["amountNative","amountNativeUsd","amountNativeTokenCost"],"additionalProperties":false,"description":"Functionality provided by Rhino.fi to deliver a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","uniqueKey":"oneOf.1.gasBoost","typeLabel":"object"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction should be completed \"fast\" (typically under 30 seconds), \"standard\" (typically under a minute) or \"slow\" (can be up to 20 minutes). For more information on our bridge processing speeds please read this article on the Rhino.fi Knowledge Base: https://learn.rhino.fi/articles/8257872655-bridge-speed.","uniqueKey":"oneOf.1.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"oneOf.1.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"oneOf.1.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether this is an atomic swap operation (optional).","uniqueKey":"oneOf.1.isAtomicSwap","typeLabel":"boolean"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","vaultId"],"properties":{"_tag":{"type":"string","enum":["extended"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.0._tag","typeLabel":"enum\u003cstring>"},"vaultId":{"type":"integer","minimum":0,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfi"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrap"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrapsandbox"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","spans"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfiv2"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["aavev3supply"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["rocketfoundationdeposit"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["mapledeposit"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["etherfideposit"],"isRequired":true,"uniqueKey":"oneOf.1.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.1.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"oneOf.1.postBridgeData","typeLabel":"object"},"webhookUrl":{"type":"string","description":"A URL that success or failure events related to this bridging transaction should be sent to, e.g. \"https://client.com/rhino-webhook\".","uniqueKey":"oneOf.1.webhookUrl","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["_tag","chainIn","chainOut","payAmount","payAmountUsd","receiveAmount","receiveAmountUsd","fees","token","depositor","recipient","expiresAt","quoteId","flowCredits"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"],"isRequired":true,"uniqueKey":"oneOf.2._tag","typeLabel":"enum\u003cstring>"},"chainIn":{"type":"string","description":"The blockchain that the tokens will be bridged from, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"oneOf.2.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens will be bridged to, e.g. \"AVALANCHE\".","isRequired":true,"uniqueKey":"oneOf.2.chainOut","typeLabel":"string"},"payAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainIn, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.2.payAmount","typeLabel":"string"},"payAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainIn.","isRequired":true,"uniqueKey":"oneOf.2.payAmountUsd","typeLabel":"number"},"receiveAmount":{"type":"string","description":"The value of the tokens that will be sent on the chainOut, denominated in the token as a human-readable decimal amount (e.g. \"1.5\"), not the smallest unit / wei.","isRequired":true,"uniqueKey":"oneOf.2.receiveAmount","typeLabel":"string"},"receiveAmountUsd":{"type":"number","description":"The USD value of the tokens that will be sent on the chainOut.","isRequired":true,"uniqueKey":"oneOf.2.receiveAmountUsd","typeLabel":"number"},"fees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the end customer for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being paid by the client then this value will be zero and the gasFee and gasFeeUsd in the sponsored fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.2.fees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.2.fees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the end customer, unless configured this way. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.2.fees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.2.fees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeUsd","typeLabel":"number"},"percentageFeeAmount":{"oneOf":[{"type":"number","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeAmount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the %-based Client Surcharge which has been applied, based on percentageFeeThreshold. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeAmount will be 0.05.","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeAmount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeAmount","typeLabel":"number | null"},"percentageFeeThreshold":{"oneOf":[{"type":"number","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeThreshold.oneOf.0","typeLabel":"number"},{"type":"null","description":"Represents the lower bound of any threshold-based setup which the percentageFee is being applied for. E.g. where there is a Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to $10,000, if the transaction amount is $500 then this percentageFeeThreshold will be 0.","isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeThreshold.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.fees.percentageFeeThreshold","typeLabel":"number | null"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.feeUsd","typeLabel":"number"},"gasFee":{"type":"string","description":"Any chain specific costs charged to the client for the chainOut part of the overall transaction. Further information about which chains have these associated costs can be found here: https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs. If these costs are being passed on to the end user then this value will be zero and the gasFee and gasFeeUsd in the main fee body will be non-zero.","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.gasFeeUsd","typeLabel":"number"},"sourceGasFee":{"type":"string","description":"The cost on the chainIn to sweep the received tokens into Rhino.fi's control. For legacy clients this is deducted from the tokens sent on the chainOut. For PAYG/Subscription tier clients this is paid by Rhino.fi as part of the PAYG/Subscription monthly cost so no direct cost is passed onto the client, unless configured to be passed onto the end customer. This is only relevant for transactions involving a Rhino.fi Smart Deposit Address; for bridging/swapping-only activity the sourceGasFee will be paid directly by the customer within their depositing transaction.","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.sponsoredFees.percentageFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd"],"additionalProperties":false,"uniqueKey":"oneOf.2.fees.sponsoredFees","typeLabel":"object"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","sourceGasFee","sourceGasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","percentageFeeAmount","percentageFeeThreshold"],"additionalProperties":false,"description":"Contains information about the fee structure of the transaction. The fields should be read differently depending on whether the client is a \"legacy\" or \"PAYG/subscription tier\" client.","isRequired":true,"uniqueKey":"oneOf.2.fees","typeLabel":"object"},"token":{"type":"string","description":"The asset that will be received on the chainOut.","isRequired":true,"uniqueKey":"oneOf.2.token","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that will be sending the tokens for bridging, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.2.depositor","typeLabel":"string"},"recipient":{"type":"string","description":"The address on the chainOut that will be receiving the bridged tokens, e.g. \"0x1234...Abc\".","isRequired":true,"uniqueKey":"oneOf.2.recipient","typeLabel":"string"},"expiresAt":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.expiresAt","typeLabel":"string"},"quoteId":{"type":"string","description":"The unique identifier of this quote. Submit this in the `POST /quote/commit/{quoteId}` endpoint to commit the quote.","isRequired":true,"uniqueKey":"oneOf.2.quoteId","typeLabel":"string"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","isRequired":true,"uniqueKey":"oneOf.2.flowCredits","typeLabel":"number"},"promotion":{"type":"object","properties":{"name":{"type":"string","description":"The name of the promotion applied to this quote.","isRequired":true,"uniqueKey":"oneOf.2.promotion.name","typeLabel":"string"},"maxLimitUsd":{"oneOf":[{"type":"number","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.2.promotion.maxLimitUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The maximum USD value of a transaction that this promotion applies to. Null where the promotion has no upper limit.","isRequired":true,"uniqueKey":"oneOf.2.promotion.maxLimitUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.promotion.maxLimitUsd","typeLabel":"number | null"}},"required":["name","maxLimitUsd"],"additionalProperties":false,"description":"Promotion details if applicable (optional).","uniqueKey":"oneOf.2.promotion","typeLabel":"object"},"gasBoost":{"type":"object","properties":{"amountNative":{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that will be delivered to the user's wallet on the destination chain.","isRequired":true,"uniqueKey":"oneOf.2.gasBoost.amountNative","typeLabel":"string"},"amountNativeUsd":{"type":"number","description":"The estimated value, in USD, of the amountNative.","isRequired":true,"uniqueKey":"oneOf.2.gasBoost.amountNativeUsd","typeLabel":"number"},"amountNativeTokenCost":{"type":"string","description":"The cost applied by Rhino.fi for enabling this Gas Boost functionality. This will be deducted from the tokens on the chainOut.","isRequired":true,"uniqueKey":"oneOf.2.gasBoost.amountNativeTokenCost","typeLabel":"string"}},"required":["amountNative","amountNativeUsd","amountNativeTokenCost"],"additionalProperties":false,"description":"Functionality provided by Rhino.fi to deliver a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","uniqueKey":"oneOf.2.gasBoost","typeLabel":"object"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction should be completed \"fast\" (typically under 30 seconds), \"standard\" (typically under a minute) or \"slow\" (can be up to 20 minutes). For more information on our bridge processing speeds please read this article on the Rhino.fi Knowledge Base: https://learn.rhino.fi/articles/8257872655-bridge-speed.","uniqueKey":"oneOf.2.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"oneOf.2.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"oneOf.2.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.2.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","vaultId"],"properties":{"_tag":{"type":"string","enum":["extended"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.0._tag","typeLabel":"enum\u003cstring>"},"vaultId":{"type":"integer","minimum":0,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfi"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrap"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrapsandbox"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag","spans"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfiv2"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["aavev3supply"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["rocketfoundationdeposit"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["mapledeposit"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for specific clients, e.g. to move funds after the initial bridge into a yield bearing vault. To understand more about how Routing Rules can help automate onchain actions and ensure that your funds land in an active state, please contact your Rhino.fi Customer Success Manager or speak to a member of the Rhino.fi sales team.","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["etherfideposit"],"isRequired":true,"uniqueKey":"oneOf.2.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"oneOf.2.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"oneOf.2.postBridgeData","typeLabel":"object"},"webhookUrl":{"type":"string","description":"A URL that success or failure events related to this bridging transaction should be sent to, e.g. \"https://client.com/rhino-webhook\".","uniqueKey":"oneOf.2.webhookUrl","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"bridge","chainIn":"\u003cstring>","chainOut":"\u003cstring>","payAmount":"\u003cstring>","payAmountUsd":123,"receiveAmount":"\u003cstring>","receiveAmountUsd":123,"fees":{"fee":"\u003cstring>","feeUsd":123,"gasFee":"\u003cstring>","gasFeeUsd":123,"sourceGasFee":"\u003cstring>","sourceGasFeeUsd":123,"platformFee":"\u003cstring>","platformFeeUsd":123,"percentageFee":"\u003cstring>","percentageFeeUsd":123,"percentageFeeAmount":123,"percentageFeeThreshold":123,"sponsoredFees":{"fee":"\u003cstring>","feeUsd":123,"gasFee":"\u003cstring>","gasFeeUsd":123,"sourceGasFee":"\u003cstring>","sourceGasFeeUsd":123,"platformFee":"\u003cstring>","platformFeeUsd":123,"percentageFee":"\u003cstring>","percentageFeeUsd":123}},"token":"\u003cstring>","depositor":"\u003cstring>","recipient":"\u003cstring>","expiresAt":"\u003cstring>","quoteId":"\u003cstring>","flowCredits":123,"promotion":{"name":"\u003cstring>","maxLimitUsd":123},"gasBoost":{"amountNative":"\u003cstring>","amountNativeUsd":123,"amountNativeTokenCost":"\u003cstring>"},"speed":"fast","estimatedDuration":123,"postBridgeData":{"_tag":"extended","vaultId":1},"webhookUrl":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3bcf2870-8c3c-4cf4-b2fa-f703115e7da5":{"description":"InvalidJwt | HttpApiDecodeError","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["_tag","message"],"properties":{"_tag":{"type":"string","enum":["InvalidJwt"],"isRequired":true,"uniqueKey":"oneOf.0._tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["_tag","issues","message"],"properties":{"_tag":{"type":"string","enum":["HttpApiDecodeError"],"isRequired":true,"uniqueKey":"oneOf.1._tag","typeLabel":"enum\u003cstring>"},"issues":{"type":"array","items":{"type":"object","properties":{"_tag":{"type":"string","enum":["Pointer","Unexpected","Missing","Composite","Refinement","Transformation","Type","Forbidden"],"isRequired":true,"uniqueKey":"oneOf.1.issues.items.[INDEX]._tag","typeLabel":"enum\u003cstring>"},"path":{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.issues.items.[INDEX].path.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"oneOf.1.issues.items.[INDEX].path.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"oneOf.1.issues.items.[INDEX].path.items.[INDEX].oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"oneOf.1.issues.items.[INDEX].path.items.[INDEX]","typeLabel":"string | number | enum\u003cstring>"},"isRequired":true,"uniqueKey":"oneOf.1.issues.items.[INDEX].path","typeLabel":"(string | number | enum\u003cstring>)[]"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.issues.items.[INDEX].message","typeLabel":"string"}},"required":["_tag","path","message"],"additionalProperties":false,"uniqueKey":"oneOf.1.issues.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.issues","typeLabel":"object[]"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"InvalidJwt","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"98b64f3f-52d0-47de-a9f5-62ea5c8c186d":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"_tag":{"type":"string","enum":["Unauthorized"],"isRequired":true,"uniqueKey":"_tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["_tag","message"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"Unauthorized","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"770ede44-924d-4d7f-83e1-ebd03b9b2ae0":{"description":"ExtensionNotEnabled","content":{"application/json":{"schema":{"type":"object","properties":{"_tag":{"type":"string","enum":["ExtensionNotEnabled"],"isRequired":true,"uniqueKey":"_tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"extension":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"extension","typeLabel":"string"}},"required":["_tag","message","extension"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"ExtensionNotEnabled","message":"\u003cstring>","extension":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c0176c8f-a6c6-480b-8c81-92e00d0501f1":{"description":"NoRouteFoundError","content":{"application/json":{"schema":{"type":"object","properties":{"_tag":{"type":"string","enum":["NoRouteFoundError"],"isRequired":true,"uniqueKey":"_tag","typeLabel":"enum\u003cstring>"},"tokenIn":{"type":"string","isRequired":true,"uniqueKey":"tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","isRequired":true,"uniqueKey":"tokenOut","typeLabel":"string"},"chainIn":{"type":"string","isRequired":true,"uniqueKey":"chainIn","typeLabel":"string"},"chainOut":{"type":"string","isRequired":true,"uniqueKey":"chainOut","typeLabel":"string"}},"required":["_tag","tokenIn","tokenOut","chainIn","chainOut"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"NoRouteFoundError","tokenIn":"\u003cstring>","tokenOut":"\u003cstring>","chainIn":"\u003cstring>","chainOut":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ad735679-55a6-4aa0-a38e-d92c32d0ca80":{"description":"WithdrawLimitReached | DepositLimitReached | GasBoostGreaterThanReceiveAmount | NegativeReceiveAmount | InvalidRequest | SwapLimitReached | NoCommonBridgeTokensError | NoBridgeTokenFoundError | SdaDepositLimitExceeded | SdaDepositBelowMinimum | SameChainSwapNotAvailable","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["_tag","token","chain","receiveAmount","maxWithdrawAmount"],"properties":{"_tag":{"type":"string","enum":["WithdrawLimitReached"],"isRequired":true,"uniqueKey":"oneOf.0._tag","typeLabel":"enum\u003cstring>"},"token":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.token","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.chain","typeLabel":"string"},"receiveAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.receiveAmount","typeLabel":"string"},"maxWithdrawAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.maxWithdrawAmount","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["_tag","token","chain","payAmount","maxDepositAmount"],"properties":{"_tag":{"type":"string","enum":["DepositLimitReached"],"isRequired":true,"uniqueKey":"oneOf.1._tag","typeLabel":"enum\u003cstring>"},"token":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.token","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.chain","typeLabel":"string"},"payAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.payAmount","typeLabel":"string"},"maxDepositAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.maxDepositAmount","typeLabel":"string"},"payAmountUsd":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.payAmountUsd.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.payAmountUsd.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.payAmountUsd","typeLabel":"string | null"},"maxDepositAmountUsd":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.maxDepositAmountUsd.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.maxDepositAmountUsd.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.maxDepositAmountUsd","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["_tag","amountNativeTokenCost","receiveAmount"],"properties":{"_tag":{"type":"string","enum":["GasBoostGreaterThanReceiveAmount"],"isRequired":true,"uniqueKey":"oneOf.2._tag","typeLabel":"enum\u003cstring>"},"amountNativeTokenCost":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.amountNativeTokenCost","typeLabel":"string"},"receiveAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.receiveAmount","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["_tag","receiveAmount"],"properties":{"_tag":{"type":"string","enum":["NegativeReceiveAmount"],"isRequired":true,"uniqueKey":"oneOf.3._tag","typeLabel":"enum\u003cstring>"},"receiveAmount":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.receiveAmount","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["_tag","message"],"properties":{"_tag":{"type":"string","enum":["InvalidRequest"],"isRequired":true,"uniqueKey":"oneOf.4._tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","required":["_tag","market","message"],"properties":{"_tag":{"type":"string","enum":["SwapLimitReached"],"isRequired":true,"uniqueKey":"oneOf.5._tag","typeLabel":"enum\u003cstring>"},"market":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.5.market","typeLabel":"string"},"message":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.5.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.5","typeLabel":"object"},{"type":"object","required":["_tag","message"],"properties":{"_tag":{"type":"string","enum":["NoCommonBridgeTokensError"],"isRequired":true,"uniqueKey":"oneOf.6._tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.6.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.6","typeLabel":"object"},{"type":"object","required":["_tag","message"],"properties":{"_tag":{"type":"string","enum":["NoBridgeTokenFoundError"],"isRequired":true,"uniqueKey":"oneOf.7._tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.7.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.7","typeLabel":"object"},{"type":"object","required":["_tag","token","chainIn","chainOut","payAmountUsd","maxDepositAmountUsd"],"properties":{"_tag":{"type":"string","enum":["SdaDepositLimitExceeded"],"isRequired":true,"uniqueKey":"oneOf.8._tag","typeLabel":"enum\u003cstring>"},"token":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.token","typeLabel":"string"},"chainIn":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.chainIn","typeLabel":"string"},"chainOut":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.chainOut","typeLabel":"string"},"payAmountUsd":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.payAmountUsd","typeLabel":"string"},"maxDepositAmountUsd":{"type":"string","isRequired":true,"uniqueKey":"oneOf.8.maxDepositAmountUsd","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.8","typeLabel":"object"},{"type":"object","required":["_tag","token","chainIn","chainOut","payAmountUsd","minDepositAmountUsd"],"properties":{"_tag":{"type":"string","enum":["SdaDepositBelowMinimum"],"isRequired":true,"uniqueKey":"oneOf.9._tag","typeLabel":"enum\u003cstring>"},"token":{"type":"string","isRequired":true,"uniqueKey":"oneOf.9.token","typeLabel":"string"},"chainIn":{"type":"string","isRequired":true,"uniqueKey":"oneOf.9.chainIn","typeLabel":"string"},"chainOut":{"type":"string","isRequired":true,"uniqueKey":"oneOf.9.chainOut","typeLabel":"string"},"payAmountUsd":{"type":"string","isRequired":true,"uniqueKey":"oneOf.9.payAmountUsd","typeLabel":"string"},"minDepositAmountUsd":{"type":"string","isRequired":true,"uniqueKey":"oneOf.9.minDepositAmountUsd","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.9","typeLabel":"object"},{"type":"object","required":["_tag","message"],"properties":{"_tag":{"type":"string","enum":["SameChainSwapNotAvailable"],"isRequired":true,"uniqueKey":"oneOf.10._tag","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.10.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.10","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"_tag":"WithdrawLimitReached","token":"\u003cstring>","chain":"\u003cstring>","receiveAmount":"\u003cstring>","maxWithdrawAmount":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"79268d02-1997-4a00-a7f1-17fd0e6ea078":{"bearer":{"description":"JWT token for authentication","type":"http","scheme":"Bearer","scopes":[],"schemeName":"bearer"}},"802987bd-a50f-48b8-afa8-be7faf6509d3":{"legacyApiKey":{"type":"apiKey","name":"authorization","in":"header","scopes":[],"schemeName":"legacyApiKey"}}},"servers":{"7d2001a3-661d-4501-9b33-4eddef43f509":{"url":"https://api.rhino.fi/bridge"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"JWT token for authentication","type":"http","scheme":"Bearer","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT token for authentication","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"},{"schemes":[{"scheme":{"type":"apiKey","name":"authorization","in":"header","scopes":[],"schemeName":"legacyApiKey"},"schema":{"title":"authorization","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"legacyApiKey","name":"authorization"}],"title":"legacyApiKey"}]},"originalFileLocation":"https://api.rhino.fi/bridge/swagger.json"},"subdomain":"rhinofi","siteName":"rhino.fi - Docs","title":"Generate a bridge/bridge+swap quote - rhino.fi - Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T10:56:13.828Z","originalFileLocation":"api-reference/bridge/quote/generate-a-bridgebridge+swap-quote.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.\">\u003cmeta data-mint-head name=\"application-name\" content=\"rhino.fi - Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate a bridge/bridge+swap quote - rhino.fi - Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"rhino.fi - Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rhinofi.mintlify.app/_mintlify/api/og/v2?division=quote\u0026amp;title=Generate+a+bridge%2Fbridge%2Bswap+quote\u0026amp;description=This+endpoint+allows+you+to+obtain+a+quote+for+a+bridge+or+bridge%2Bswap+transaction+that+can+be+submitted+through+the+%60POST+%2Fquote%2Fcommit%2F%7BquoteId%7D%60+endpoint.\u0026amp;theme=484fc511abe23cc78a1d37b7\u0026amp;signature=5cf36bda77778b4a0ca76f1071df59999eab51c48680b18be349dc42d54752ce\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate a bridge/bridge+swap quote - rhino.fi - Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rhinofi.mintlify.app/_mintlify/api/og/v2?division=quote\u0026amp;title=Generate+a+bridge%2Fbridge%2Bswap+quote\u0026amp;description=This+endpoint+allows+you+to+obtain+a+quote+for+a+bridge+or+bridge%2Bswap+transaction+that+can+be+submitted+through+the+%60POST+%2Fquote%2Fcommit%2F%7BquoteId%7D%60+endpoint.\u0026amp;theme=484fc511abe23cc78a1d37b7\u0026amp;signature=5cf36bda77778b4a0ca76f1071df59999eab51c48680b18be349dc42d54752ce\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/rhinofi/PNn_yjvIpiQYKdTH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"rhino.fi - Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EC6530\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/bridge/quote/generate-a-bridgebridge%2Bswap-quote.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rhino.fi/#organization\",\"name\":\"rhino.fi - Docs\",\"url\":\"https://docs.rhino.fi\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rhinofi/HGZOBv0k7QrdOe9G/logo/light.svg?fit=max\u0026auto=format\u0026n=HGZOBv0k7QrdOe9G\u0026q=85\u0026s=f00220627b114f0d5385756ccb61f55e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rhino.fi#website\",\"name\":\"rhino.fi - Docs\",\"url\":\"https://docs.rhino.fi\",\"publisher\":{\"@id\":\"https://docs.rhino.fi/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote#webpage\",\"url\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote\",\"name\":\"Generate a bridge/bridge+swap quote\",\"description\":\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.\",\"dateModified\":\"2026-10-30T10:56:13.828Z\",\"isPartOf\":{\"@id\":\"https://docs.rhino.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Bridge \u0026 swap endpoints\",\"item\":\"https://docs.rhino.fi/api-reference/bridge/quote/public-quote-for-bridge-\u0026-swap\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"quote\",\"item\":\"https://docs.rhino.fi/api-reference/bridge/quote/public-quote-for-bridge-\u0026-swap\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generate a bridge/bridge+swap quote\",\"item\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote#apireference\",\"headline\":\"Generate a bridge/bridge+swap quote\",\"name\":\"Generate a bridge/bridge+swap quote\",\"description\":\"This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the POST /quote/commit/{quoteId} endpoint.\",\"url\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rhino.fi/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote#webpage\"},\"dateModified\":\"2026-10-30T10:56:13.828Z\",\"publisher\":{\"@id\":\"https://docs.rhino.fi/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rhino.fi#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"rhino.fi - Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"rhino.fi - Docs","nav":{"global":{"anchors":[{"anchor":"Rhino.fi Console","icon":"code","href":"https://console.rhino.fi"},{"anchor":"Website","icon":"globe","href":"https://rhino.fi/"},{"anchor":"Blog","icon":"newspaper","href":"https://rhino.fi/blog/"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Rhino API Reference","href":"/api-reference/introduction"}]},{"group":"Bridge \u0026 swap endpoints","pages":[{"group":"quote","pages":[{"title":"Public Quote for Bridge \u0026 Swap","description":"Fetch public bridge and swap quote.","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /quote/bridge-swap/public","href":"/api-reference/bridge/quote/public-quote-for-bridge-\u0026-swap"},{"title":"Generate a bridge/bridge+swap quote","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json post /quote/bridge-swap/user","href":"/api-reference/bridge/quote/generate-a-bridgebridge+swap-quote"},{"title":"Commit an already generated quote","description":"This endpoint allows you to commit a generated quote from the `POST /quote/bridge-swap/user` endpoint so that it is picked up and tracked by the Rhino.fi system.","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json post /quote/commit/{quoteId}","href":"/api-reference/bridge/quote/commit-an-already-generated-quote"}]},{"group":"configs","pages":[{"title":"Obtain token and chain details for swapping and/or bridging activity","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /configs","href":"/api-reference/bridge/configs/obtain-token-and-chain-details-for-swapping-andor-bridging-activity"},{"title":"Single Config (token address/chain)","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /config/tokens","href":"/api-reference/bridge/configs/single-config-token-addresschain"},{"title":"Obtain token and chain details for swapping and/or bridging activity for a specific token on a specific chain","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /config/{chain}/{token}","href":"/api-reference/bridge/configs/obtain-token-and-chain-details-for-swapping-andor-bridging-activity-for-a-specific-token-on-a-specific-chain"},{"title":"Obtain details for which swap tokens are supported by Rhino.fi on which chains","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /bridge-swap-token-configs","href":"/api-reference/bridge/configs/obtain-details-for-which-swap-tokens-are-supported-by-rhinofi-on-which-chains"}]},{"group":"history","pages":[{"title":"Obtain the status of a specific bridge transaction","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /history/bridge/{bridgeId}","href":"/api-reference/bridge/history/obtain-the-status-of-a-specific-bridge-transaction"},{"title":"Patch Bridge Status","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json patch /history/bridge/{bridgeId}","href":"/api-reference/bridge/history/patch-bridge-status"},{"title":"Obtain the status of a specific bridge transaction by deposit hash","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /history/bridge/by-deposit-hash/{depositTxHash}","href":"/api-reference/bridge/history/obtain-the-status-of-a-specific-bridge-transaction-by-deposit-hash"},{"title":"Obtain the status of a specific bridge transaction by withdrawal hash","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /history/bridge/by-withdraw-hash/{withdrawTxHash}","href":"/api-reference/bridge/history/obtain-the-status-of-a-specific-bridge-transaction-by-withdrawal-hash"},{"title":"Obtain a list of previously generated swapping and/or bridging quotes","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /history-cursor/user","href":"/api-reference/bridge/history/obtain-a-list-of-previously-generated-swapping-andor-bridging-quotes"}]},{"group":"swap","pages":[{"title":"Calldata to execute a single swap","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/bridge/swagger.json get /swap/calldata/{commitmentId}","href":"/api-reference/bridge/swap/calldata-to-execute-a-single-swap"}]}]},{"group":"SDA endpoints","pages":[{"group":"depositAddresses","pages":[{"title":"Generate a new smart deposit address","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json post /deposit-addresses","href":"/api-reference/sda/depositaddresses/generate-a-new-smart-deposit-address"},{"title":"Pause, unpause, or update deposit addresses","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json patch /deposit-addresses/{depositAddress}","href":"/api-reference/sda/depositaddresses/pause-unpause-or-update-deposit-addresses"},{"title":"Get deposit address status","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/{depositAddress}/{depositChain}","href":"/api-reference/sda/depositaddresses/get-deposit-address-status"},{"title":"Obtain a list of previous activity for a Smart Deposit Address","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/{depositAddress}/{depositChain}/history","href":"/api-reference/sda/depositaddresses/obtain-a-list-of-previous-activity-for-a-smart-deposit-address"},{"title":"Get public deposit address status","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/{depositAddress}/{depositChain}/public-status","href":"/api-reference/sda/depositaddresses/get-public-deposit-address-status"},{"title":"Get completed SDA refunds","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/{depositAddress}/{depositChain}/completed-refunds","href":"/api-reference/sda/depositaddresses/get-completed-sda-refunds"},{"title":"Obtain the supported tokens for a Smart Deposit Address","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/{depositChain}/{destinationChain}/supported-tokens","href":"/api-reference/sda/depositaddresses/obtain-the-supported-tokens-for-a-smart-deposit-address"},{"title":"Obtain a specific Smart Deposit Address/es based on various criteria","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/search","href":"/api-reference/sda/depositaddresses/obtain-a-specific-smart-deposit-addresses-based-on-various-criteria"},{"title":"Obtain the current rate limit usage for Smart Deposit Address creation","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/sda/swagger.json get /deposit-addresses/rate-limit-status","href":"/api-reference/sda/depositaddresses/obtain-the-current-rate-limit-usage-for-smart-deposit-address-creation"}]}]},{"group":"Webhook endpoints","pages":[{"group":"signature","pages":[{"title":"Rhino.fi Webhook Public Key","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/webhook/swagger.json get /public-key","href":"/api-reference/webhook/signature/rhinofi-webhook-public-key"}]},{"group":"user-events","pages":[{"title":"Obtain a list of previously generated webhook events","deprecated":null,"version":null,"openapi":"https://api.rhino.fi/webhook/swagger.json get /user-events-cursor","href":"/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events"}]}]}]}]},"basePath":"","title":"Generate a bridge/bridge+swap quote - rhino.fi - Docs","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}