Obtain a list of previously generated webhook events
This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.
GET
/
user-events-cursor
Obtain a list of previously generated webhook events
The date and time that events should be returned from, in milliseconds since epoch. Filtering is inclusive: events that occurred at or after this time are included.
The next page of results that can be used within the pageToken query param for further results. Null when there are no further results.
Minimum string length: 1
{"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/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events","slug":"/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events","pageMetadata":{"title":"Obtain a list of previously generated webhook events","description":"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\"\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":"Obtain a list of previously generated webhook events","description":"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["user-events"],"operationId":"user-events.user-events-cursor","parameters":["4a03025a-37d6-4e15-bcca-dd1f6b5c6e47","bb78edd3-02f3-4948-a3be-ca0ecd3e312a","42af3b76-1fcc-4ae4-a708-0156da9657f4"],"security":["89c45730-a70b-4efb-ae91-73932035eb9b","65350340-7e30-4c69-922c-6e5eefbd7bce"],"responses":{"200":"170d0df3-d315-4390-b818-fd734923c01b","400":"d0115151-69cb-4da7-a5f4-8ecdb013b71f","401":"361df0ba-8c54-49be-93ff-03a628d9259f"},"description":"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.","summary":"Obtain a list of previously generated webhook events","method":"get","type":"path","servers":["b9e9aa9c-e313-4c38-b71a-0179939aa476"],"path":"/user-events-cursor","baseUrlOptions":["https://api.rhino.fi/webhook"],"title":"Obtain a list of previously generated webhook events","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"4a03025a-37d6-4e15-bcca-dd1f6b5c6e47":{"name":"sinceTimestamp","in":"query","schema":{"type":"string","description":"The date and time that events should be returned from, in milliseconds since epoch. Filtering is inclusive: events that occurred at or after this time are included.","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true},"bb78edd3-02f3-4948-a3be-ca0ecd3e312a":{"name":"pageToken","in":"query","schema":{"type":"string","description":"Cursor returned as nextPageToken by a previous page","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false},"42af3b76-1fcc-4ae4-a708-0156da9657f4":{"name":"pageSize","in":"query","schema":{"type":"string","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false}},"responses":{"170d0df3-d315-4390-b818-fd734923c01b":{"description":"WebhookUserEventsCursorResponse","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","required":["_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","_tag","type"],"properties":{"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.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":"\\items.items.[INDEX].oneOf.0.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.0.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.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":"\\items.items.[INDEX].oneOf.0.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.0.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The token symbol that was bridged (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.usdPrice","typeLabel":"number"},"_tag":{"type":"string","enum":["BRIDGE_PENDING"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0._tag","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["bridge"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.0.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.0.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.0.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.0.flowCredits","typeLabel":"number"},"chain":{"oneOf":[{"type":"string","description":"The name of the chain on which the single bridge transaction took place.","uniqueKey":"\\items.items.[INDEX].oneOf.0.chain.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.0.chain.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.0.chain","typeLabel":"string | null"},"depositAddress":{"type":"string","description":"The Rhino.fi smart contract address on the chainIn that received the tokens to initiate the bridge.","uniqueKey":"\\items.items.[INDEX].oneOf.0.depositAddress","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","tokenIn","tokenOut","minAmountOut","minAmountOutUsd","usdPriceTokenIn","usdPriceTokenOut","type"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_PENDING"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.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":"\\items.items.[INDEX].oneOf.1.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.1.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.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":"\\items.items.[INDEX].oneOf.1.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.1.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.commitmentDate","typeLabel":"string"},"tokenIn":{"type":"string","description":"The asset that was sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was received on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.tokenOut","typeLabel":"string"},"minAmountOut":{"type":"string","description":"The minimum native value of tokenOut guaranteed to be received on the chainOut, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.minAmountOutUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"The USD price of the tokenIn at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"The USD price of the tokenOut at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.usdPriceTokenOut","typeLabel":"number"},"type":{"type":"string","enum":["bridgeSwap"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.1.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.1.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.1.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.1.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.1.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.1.flowCredits","typeLabel":"number"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1.postSwap","typeLabel":"object"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount represented the sending (\"pay\") or receiving (\"receive\") amount when the quote was generated.","uniqueKey":"\\items.items.[INDEX].oneOf.1.mode","typeLabel":"enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether the transaction was executed as an atomic swap.","uniqueKey":"\\items.items.[INDEX].oneOf.1.isAtomicSwap","typeLabel":"boolean"},"swapFeeMultiplier":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.1.swapFeeMultiplier","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","_tag","depositTxHash","depositCommittedAt","type"],"properties":{"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.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":"\\items.items.[INDEX].oneOf.2.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.2.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.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":"\\items.items.[INDEX].oneOf.2.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.2.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The token symbol that was bridged (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.usdPrice","typeLabel":"number"},"_tag":{"type":"string","enum":["BRIDGE_ACCEPTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2._tag","typeLabel":"enum\u003cstring>"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.depositCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["bridge"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.2.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.2.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.2.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.2.flowCredits","typeLabel":"number"},"chain":{"oneOf":[{"type":"string","description":"The name of the chain on which the single bridge transaction took place.","uniqueKey":"\\items.items.[INDEX].oneOf.2.chain.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.2.chain.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.2.chain","typeLabel":"string | null"},"depositAddress":{"type":"string","description":"The Rhino.fi smart contract address on the chainIn that received the tokens to initiate the bridge.","uniqueKey":"\\items.items.[INDEX].oneOf.2.depositAddress","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.2.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.2.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.2.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.2.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.2.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.2.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.2.isConfirmed","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","tokenIn","tokenOut","minAmountOut","minAmountOutUsd","usdPriceTokenIn","usdPriceTokenOut","depositTxHash","depositCommittedAt","type"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_ACCEPTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.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":"\\items.items.[INDEX].oneOf.3.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.3.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.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":"\\items.items.[INDEX].oneOf.3.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.3.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.commitmentDate","typeLabel":"string"},"tokenIn":{"type":"string","description":"The asset that was sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was received on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.tokenOut","typeLabel":"string"},"minAmountOut":{"type":"string","description":"The minimum native value of tokenOut guaranteed to be received on the chainOut, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.minAmountOutUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"The USD price of the tokenIn at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"The USD price of the tokenOut at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.usdPriceTokenOut","typeLabel":"number"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.depositCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["bridgeSwap"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.3.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.3.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.3.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.3.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.3.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.3.flowCredits","typeLabel":"number"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3.postSwap","typeLabel":"object"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount represented the sending (\"pay\") or receiving (\"receive\") amount when the quote was generated.","uniqueKey":"\\items.items.[INDEX].oneOf.3.mode","typeLabel":"enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether the transaction was executed as an atomic swap.","uniqueKey":"\\items.items.[INDEX].oneOf.3.isAtomicSwap","typeLabel":"boolean"},"swapFeeMultiplier":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.swapFeeMultiplier","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.3.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.3.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.3.isConfirmed","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","depositTxHash","depositCommittedAt","type"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_ACCEPTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.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":"\\items.items.[INDEX].oneOf.4.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.4.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.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":"\\items.items.[INDEX].oneOf.4.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.4.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The asset deposited into the Smart Deposit Address on the chainIn. Where the deposit address performs a swap, the asset received on the chainOut may differ.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.usdPrice","typeLabel":"number"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.depositCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["depositAddressBridge"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.4.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.4.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.4.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.4.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.4.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.4.flowCredits","typeLabel":"number"},"tokenOut":{"type":"string","description":"The asset received on the chainOut where the deposit address performs a swap.","uniqueKey":"\\items.items.[INDEX].oneOf.4.tokenOut","typeLabel":"string"},"depositAddress":{"type":"string","description":"The Rhino.fi Smart Deposit Address that the tokens were deposited to.","uniqueKey":"\\items.items.[INDEX].oneOf.4.depositAddress","typeLabel":"string"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4.postSwap","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.4.paymentIntentId","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.4.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.4.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.4.isConfirmed","typeLabel":"boolean"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference, e.g. \"ClientID123456\" (max 80 characters).","uniqueKey":"\\items.items.[INDEX].oneOf.4.addressNote","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","_tag","cancelledAt"],"properties":{"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.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":"\\items.items.[INDEX].oneOf.5.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.5.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.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":"\\items.items.[INDEX].oneOf.5.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.5.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The token symbol that was bridged (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.usdPrice","typeLabel":"number"},"_tag":{"type":"string","enum":["BRIDGE_CANCELLED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5._tag","typeLabel":"enum\u003cstring>"},"cancelledAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.cancelledAt","typeLabel":"string"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.5.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.5.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.5.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.5.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.5.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.5.flowCredits","typeLabel":"number"},"chain":{"oneOf":[{"type":"string","description":"The name of the chain on which the single bridge transaction took place.","uniqueKey":"\\items.items.[INDEX].oneOf.5.chain.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.5.chain.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.5.chain","typeLabel":"string | null"},"depositAddress":{"type":"string","description":"The Rhino.fi smart contract address on the chainIn that received the tokens to initiate the bridge.","uniqueKey":"\\items.items.[INDEX].oneOf.5.depositAddress","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","tokenIn","tokenOut","minAmountOut","minAmountOutUsd","usdPriceTokenIn","usdPriceTokenOut","cancelledAt"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_CANCELLED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.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":"\\items.items.[INDEX].oneOf.6.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.6.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.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":"\\items.items.[INDEX].oneOf.6.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.6.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.commitmentDate","typeLabel":"string"},"tokenIn":{"type":"string","description":"The asset that was sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was received on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.tokenOut","typeLabel":"string"},"minAmountOut":{"type":"string","description":"The minimum native value of tokenOut guaranteed to be received on the chainOut, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.minAmountOutUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"The USD price of the tokenIn at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"The USD price of the tokenOut at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.usdPriceTokenOut","typeLabel":"number"},"cancelledAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.cancelledAt","typeLabel":"string"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.6.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.6.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.6.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.6.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.6.flowCredits","typeLabel":"number"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6.postSwap","typeLabel":"object"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount represented the sending (\"pay\") or receiving (\"receive\") amount when the quote was generated.","uniqueKey":"\\items.items.[INDEX].oneOf.6.mode","typeLabel":"enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether the transaction was executed as an atomic swap.","uniqueKey":"\\items.items.[INDEX].oneOf.6.isAtomicSwap","typeLabel":"boolean"},"swapFeeMultiplier":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.6.swapFeeMultiplier","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","required":["_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","_tag","depositTxHash","depositCommittedAt","withdrawTxHash","withdrawCommittedAt","type"],"properties":{"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.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":"\\items.items.[INDEX].oneOf.7.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.7.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.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":"\\items.items.[INDEX].oneOf.7.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.7.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The token symbol that was bridged (e.g. \"ETH\", \"USDC\").","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.usdPrice","typeLabel":"number"},"_tag":{"type":"string","enum":["BRIDGE_EXECUTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7._tag","typeLabel":"enum\u003cstring>"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.depositCommittedAt","typeLabel":"string"},"withdrawTxHash":{"type":"string","description":"The transaction hash of the withdrawal of the tokens to the recipient on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.withdrawTxHash","typeLabel":"string"},"withdrawCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.withdrawCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["bridge"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.7.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.7.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.7.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.7.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.7.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.7.flowCredits","typeLabel":"number"},"chain":{"oneOf":[{"type":"string","description":"The name of the chain on which the single bridge transaction took place.","uniqueKey":"\\items.items.[INDEX].oneOf.7.chain.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.7.chain.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.7.chain","typeLabel":"string | null"},"depositAddress":{"type":"string","description":"The Rhino.fi smart contract address on the chainIn that received the tokens to initiate the bridge.","uniqueKey":"\\items.items.[INDEX].oneOf.7.depositAddress","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.7.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.7.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.7.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.7.isConfirmed","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.7","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","tokenIn","tokenOut","minAmountOut","minAmountOutUsd","usdPriceTokenIn","usdPriceTokenOut","depositTxHash","depositCommittedAt","withdrawTxHash","withdrawCommittedAt","type"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_EXECUTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.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":"\\items.items.[INDEX].oneOf.8.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.8.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.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":"\\items.items.[INDEX].oneOf.8.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.8.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.commitmentDate","typeLabel":"string"},"tokenIn":{"type":"string","description":"The asset that was sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was received on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.tokenOut","typeLabel":"string"},"minAmountOut":{"type":"string","description":"The minimum native value of tokenOut guaranteed to be received on the chainOut, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.minAmountOutUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"The USD price of the tokenIn at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"The USD price of the tokenOut at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.usdPriceTokenOut","typeLabel":"number"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.depositCommittedAt","typeLabel":"string"},"withdrawTxHash":{"type":"string","description":"The transaction hash of the withdrawal of the tokens to the recipient on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.withdrawTxHash","typeLabel":"string"},"withdrawCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.withdrawCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["bridgeSwap"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.8.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.8.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.8.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.8.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.8.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.8.flowCredits","typeLabel":"number"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8.postSwap","typeLabel":"object"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount represented the sending (\"pay\") or receiving (\"receive\") amount when the quote was generated.","uniqueKey":"\\items.items.[INDEX].oneOf.8.mode","typeLabel":"enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether the transaction was executed as an atomic swap.","uniqueKey":"\\items.items.[INDEX].oneOf.8.isAtomicSwap","typeLabel":"boolean"},"swapFeeMultiplier":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.swapFeeMultiplier","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.8.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.8.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.8.isConfirmed","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.8","typeLabel":"object"},{"type":"object","required":["_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","token","usdPrice","depositAddress","depositTxHash","depositCommittedAt","withdrawTxHash","withdrawCommittedAt","type"],"properties":{"_tag":{"type":"string","enum":["BRIDGE_EXECUTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.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":"\\items.items.[INDEX].oneOf.9.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.9.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.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":"\\items.items.[INDEX].oneOf.9.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.9.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.commitmentDate","typeLabel":"string"},"token":{"type":"string","description":"The asset deposited into the Smart Deposit Address on the chainIn. Where the deposit address performs a swap, the asset received on the chainOut may differ.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.token","typeLabel":"string"},"usdPrice":{"type":"number","description":"The USD price of the token at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.usdPrice","typeLabel":"number"},"depositAddress":{"type":"string","description":"The Rhino.fi Smart Deposit Address that the tokens were deposited to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.depositAddress","typeLabel":"string"},"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.depositCommittedAt","typeLabel":"string"},"withdrawTxHash":{"type":"string","description":"The transaction hash of the withdrawal of the tokens to the recipient on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.withdrawTxHash","typeLabel":"string"},"withdrawCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.withdrawCommittedAt","typeLabel":"string"},"type":{"type":"string","enum":["depositAddressBridge"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.type","typeLabel":"enum\u003cstring>"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.9.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.9.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.9.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.9.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.9.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.9.flowCredits","typeLabel":"number"},"tokenOut":{"type":"string","description":"The asset received on the chainOut where the deposit address performs a swap.","uniqueKey":"\\items.items.[INDEX].oneOf.9.tokenOut","typeLabel":"string"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9.postSwap","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.9.paymentIntentId","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.9.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.9.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.9.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.9.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.9.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.9.isConfirmed","typeLabel":"boolean"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference, e.g. \"ClientID123456\" (max 80 characters).","uniqueKey":"\\items.items.[INDEX].oneOf.9.addressNote","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.9","typeLabel":"object"},{"type":"object","required":["depositTxHash","depositCommittedAt","reason","_tag","_id","userId","chainIn","chainOut","amountIn","amountInUsd","amountOut","amountOutUsd","amountNative","amountNativeUsd","fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd","sponsoredFees","recipient","depositor","createdAt","commitmentDate","tokenIn","tokenOut","minAmountOut","minAmountOutUsd","usdPriceTokenIn","usdPriceTokenOut","refundTxHash","refundTxTimestamp","refundedToken","refundedAmount","refundedChain"],"properties":{"depositTxHash":{"type":"string","description":"The transaction hash of the deposit made on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.depositTxHash","typeLabel":"string"},"depositCommittedAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.depositCommittedAt","typeLabel":"string"},"reason":{"type":"string","description":"The reason that the transaction was rejected.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.reason","typeLabel":"string"},"_tag":{"type":"string","enum":["BRIDGE_REFUNDED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10._id","typeLabel":"string"},"userId":{"type":"string","description":"The projectID that the transaction is associated with.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.userId","typeLabel":"string"},"chainIn":{"type":"string","description":"The blockchain that the tokens were bridged from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.chainIn","typeLabel":"string"},"chainOut":{"type":"string","description":"The blockchain that the tokens were bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.chainOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were sent on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountOutUsd","typeLabel":"number"},"amountNative":{"oneOf":[{"type":"string","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNative.oneOf.0","typeLabel":"string"},{"type":"null","description":"The amount of native gas token (e.g. ETH, MATIC, BNB) that was delivered to the user's wallet on the destination chain as part of gas boost functionality, where Rhino.fi delivers a small amount of native gas token to the destination address, ensuring that further transactions from this address can be made immediately.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNative.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNative","typeLabel":"string | null"},"amountNativeUsd":{"oneOf":[{"type":"number","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNativeUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"The value, in USD, of amountNative.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNativeUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.amountNativeUsd","typeLabel":"number | null"},"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.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":"\\items.items.[INDEX].oneOf.10.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.10.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sourceGasFeeUsd","typeLabel":"number"},"sponsoredFees":{"type":"object","properties":{"fee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.fee","typeLabel":"string"},"feeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.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":"\\items.items.[INDEX].oneOf.10.sponsoredFees.gasFee","typeLabel":"string"},"gasFeeUsd":{"type":"number","description":"The gasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.gasFeeUsd","typeLabel":"number"},"platformFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.platformFee","typeLabel":"string"},"platformFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.platformFeeUsd","typeLabel":"number"},"percentageFee":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.percentageFee","typeLabel":"string"},"percentageFeeUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.percentageFeeUsd","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":"\\items.items.[INDEX].oneOf.10.sponsoredFees.sourceGasFee","typeLabel":"string"},"sourceGasFeeUsd":{"type":"number","description":"The sourceGasFee value, in USD.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees.sourceGasFeeUsd","typeLabel":"number"}},"required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"additionalProperties":false,"description":"For both legacy and PAYG/Subscription clients, represents the fees that are paid by the client on behalf of the end customer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.sponsoredFees","typeLabel":"object"},"recipient":{"type":"string","description":"The address on the chainOut that received the bridged tokens.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.recipient","typeLabel":"string"},"depositor":{"type":"string","description":"The address on the chainIn that sent the tokens for bridging.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.depositor","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.createdAt","typeLabel":"string"},"commitmentDate":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.commitmentDate","typeLabel":"string"},"tokenIn":{"type":"string","description":"The asset that was sent on the chainIn.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was received on the chainOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.tokenOut","typeLabel":"string"},"minAmountOut":{"type":"string","description":"The minimum native value of tokenOut guaranteed to be received on the chainOut, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.minAmountOutUsd","typeLabel":"number"},"usdPriceTokenIn":{"type":"number","description":"The USD price of the tokenIn at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.usdPriceTokenIn","typeLabel":"number"},"usdPriceTokenOut":{"type":"number","description":"The USD price of the tokenOut at the time the quote was created.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.usdPriceTokenOut","typeLabel":"number"},"refundTxHash":{"type":"string","minLength":1,"description":"The transaction hash of the refund that was made.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.refundTxHash","typeLabel":"string"},"refundTxTimestamp":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.refundTxTimestamp","typeLabel":"string"},"refundedToken":{"type":"string","minLength":1,"description":"The asset that was refunded.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.refundedToken","typeLabel":"string"},"refundedAmount":{"type":"string","description":"The native value of the tokens that were refunded.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.refundedAmount","typeLabel":"string"},"refundedChain":{"type":"string","minLength":1,"description":"The blockchain that the refund was made on.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.refundedChain","typeLabel":"string"},"additionalData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.0.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.0.additionalProperties.oneOf.2","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.0.additionalProperties","typeLabel":"string | number | enum\u003cstring>"},"uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.1","typeLabel":"null"},{"type":"null","uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData.oneOf.2","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].oneOf.10.additionalData","typeLabel":"object · null · null"},"speed":{"type":"string","enum":["fast","standard","slow"],"description":"Provides information about whether the transaction is expected to 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":"\\items.items.[INDEX].oneOf.10.speed","typeLabel":"enum\u003cstring>"},"estimatedDuration":{"oneOf":[{"type":"number","uniqueKey":"\\items.items.[INDEX].oneOf.10.estimatedDuration.oneOf.0","typeLabel":"number"},{"type":"string","enum":["Infinity","-Infinity","NaN"],"uniqueKey":"\\items.items.[INDEX].oneOf.10.estimatedDuration.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"\\items.items.[INDEX].oneOf.10.estimatedDuration","typeLabel":"number | enum\u003cstring>"},"postBridgeData":{"oneOf":[{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.7","typeLabel":"object"},{"type":"object","description":"Custom Routing Rules as configured by Rhino.fi for a specific client, 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":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.10.postBridgeData","typeLabel":"object"},"flowCredits":{"type":"number","description":"The number of Flow Credits that this transaction will use from the client's agreed Rhino.fi PAYG/Subscription tier.","uniqueKey":"\\items.items.[INDEX].oneOf.10.flowCredits","typeLabel":"number"},"preSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwap","typeLabel":"object"},"postSwap":{"type":"object","properties":{"tokenIn":{"type":"string","description":"The asset that was swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.tokenIn","typeLabel":"string"},"tokenOut":{"type":"string","description":"The asset that was swapped to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.tokenOut","typeLabel":"string"},"amountIn":{"type":"string","description":"The native value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.amountIn","typeLabel":"string"},"amountInUsd":{"type":"number","description":"The USD value of the tokens that were swapped from.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.amountInUsd","typeLabel":"number"},"amountOut":{"type":"string","description":"The native value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.amountOut","typeLabel":"string"},"amountOutUsd":{"type":"number","description":"The USD value of the tokens that were received from the swap.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.amountOutUsd","typeLabel":"number"},"minAmountOut":{"type":"string","description":"The minimum native value of tokens guaranteed to be received from the swap, after slippage.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.minAmountOut","typeLabel":"string"},"minAmountOutUsd":{"type":"number","description":"The USD value of the minAmountOut.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.minAmountOutUsd","typeLabel":"number"},"aggregator":{"oneOf":[{"type":"string","title":"KYBERSWAP","description":"The swap aggregator used to execute the swap.","enum":["KYBERSWAP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.aggregator.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"RHINO","description":"The swap aggregator used to execute the swap.","enum":["RHINO"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.aggregator.oneOf.1","typeLabel":"enum\u003cstring>"},{"type":"string","title":"ONEINCH","description":"The swap aggregator used to execute the swap.","enum":["ONEINCH"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.aggregator.oneOf.2","typeLabel":"enum\u003cstring>"},{"type":"string","title":"BEBOP","description":"The swap aggregator used to execute the swap.","enum":["BEBOP"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.aggregator.oneOf.3","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap.aggregator","typeLabel":"enum\u003cstring>"}},"required":["tokenIn","tokenOut","amountIn","amountInUsd","amountOut","amountOutUsd","minAmountOut","minAmountOutUsd","aggregator"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10.postSwap","typeLabel":"object"},"mode":{"type":"string","enum":["pay","receive"],"description":"Whether the amount represented the sending (\"pay\") or receiving (\"receive\") amount when the quote was generated.","uniqueKey":"\\items.items.[INDEX].oneOf.10.mode","typeLabel":"enum\u003cstring>"},"isAtomicSwap":{"type":"boolean","description":"Whether the transaction was executed as an atomic swap.","uniqueKey":"\\items.items.[INDEX].oneOf.10.isAtomicSwap","typeLabel":"boolean"},"swapFeeMultiplier":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.swapFeeMultiplier","typeLabel":"string"},"depositDiscoveredAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.depositDiscoveredAt","typeLabel":"string"},"depositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.depositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.expectedDepositConfirmedAt","typeLabel":"string"},"expectedDepositConfirmedAtBlock":{"type":"integer","description":"The block on the chainIn at which the deposit transaction is expected to reach the required number of confirmations.","uniqueKey":"\\items.items.[INDEX].oneOf.10.expectedDepositConfirmedAtBlock","typeLabel":"integer"},"preSwapTxHash":{"type":"string","description":"The transaction hash of the swap performed on the chainIn before bridging.","uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwapTxHash","typeLabel":"string"},"preSwapCommittedAt":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.10.preSwapCommittedAt","typeLabel":"string"},"isConfirmed":{"type":"boolean","description":"Whether the deposit transaction has reached the required number of confirmations on the chainIn.","uniqueKey":"\\items.items.[INDEX].oneOf.10.isConfirmed","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.10","typeLabel":"object"},{"type":"object","required":["_tag","depositChain","depositAddress","destinationChain"],"properties":{"_tag":{"type":"string","enum":["DEPOSIT_ADDRESS_CREATED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.11._tag","typeLabel":"enum\u003cstring>"},"depositChain":{"type":"string","minLength":1,"description":"The blockchain that the Smart Deposit Address is on and that deposits should be sent to, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.11.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"description":"The Rhino.fi Smart Deposit Address that the deposit has been sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.11.depositAddress","typeLabel":"string"},"destinationChain":{"type":"string","minLength":1,"description":"The blockchain that the received tokens will be bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.11.destinationChain","typeLabel":"string"},"destinationAddress":{"type":"string","minLength":1,"description":"The blockchain address that the received tokens will be bridged / bridged and swapped to.","uniqueKey":"\\items.items.[INDEX].oneOf.11.destinationAddress","typeLabel":"string"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference.","uniqueKey":"\\items.items.[INDEX].oneOf.11.addressNote","typeLabel":"string"},"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":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.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":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.11.postBridgeData","typeLabel":"object"},"tokenOut":{"type":"string","description":"The token that will be received on the destinationChain.","uniqueKey":"\\items.items.[INDEX].oneOf.11.tokenOut","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.11","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["DEPOSIT_ADDRESS_DEPOSIT_DETECTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The custody provider's order id for the deposit that it detected.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.amountWei","typeLabel":"string"},"sender":{"type":"string","minLength":1,"description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.sender","typeLabel":"string"},"txHash":{"type":"string","minLength":1,"description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.txHash","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"description":"The blockchain that the Smart Deposit Address is on and that deposits should be sent to, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"description":"The Rhino.fi Smart Deposit Address that the deposit has been sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.depositAddress","typeLabel":"string"},"destinationChain":{"type":"string","minLength":1,"description":"The blockchain that the received tokens will be bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.destinationChain","typeLabel":"string"},"destinationAddress":{"type":"string","minLength":1,"description":"The blockchain address that the received tokens will be bridged / bridged and swapped to.","uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.destinationAddress","typeLabel":"string"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference.","uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.addressNote","typeLabel":"string"},"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":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.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":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.postBridgeData","typeLabel":"object"},"tokenOut":{"type":"string","description":"The token that will be received on the destinationChain.","uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress.tokenOut","typeLabel":"string"}},"required":["depositChain","depositAddress","destinationChain"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.12.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.12.paymentIntentId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.12","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["DEPOSIT_ADDRESS_DEPOSIT_CONFIRMING"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The custody provider's order id for the deposit that it detected.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.amountWei","typeLabel":"string"},"sender":{"type":"string","minLength":1,"description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.sender","typeLabel":"string"},"txHash":{"type":"string","minLength":1,"description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.txHash","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"description":"The blockchain that the Smart Deposit Address is on and that deposits should be sent to, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"description":"The Rhino.fi Smart Deposit Address that the deposit has been sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.depositAddress","typeLabel":"string"},"destinationChain":{"type":"string","minLength":1,"description":"The blockchain that the received tokens will be bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.destinationChain","typeLabel":"string"},"destinationAddress":{"type":"string","minLength":1,"description":"The blockchain address that the received tokens will be bridged / bridged and swapped to.","uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.destinationAddress","typeLabel":"string"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference.","uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.addressNote","typeLabel":"string"},"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":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.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":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.postBridgeData","typeLabel":"object"},"tokenOut":{"type":"string","description":"The token that will be received on the destinationChain.","uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress.tokenOut","typeLabel":"string"}},"required":["depositChain","depositAddress","destinationChain"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.13.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.13.paymentIntentId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.13","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","reason","txUid","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["DEPOSIT_ADDRESS_BRIDGE_REJECTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The unique identifier of the bridge transaction.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.amountWei","typeLabel":"string"},"sender":{"type":"string","description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.sender","typeLabel":"string"},"txHash":{"type":"string","description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.txHash","typeLabel":"string"},"reason":{"type":"string","enum":["OVER_MAX","UNDER_MIN","OPERATION_UNAVAILABLE","TERMINAL_PROCESSING_ISSUE","NO_ROUTE_FOUND","UNSUPPORTED_TOKEN","SDA_PAUSED","SETTLEMENT_REJECTED","PAYMENT_EXPIRED","PAYMENT_TOKEN_NOT_ACCEPTED","PAYMENT_AMOUNT_MISMATCH","PAYMENT_ALREADY_RECEIVED"],"description":"Further information about why a transaction was rejected. OVER_MAX: the amount deposited was above the maximum value accepted for that token for the Smart Deposit Address (this value can be found via the GET /sda/deposit-addresses/{depositChain}/{destinationChain}/supported-tokens endpoint). UNDER_MIN: the amount deposited was below the minimum value accepted for that token for the Smart Deposit Address (same endpoint to find the value). TERMINAL_PROCESSING_ISSUE: an issue within the Rhino.fi system meant the required swapping and/or bridging activity was not completed; please reach out to your Rhino.fi customer success manager for further information. NO_ROUTE_FOUND: no compatible bridge and/or swap route was able to be found and executed; please reach out to your Rhino.fi customer success manager for further information. UNSUPPORTED_TOKEN: the token that was deposited is not supported for this Smart Deposit Address. SDA_PAUSED: the Smart Deposit Address was paused and not processing deposits at the time the deposit was received. OPERATION_UNAVAILABLE: the deposit could not be processed because the operation was unavailable at the time; please reach out to your Rhino.fi customer success manager for further information. PAYMENT_EXPIRED: the payment Smart Deposit Address expired before the deposit was received. PAYMENT_TOKEN_NOT_ACCEPTED: the deposited token is not one of the tokens the payment Smart Deposit Address was created for. PAYMENT_AMOUNT_MISMATCH: the deposited amount did not exactly match any of the payment Smart Deposit Address's accepted amounts for the deposited token. PAYMENT_ALREADY_RECEIVED: the payment Smart Deposit Address had already received a deposit; each pSDA settles exactly one payment.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.reason","typeLabel":"enum\u003cstring>"},"txUid":{"type":"string","minLength":1,"description":"A unique identifier for the deposit transaction within the Rhino.fi system.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.txUid","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"description":"The blockchain that the Smart Deposit Address is on and that deposits should be sent to, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"description":"The Rhino.fi Smart Deposit Address that the deposit has been sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.depositAddress","typeLabel":"string"},"destinationChain":{"type":"string","minLength":1,"description":"The blockchain that the received tokens will be bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.destinationChain","typeLabel":"string"},"destinationAddress":{"type":"string","minLength":1,"description":"The blockchain address that the received tokens will be bridged / bridged and swapped to.","uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.destinationAddress","typeLabel":"string"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference.","uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.addressNote","typeLabel":"string"},"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":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.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":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.postBridgeData","typeLabel":"object"},"tokenOut":{"type":"string","description":"The token that will be received on the destinationChain.","uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress.tokenOut","typeLabel":"string"}},"required":["depositChain","depositAddress","destinationChain"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.14.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.14.paymentIntentId","typeLabel":"string"},"originalErrorTag":{"type":"string","minLength":1,"description":"An identifier for the underlying error that caused the transaction to be rejected.","uniqueKey":"\\items.items.[INDEX].oneOf.14.originalErrorTag","typeLabel":"string"},"originalErrorJson":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.14.originalErrorJson","typeLabel":"string"},"blockNumber":{"type":"integer","minimum":0,"description":"The block on the depositChain that the deposit transaction was included in.","uniqueKey":"\\items.items.[INDEX].oneOf.14.blockNumber","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.14","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["DEPOSIT_ADDRESS_BRIDGE_DELAYED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The unique identifier of the bridge transaction.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.amountWei","typeLabel":"string"},"sender":{"type":"string","minLength":1,"description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.sender","typeLabel":"string"},"txHash":{"type":"string","minLength":1,"description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.txHash","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"description":"The blockchain that the Smart Deposit Address is on and that deposits should be sent to, e.g. \"ETHEREUM\".","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"description":"The Rhino.fi Smart Deposit Address that the deposit has been sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.depositAddress","typeLabel":"string"},"destinationChain":{"type":"string","minLength":1,"description":"The blockchain that the received tokens will be bridged to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.destinationChain","typeLabel":"string"},"destinationAddress":{"type":"string","minLength":1,"description":"The blockchain address that the received tokens will be bridged / bridged and swapped to.","uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.destinationAddress","typeLabel":"string"},"addressNote":{"type":"string","maxLength":80,"description":"A note or label for the deposit address as a reference.","uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.addressNote","typeLabel":"string"},"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":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.0.vaultId","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.1._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.2._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.3._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.4._tag","typeLabel":"enum\u003cstring>"},"spans":{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.4.spans.items.[INDEX]","typeLabel":"string"},"maxItems":70,"description":"A variable relating to the specific post bridge action.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.4.spans","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.5._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.6._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.7._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.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":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.8._tag","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData.oneOf.8","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.postBridgeData","typeLabel":"object"},"tokenOut":{"type":"string","description":"The token that will be received on the destinationChain.","uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress.tokenOut","typeLabel":"string"}},"required":["depositChain","depositAddress","destinationChain"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.15.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.15.paymentIntentId","typeLabel":"string"},"originalErrorTag":{"type":"string","minLength":1,"description":"An identifier for the underlying error that caused the transaction to fail.","uniqueKey":"\\items.items.[INDEX].oneOf.15.originalErrorTag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.15","typeLabel":"object"},{"type":"object","required":["_tag","depositChain","depositAddress","routes"],"properties":{"_tag":{"type":"string","enum":["ROUTING_DEPOSIT_ADDRESS_CREATED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.16._tag","typeLabel":"enum\u003cstring>"},"depositChain":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.16.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.16.depositAddress","typeLabel":"string"},"routes":{"type":"object","_tupleOriginal":true,"properties":{},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.16.routes","typeLabel":"tuple"},"addressNote":{"type":"string","maxLength":80,"uniqueKey":"\\items.items.[INDEX].oneOf.16.addressNote","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.16","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","reason","txUid","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["ROUTING_DEPOSIT_ADDRESS_BRIDGE_REJECTED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The unique identifier of the bridge transaction.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.amountWei","typeLabel":"string"},"sender":{"type":"string","description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.sender","typeLabel":"string"},"txHash":{"type":"string","description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.txHash","typeLabel":"string"},"reason":{"type":"string","enum":["OVER_MAX","UNDER_MIN","OPERATION_UNAVAILABLE","TERMINAL_PROCESSING_ISSUE","NO_ROUTE_FOUND","UNSUPPORTED_TOKEN","SDA_PAUSED","SETTLEMENT_REJECTED","PAYMENT_EXPIRED","PAYMENT_TOKEN_NOT_ACCEPTED","PAYMENT_AMOUNT_MISMATCH","PAYMENT_ALREADY_RECEIVED"],"description":"Further information about why a transaction was rejected. OVER_MAX: the amount deposited was above the maximum value accepted for that token for the Smart Deposit Address (this value can be found via the GET /sda/deposit-addresses/{depositChain}/{destinationChain}/supported-tokens endpoint). UNDER_MIN: the amount deposited was below the minimum value accepted for that token for the Smart Deposit Address (same endpoint to find the value). TERMINAL_PROCESSING_ISSUE: an issue within the Rhino.fi system meant the required swapping and/or bridging activity was not completed; please reach out to your Rhino.fi customer success manager for further information. NO_ROUTE_FOUND: no compatible bridge and/or swap route was able to be found and executed; please reach out to your Rhino.fi customer success manager for further information. UNSUPPORTED_TOKEN: the token that was deposited is not supported for this Smart Deposit Address. SDA_PAUSED: the Smart Deposit Address was paused and not processing deposits at the time the deposit was received. OPERATION_UNAVAILABLE: the deposit could not be processed because the operation was unavailable at the time; please reach out to your Rhino.fi customer success manager for further information. PAYMENT_EXPIRED: the payment Smart Deposit Address expired before the deposit was received. PAYMENT_TOKEN_NOT_ACCEPTED: the deposited token is not one of the tokens the payment Smart Deposit Address was created for. PAYMENT_AMOUNT_MISMATCH: the deposited amount did not exactly match any of the payment Smart Deposit Address's accepted amounts for the deposited token. PAYMENT_ALREADY_RECEIVED: the payment Smart Deposit Address had already received a deposit; each pSDA settles exactly one payment.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.reason","typeLabel":"enum\u003cstring>"},"txUid":{"type":"string","minLength":1,"description":"A unique identifier for the deposit transaction within the Rhino.fi system.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.txUid","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.depositAddress.depositAddress","typeLabel":"string"},"routes":{"type":"object","_tupleOriginal":true,"properties":{},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.depositAddress.routes","typeLabel":"tuple"},"addressNote":{"type":"string","maxLength":80,"uniqueKey":"\\items.items.[INDEX].oneOf.17.depositAddress.addressNote","typeLabel":"string"}},"required":["depositChain","depositAddress","routes"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.17.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.17.paymentIntentId","typeLabel":"string"},"originalErrorTag":{"type":"string","minLength":1,"description":"An identifier for the underlying error that caused the transaction to be rejected.","uniqueKey":"\\items.items.[INDEX].oneOf.17.originalErrorTag","typeLabel":"string"},"originalErrorJson":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.17.originalErrorJson","typeLabel":"string"},"blockNumber":{"type":"integer","minimum":0,"description":"The block on the depositChain that the deposit transaction was included in.","uniqueKey":"\\items.items.[INDEX].oneOf.17.blockNumber","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.17","typeLabel":"object"},{"type":"object","required":["_tag","_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","createdAt","depositAddress"],"properties":{"_tag":{"type":"string","enum":["ROUTING_DEPOSIT_ADDRESS_BRIDGE_DELAYED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18._tag","typeLabel":"enum\u003cstring>"},"_id":{"type":"string","minLength":1,"description":"The unique identifier of the bridge transaction.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18._id","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The identifier of the token on the given chain.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.tokenSymbol","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The smart contract of the token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.tokenAddress","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.amount","typeLabel":"string"},"amountUsd":{"type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.amountUsd","typeLabel":"number"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.amountWei","typeLabel":"string"},"sender":{"type":"string","minLength":1,"description":"The address on the depositChain that sent the tokens for bridging / bridging and swapping.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.sender","typeLabel":"string"},"txHash":{"type":"string","minLength":1,"description":"The uniquely identifiable transaction hash for the deposit transaction into the depositAddress.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.txHash","typeLabel":"string"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.createdAt","typeLabel":"string"},"depositAddress":{"type":"object","properties":{"depositChain":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.depositAddress.depositChain","typeLabel":"string"},"depositAddress":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.depositAddress.depositAddress","typeLabel":"string"},"routes":{"type":"object","_tupleOriginal":true,"properties":{},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.depositAddress.routes","typeLabel":"tuple"},"addressNote":{"type":"string","maxLength":80,"uniqueKey":"\\items.items.[INDEX].oneOf.18.depositAddress.addressNote","typeLabel":"string"}},"required":["depositChain","depositAddress","routes"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.18.depositAddress","typeLabel":"object"},"paymentIntentId":{"type":"string","minLength":1,"description":"Identifier of the payment intent a payment deposit address settles.","uniqueKey":"\\items.items.[INDEX].oneOf.18.paymentIntentId","typeLabel":"string"},"originalErrorTag":{"type":"string","minLength":1,"description":"An identifier for the underlying error that caused the transaction to fail.","uniqueKey":"\\items.items.[INDEX].oneOf.18.originalErrorTag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.18","typeLabel":"object"},{"type":"object","required":["_tag","refundId","depositAddress","depositChain","recipient","trigger","txHash","txTimestamp"],"properties":{"_tag":{"type":"string","enum":["SDA_REFUND_COMPLETED"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19._tag","typeLabel":"enum\u003cstring>"},"refundId":{"type":"string","minLength":1,"description":"The unique identifier of the refund.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.refundId","typeLabel":"string"},"depositAddress":{"oneOf":[{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.0","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","maxLength":60,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.1","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","maxLength":44,"minLength":22,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.2","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","maxLength":42,"minLength":16,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.3","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.4","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.5","typeLabel":"string"},{"type":"string","description":"The Rhino.fi Smart Deposit Address that the refunded tokens were sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress.oneOf.6","typeLabel":"string"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositAddress","typeLabel":"string"},"depositChain":{"type":"string","minLength":1,"description":"The blockchain where the deposit was sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.depositChain","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","description":"The address that the refund was sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","maxLength":60,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.1","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","maxLength":44,"minLength":22,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.2","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","maxLength":42,"minLength":16,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.3","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.4","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.5","typeLabel":"string"},{"type":"string","description":"The address that the refund was sent to.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient.oneOf.6","typeLabel":"string"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.recipient","typeLabel":"string"},"trigger":{"oneOf":[{"type":"object","description":"The reason that the refund was made.","required":["_tag","nativeToken","amountWei"],"properties":{"_tag":{"type":"string","enum":["UNSUPPORTED_TOKEN"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0._tag","typeLabel":"enum\u003cstring>"},"nativeToken":{"type":"boolean","description":"Whether the refunded asset is the chain's native token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.nativeToken","typeLabel":"boolean"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.amountWei","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The contract address of the refunded token.","uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.tokenAddress","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The ticker of the refunded token.","uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.tokenSymbol","typeLabel":"string"},"amount":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.amount","typeLabel":"string"},"amountUsd":{"type":"string","uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0.amountUsd","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.0","typeLabel":"object"},{"type":"object","description":"The reason that the refund was made.","required":["_tag","rejectedDepositAddressBridgeId","nativeToken","amountWei","amount","amountUsd","tokenAddress","tokenSymbol"],"properties":{"_tag":{"type":"string","enum":["REJECTED_BRIDGE"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1._tag","typeLabel":"enum\u003cstring>"},"rejectedDepositAddressBridgeId":{"type":"string","description":"The identifier of the rejected bridge transaction that triggered this refund.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.rejectedDepositAddressBridgeId","typeLabel":"string"},"nativeToken":{"type":"boolean","description":"Whether the refunded asset is the chain's native token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.nativeToken","typeLabel":"boolean"},"amountWei":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.amountWei","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.amount","typeLabel":"string"},"amountUsd":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.amountUsd","typeLabel":"string"},"tokenAddress":{"type":"string","minLength":1,"description":"The contract address of the refunded token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.tokenAddress","typeLabel":"string"},"tokenSymbol":{"type":"string","minLength":1,"description":"The ticker of the refunded token.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1.tokenSymbol","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.trigger","typeLabel":"object"},"txHash":{"type":"string","minLength":1,"description":"The transaction hash of the refund that was made.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.txHash","typeLabel":"string"},"txTimestamp":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.19.txTimestamp","typeLabel":"string"},"originalDepositTxHash":{"type":"string","minLength":1,"description":"The transaction hash of the original deposit that was refunded.","uniqueKey":"\\items.items.[INDEX].oneOf.19.originalDepositTxHash","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.19","typeLabel":"object"},{"type":"object","required":["_tag","type","message"],"properties":{"_tag":{"type":"string","enum":["WEBHOOK_TEST"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.20._tag","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["test"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.20.type","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].oneOf.20.message","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].oneOf.20","typeLabel":"object"}],"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"description":"The webhook events for the project that occurred after the given sinceTimestamp.","isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"},"nextPageToken":{"oneOf":[{"type":"string","description":"The next page of results that can be used within the pageToken query param for further results. Null when there are no further results.","minLength":1,"isRequired":true,"uniqueKey":"nextPageToken.oneOf.0","typeLabel":"string"},{"type":"null","description":"The next page of results that can be used within the pageToken query param for further results. Null when there are no further results.","isRequired":true,"uniqueKey":"nextPageToken.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"nextPageToken","typeLabel":"string | null"}},"required":["items","nextPageToken"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"_id":"\u003cstring>","userId":"\u003cstring>","chainIn":"\u003cstring>","chainOut":"\u003cstring>","amountIn":"\u003cstring>","amountInUsd":123,"amountOut":"\u003cstring>","amountOutUsd":123,"amountNative":"\u003cstring>","amountNativeUsd":123,"fee":"\u003cstring>","feeUsd":123,"gasFee":"\u003cstring>","gasFeeUsd":123,"platformFee":"\u003cstring>","platformFeeUsd":123,"percentageFee":"\u003cstring>","percentageFeeUsd":123,"sourceGasFee":"\u003cstring>","sourceGasFeeUsd":123,"sponsoredFees":{"fee":"\u003cstring>","feeUsd":123,"gasFee":"\u003cstring>","gasFeeUsd":123,"platformFee":"\u003cstring>","platformFeeUsd":123,"percentageFee":"\u003cstring>","percentageFeeUsd":123,"sourceGasFee":"\u003cstring>","sourceGasFeeUsd":123},"recipient":"\u003cstring>","depositor":"\u003cstring>","createdAt":"\u003cstring>","commitmentDate":"\u003cstring>","token":"\u003cstring>","usdPrice":123,"_tag":"BRIDGE_PENDING","type":"bridge","speed":"fast","estimatedDuration":123,"postBridgeData":{"_tag":"extended","vaultId":1},"flowCredits":123,"chain":"\u003cstring>","depositAddress":"\u003cstring>"}],"nextPageToken":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d0115151-69cb-4da7-a5f4-8ecdb013b71f":{"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"},"361df0ba-8c54-49be-93ff-03a628d9259f":{"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"}},"security":{"89c45730-a70b-4efb-ae91-73932035eb9b":{"bearer":{"description":"JWT token for authentication","type":"http","scheme":"Bearer","scopes":[],"schemeName":"bearer"}},"65350340-7e30-4c69-922c-6e5eefbd7bce":{"legacyApiKey":{"type":"apiKey","name":"authorization","in":"header","scopes":[],"schemeName":"legacyApiKey"}}},"servers":{"b9e9aa9c-e313-4c38-b71a-0179939aa476":{"url":"https://api.rhino.fi/webhook"}},"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/webhook/swagger.json"},"subdomain":"rhinofi","siteName":"rhino.fi - Docs","title":"Obtain a list of previously generated webhook events - rhino.fi - Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T13:47:12.127Z","originalFileLocation":"api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events.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 provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\">\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=\"Obtain a list of previously generated webhook events - rhino.fi - Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\">\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/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events\">\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=user-events\u0026amp;title=Obtain+a+list+of+previously+generated+webhook+events\u0026amp;description=This+endpoint+provides+the+webhook+events+generated+for+your+project+since+a+given+point+in+time%2C+using+cursor-based+pagination.+It+can+be+used+to+reconcile+or+\u0026amp;theme=484fc511abe23cc78a1d37b7\u0026amp;signature=5bc0497034c898210e35f1205ff2e9ebaa00d983d063e392fd0fe397af9397e2\">\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=\"Obtain a list of previously generated webhook events - rhino.fi - Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rhinofi.mintlify.app/_mintlify/api/og/v2?division=user-events\u0026amp;title=Obtain+a+list+of+previously+generated+webhook+events\u0026amp;description=This+endpoint+provides+the+webhook+events+generated+for+your+project+since+a+given+point+in+time%2C+using+cursor-based+pagination.+It+can+be+used+to+reconcile+or+\u0026amp;theme=484fc511abe23cc78a1d37b7\u0026amp;signature=5bc0497034c898210e35f1205ff2e9ebaa00d983d063e392fd0fe397af9397e2\">\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/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events.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/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events#webpage\",\"url\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events\",\"name\":\"Obtain a list of previously generated webhook events\",\"description\":\"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\",\"dateModified\":\"2026-10-21T13:47:12.127Z\",\"isPartOf\":{\"@id\":\"https://docs.rhino.fi#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Webhook endpoints\",\"item\":\"https://docs.rhino.fi/api-reference/webhook/signature/rhinofi-webhook-public-key\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Obtain a list of previously generated webhook events\",\"item\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events#apireference\",\"headline\":\"Obtain a list of previously generated webhook events\",\"name\":\"Obtain a list of previously generated webhook events\",\"description\":\"This endpoint provides the webhook events generated for your project since a given point in time, using cursor-based pagination. It can be used to reconcile or replay events, for example where your webhook endpoint was unavailable at the time an event was sent.\",\"url\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rhino.fi/api-reference/webhook/user-events/obtain-a-list-of-previously-generated-webhook-events#webpage\"},\"dateModified\":\"2026-10-21T13:47:12.127Z\",\"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","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","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","description":"Rhino.fi public key used to verify webhook events signatures.","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":"Obtain a list of previously generated webhook events - 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"]}