{"openapi":"3.1.0","info":{"title":"SDA API","version":"0.0.1","description":"Functionality for interacting with Rhino SDA service"},"paths":{"/deposit-addresses":{"post":{"tags":["depositAddresses"],"operationId":"depositAddresses.createDepositAddress","parameters":[],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DepositAddress"}}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"DepositAddressChainsNotSupported","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressChainsNotSupported"},{"$ref":"#/components/schemas/DepositAddressInvalidDestinationAddress"},{"$ref":"#/components/schemas/DepositAddressMultipleChainTypesNotAllowed"},{"$ref":"#/components/schemas/DepositAddressNoBridgableTokens"},{"$ref":"#/components/schemas/DepositAddressTokenOutNotSupported"},{"$ref":"#/components/schemas/DepositAddressInvalidPostBridgeData"},{"$ref":"#/components/schemas/DepositAddressInvalidRefundAddress"},{"$ref":"#/components/schemas/InvalidRequest"}]}}}},"429":{"description":"DepositAddressRateLimitExceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositAddressRateLimitExceeded"}}}},"503":{"description":"EndpointDisabledError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointDisabledError"}}}}},"description":"Any bridgable tokens sent to a generated deposit address will be automatically bridged to the set up address on the destination chain.","summary":"Create new deposit address","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepositAddressPayload"}}},"required":true}}},"/deposit-addresses/{depositAddress}/{depositChain}/activate":{"patch":{"tags":["depositAddresses"],"operationId":"depositAddresses.reactivateDepositAddress","parameters":[{"name":"depositAddress","in":"path","schema":{"anyOf":[{"$ref":"#/components/schemas/EthAddressSchema"},{"$ref":"#/components/schemas/TronAddressBasic"},{"$ref":"#/components/schemas/SolanaAddress"}]},"required":true},{"name":"depositChain","in":"path","schema":{"type":"string"},"required":true}],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"a boolean","content":{"application/json":{"schema":{"type":"boolean"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"DepositAddressAlreadyActive","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressAlreadyActive"},{"$ref":"#/components/schemas/DepositAddressNotFound"}]}}}},"503":{"description":"EndpointDisabledError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointDisabledError"}}}}},"description":"Reactivates a deposit address that is inactive.","summary":"Reactivate deposit address","deprecated":true}},"/deposit-addresses/{depositAddress}/{depositChain}":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.statusDepositAddress","parameters":[{"name":"depositAddress","in":"path","schema":{"anyOf":[{"$ref":"#/components/schemas/EthAddressSchema"},{"$ref":"#/components/schemas/TronAddressBasic"},{"$ref":"#/components/schemas/SolanaAddress"}]},"required":true},{"name":"depositChain","in":"path","schema":{"type":"string"},"required":true}],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"DepositAddressStatusResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositAddressStatusResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"DepositAddressNotFound","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressNotFound"},{"$ref":"#/components/schemas/DepositAddressChainsNotSupported"},{"$ref":"#/components/schemas/DepositAddressInvalidDestinationAddress"},{"$ref":"#/components/schemas/DepositAddressMultipleChainTypesNotAllowed"},{"$ref":"#/components/schemas/DepositAddressNoBridgableTokens"},{"$ref":"#/components/schemas/DepositAddressTokenOutNotSupported"},{"$ref":"#/components/schemas/InvalidRequest"}]}}}},"503":{"description":"EndpointDisabledError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointDisabledError"}}}}},"description":"Returns the status of a deposit address on a given chain","summary":"Get deposit address status"}},"/deposit-addresses/{depositAddress}/{depositChain}/history":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.historyDepositAddress","parameters":[{"name":"depositAddress","in":"path","schema":{"anyOf":[{"$ref":"#/components/schemas/EthAddressSchema"},{"$ref":"#/components/schemas/TronAddressBasic"},{"$ref":"#/components/schemas/SolanaAddress"}]},"required":true},{"name":"depositChain","in":"path","schema":{"type":"string"},"required":true},{"name":"from","in":"query","schema":{"$ref":"#/components/schemas/from"},"required":false},{"name":"to","in":"query","schema":{"$ref":"#/components/schemas/from"},"required":false}],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"DepositAddressHistoryResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositAddressHistoryResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"DepositAddressNotFound","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressNotFound"},{"$ref":"#/components/schemas/DepositAddressChainsNotSupported"},{"$ref":"#/components/schemas/InvalidDateRange"}]}}}},"503":{"description":"EndpointDisabledError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointDisabledError"}}}}},"description":"Returns the history of a deposit address on a given chain. This includes all accepted (with precise history), failed, and rejected bridge transactions.","summary":"Get deposit address history"}},"/deposit-addresses/{depositAddress}/{depositChain}/public-status":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.publicDepositAddressStatus","parameters":[{"name":"depositAddress","in":"path","schema":{"anyOf":[{"$ref":"#/components/schemas/EthAddressSchema"},{"$ref":"#/components/schemas/TronAddressBasic"},{"$ref":"#/components/schemas/SolanaAddress"}]},"required":true},{"name":"depositChain","in":"path","schema":{"type":"string"},"required":true},{"name":"destinationAddress","in":"query","schema":{"type":"string"},"required":true}],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"PublicDepositAddressStatusResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDepositAddressStatusResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"DepositAddressNotFound","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressNotFound"},{"$ref":"#/components/schemas/InvalidRequest"}]}}}}},"description":"Returns the status of a deposit address on a given chain","summary":"Get public deposit address status"}},"/deposit-addresses/{depositChain}/{destinationChain}/supported-tokens":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.supportedTokens","parameters":[{"name":"depositChain","in":"path","schema":{"type":"string","description":"The blockchain network identifier where the deposit address is located.","title":"nonEmptyString","minLength":1},"required":true,"description":"The blockchain network identifier where the deposit address is located."},{"name":"destinationChain","in":"path","schema":{"type":"string","description":"The blockchain network identifier where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"required":true,"description":"The blockchain network identifier where bridged tokens will be sent."},{"name":"tokenOut","in":"query","schema":{"type":"string","description":"Optional token to receive after bridging (for token swaps)."},"required":false,"description":"Optional token to receive after bridging (for token swaps)."}],"security":[],"responses":{"200":{"description":"SupportedTokensResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedTokensResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiDecodeError"}}}},"422":{"description":"DepositAddressChainsNotSupported","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressChainsNotSupported"},{"$ref":"#/components/schemas/DepositAddressNoBridgableTokens"},{"$ref":"#/components/schemas/DepositAddressTokenOutNotSupported"}]}}}}},"description":"Returns the supported tokens between a deposit chain and a destination chain","summary":"Get supported tokens between a deposit chain and a destination chain"}},"/deposit-addresses/search":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.searchDepositAddress","parameters":[{"name":"addressNote","in":"query","schema":{"type":"string","description":"Optional note or label for the deposit address (max 80 characters).","title":"maxLength(80)","maxLength":80},"required":false,"description":"Optional note or label for the deposit address (max 80 characters)."},{"name":"depositChain","in":"query","schema":{"type":"string","description":"The blockchain network identifier where the deposit address is located.","title":"nonEmptyString","minLength":1},"required":false,"description":"The blockchain network identifier where the deposit address is located."},{"name":"destinationChain","in":"query","schema":{"type":"string","description":"The blockchain network identifier where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"required":false,"description":"The blockchain network identifier where bridged tokens will be sent."},{"name":"destinationAddress","in":"query","schema":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"The destination address where bridged tokens will be sent (optional)."},"required":false,"description":"The destination address where bridged tokens will be sent (optional)."},{"name":"pageToken","in":"query","schema":{"$ref":"#/components/schemas/NonEmptyString"},"required":false},{"name":"pageSize","in":"query","schema":{"type":"string","description":"a string to be decoded into a number"},"required":false,"description":"a string to be decoded into a number"}],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"SearchDepositAddressResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchDepositAddressResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"422":{"description":"InvalidRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequest"}}}}},"description":"Returns the deposit addresses that match the given search criteria.","summary":"Search deposit addresses by different fields"}},"/deposit-addresses/rate-limit-status":{"get":{"tags":["depositAddresses"],"operationId":"depositAddresses.rateLimitStatus","parameters":[],"security":[{"bearer":[]},{"legacyApiKey":[]}],"responses":{"200":{"description":"SdaRateLimitStatusResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdaRateLimitStatusResponse"}}}},"400":{"description":"The request did not match the expected schema","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/HttpApiDecodeError"},{"$ref":"#/components/schemas/InvalidJwt"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}}},"description":"Returns the authenticated user's current SDA creation rate limit configuration and usage counts.","summary":"Get SDA rate limit status"}}},"components":{"schemas":{"CreateDepositAddressPayload":{"type":"object","required":["depositChains","destinationChain","destinationAddress"],"properties":{"depositChains":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/NonEmptyString"},"description":"Array of blockchain chain identifiers where deposit addresses should be created (e.g., [\"ETHEREUM\", \"ARBITRUM\"])."},"addressNote":{"type":"string","description":"Optional note or label for the deposit address (max 80 characters).","title":"maxLength(80)","maxLength":80},"reusePolicy":{"type":"string","enum":["create-new","reuse-existing"],"description":"Whether to reuse an existing deposit address that matches the given parameters or always create a new one. By default an existing address is reused unless create-new is specified."},"webhookUrl":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"Optional URL for webhook notifications when deposits are processed."},"refundAddress":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"Optional address for refunds in case of processing failures."},"destinationChain":{"type":"string","description":"The blockchain chain identifier for the destination address (e.g., \"BASE\").","title":"nonEmptyString","minLength":1},"destinationAddress":{"type":"string","description":"The blockchain address where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}],"description":"Optional configuration for post-bridge actions (e.g., staking, lending). Must be omitted if your client does not have PBA enabled. See https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data for details."},"tokenOut":{"type":"string","description":"Token to be received on the destination address. The deposited token will be swapped automatically if needed.","title":"nonEmptyString","minLength":1},"bridgeIfNotSwappable":{"type":"boolean","description":"Only valid if tokenOut is set as well. If true, deposited tokens that cannot be swapped to the tokenOut will be bridged instead of causing a failed bridge.."}},"additionalProperties":false},"NonEmptyString":{"type":"string","description":"a non empty string","title":"nonEmptyString","minLength":1},"ExtendedPostBridgeData":{"type":"object","required":["_tag","vaultId"],"properties":{"_tag":{"type":"string","enum":["extended"]},"vaultId":{"$ref":"#/components/schemas/NonNegativeInt"}},"additionalProperties":false},"NonNegativeInt":{"type":"integer","description":"an integer","title":"int","minimum":0},"StarkwareBtcfiCampaignPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfi"]}},"additionalProperties":false},"WirexWrapPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrap"]}},"additionalProperties":false},"WirexWrapSandboxPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["wirexwrapsandbox"]}},"additionalProperties":false},"StarkwareBtcfiCampaignV2PostBridgeData":{"type":"object","required":["_tag","spans"],"properties":{"_tag":{"type":"string","enum":["starkwarebtcfiv2"]},"spans":{"type":"array","items":{"$ref":"#/components/schemas/StarknetFelt"},"description":"an array of at most 70 item(s)","title":"maxItems(70)","maxItems":70}},"additionalProperties":false},"StarknetFelt":{"type":"string","description":"a string that will be trimmed"},"AaveV3SupplyPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["aavev3supply"]}},"additionalProperties":false},"RocketFoundationDepositPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["rocketfoundationdeposit"]}},"additionalProperties":false},"MapleDepositPostBridgeData":{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["mapledeposit"]}},"additionalProperties":false},"DepositAddress":{"type":"object","required":["depositChain","depositAddress","destinationChain","supportedTokens","isActive"],"properties":{"depositChain":{"type":"string","description":"The blockchain network identifier where the deposit address is located.","title":"nonEmptyString","minLength":1},"depositAddress":{"type":"string","description":"The generated deposit address where users should send tokens.","title":"nonEmptyString","minLength":1},"destinationChain":{"type":"string","description":"The blockchain network identifier where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"destinationAddress":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"The destination address where bridged tokens will be sent (optional)."},"addressNote":{"type":"string","description":"Optional note or label for the deposit address (max 80 characters).","title":"maxLength(80)","maxLength":80},"supportedTokens":{"type":"array","items":{"type":"object","required":["symbol","address","maxDepositLimitUsd","minDepositLimitUsd"],"properties":{"symbol":{"type":"string","description":"Token symbol (e.g., \"ETH\", \"USDC\").","title":"nonEmptyString","minLength":1},"address":{"type":"string","description":"Token contract address on the deposit chain.","title":"nonEmptyString","minLength":1},"maxDepositLimitUsd":{"type":"number","description":"Maximum deposit amount in USD for this token.","title":"nonNegative","minimum":0},"minDepositLimitUsd":{"type":"number","description":"Minimum deposit amount in USD for this token.","title":"nonNegative","minimum":0}},"additionalProperties":false},"description":"List of tokens that can be deposited to this address."},"isActive":{"type":"boolean","description":"Whether this deposit address is currently active and accepting deposits."},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}],"description":"Optional configuration for post-bridge actions (e.g., staking, lending). Must be omitted if your client does not have PBA enabled. See https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data for details."},"tokenOut":{"type":"string","description":"Optional token to receive after bridging (for token swaps)."},"refundAddress":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"Optional address for refunds if bridging fails."},"bridgeIfNotSwappable":{"type":"boolean","description":"Whether to bridge tokens even if they cannot be swapped (optional)."}},"additionalProperties":false},"HttpApiDecodeError":{"type":"object","required":["issues","message","_tag"],"properties":{"issues":{"type":"array","items":{"$ref":"#/components/schemas/Issue"}},"message":{"type":"string"},"_tag":{"type":"string","enum":["HttpApiDecodeError"]}},"additionalProperties":false,"description":"The request did not match the expected schema"},"Issue":{"type":"object","required":["_tag","path","message"],"properties":{"_tag":{"type":"string","enum":["Pointer","Unexpected","Missing","Composite","Refinement","Transformation","Type","Forbidden"],"description":"The tag identifying the type of parse issue"},"path":{"type":"array","items":{"$ref":"#/components/schemas/PropertyKey"},"description":"The path to the property where the issue occurred"},"message":{"type":"string","description":"A descriptive message explaining the issue"}},"additionalProperties":false,"description":"Represents an error encountered while parsing a value to match the schema"},"PropertyKey":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","required":["_tag","key"],"properties":{"_tag":{"type":"string","enum":["symbol"]},"key":{"type":"string"}},"additionalProperties":false,"description":"an object to be decoded into a globally shared symbol"}]},"InvalidJwt":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["InvalidJwt"]}},"additionalProperties":false},"DepositAddressChainsNotSupported":{"type":"object","required":["chains","_tag"],"properties":{"chains":{"type":"array","items":{"$ref":"#/components/schemas/NonEmptyString"}},"_tag":{"type":"string","enum":["DepositAddressChainsNotSupported"]}},"additionalProperties":false},"DepositAddressInvalidDestinationAddress":{"type":"object","required":["chain","address","_tag"],"properties":{"chain":{"$ref":"#/components/schemas/NonEmptyString"},"address":{"$ref":"#/components/schemas/NonEmptyString"},"_tag":{"type":"string","enum":["DepositAddressInvalidDestinationAddress"]}},"additionalProperties":false},"DepositAddressMultipleChainTypesNotAllowed":{"type":"object","required":["chainTypes","_tag"],"properties":{"chainTypes":{"type":"array","items":{"$ref":"#/components/schemas/NonEmptyString"}},"_tag":{"type":"string","enum":["DepositAddressMultipleChainTypesNotAllowed"]}},"additionalProperties":false},"DepositAddressNoBridgableTokens":{"type":"object","required":["from","to","_tag"],"properties":{"from":{"$ref":"#/components/schemas/NonEmptyString"},"to":{"$ref":"#/components/schemas/NonEmptyString"},"_tag":{"type":"string","enum":["DepositAddressNoBridgableTokens"]}},"additionalProperties":false},"DepositAddressTokenOutNotSupported":{"type":"object","required":["tokenOut","_tag"],"properties":{"tokenOut":{"type":"string"},"_tag":{"type":"string","enum":["DepositAddressTokenOutNotSupported"]}},"additionalProperties":false},"DepositAddressInvalidPostBridgeData":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["DepositAddressInvalidPostBridgeData"]}},"additionalProperties":false},"DepositAddressInvalidRefundAddress":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["DepositAddressInvalidRefundAddress"]}},"additionalProperties":false},"InvalidRequest":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["InvalidRequest"]}},"additionalProperties":false},"EndpointDisabledError":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["EndpointDisabledError"]}},"additionalProperties":false},"DepositAddressRateLimitExceeded":{"type":"object","required":["message","limit","_tag"],"properties":{"message":{"$ref":"#/components/schemas/NonEmptyString"},"limit":{"anyOf":[{"$ref":"#/components/schemas/CountLimitExceeded"},{"$ref":"#/components/schemas/WindowLimitExceeded"}]},"_tag":{"type":"string","enum":["DepositAddressRateLimitExceeded"]}},"additionalProperties":false},"CountLimitExceeded":{"type":"object","required":["allowed","current","_tag"],"properties":{"allowed":{"$ref":"#/components/schemas/NonNegativeInt"},"current":{"$ref":"#/components/schemas/NonNegativeInt"},"_tag":{"type":"string","enum":["CountLimitExceeded"]}},"additionalProperties":false},"WindowLimitExceeded":{"type":"object","required":["allowed","current","durationMs","_tag"],"properties":{"allowed":{"$ref":"#/components/schemas/NonNegativeInt"},"current":{"$ref":"#/components/schemas/NonNegativeInt"},"durationMs":{"$ref":"#/components/schemas/DurationFromMillis"},"_tag":{"type":"string","enum":["WindowLimitExceeded"]}},"additionalProperties":false},"DurationFromMillis":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"Unauthorized":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["Unauthorized"]}},"additionalProperties":false},"EthAddressSchema":{"type":"string","description":"a string that will be trimmed"},"TronAddressBasic":{"type":"string","description":"Tron basic address format","pattern":"T[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+","title":"maxLength(60)","maxLength":60},"SolanaAddress":{"type":"string"},"DepositAddressAlreadyActive":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["DepositAddressAlreadyActive"]}},"additionalProperties":false},"DepositAddressNotFound":{"type":"object","required":["message","addresses","_tag"],"properties":{"message":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/NonEmptyString"}},"_tag":{"type":"string","enum":["DepositAddressNotFound"]}},"additionalProperties":false},"DepositAddressStatusResponse":{"type":"object","required":["depositChain","depositAddress","destinationChain","supportedTokens","isActive"],"properties":{"depositChain":{"type":"string","description":"The blockchain network identifier where the deposit address is located.","title":"nonEmptyString","minLength":1},"depositAddress":{"type":"string","description":"The generated deposit address where users should send tokens.","title":"nonEmptyString","minLength":1},"destinationChain":{"type":"string","description":"The blockchain network identifier where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"destinationAddress":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"The destination address where bridged tokens will be sent (optional)."},"addressNote":{"type":"string","description":"Optional note or label for the deposit address (max 80 characters).","title":"maxLength(80)","maxLength":80},"supportedTokens":{"type":"array","items":{"type":"object","required":["symbol","address","maxDepositLimitUsd","minDepositLimitUsd"],"properties":{"symbol":{"type":"string","description":"Token symbol (e.g., \"ETH\", \"USDC\").","title":"nonEmptyString","minLength":1},"address":{"type":"string","description":"Token contract address on the deposit chain.","title":"nonEmptyString","minLength":1},"maxDepositLimitUsd":{"type":"number","description":"Maximum deposit amount in USD for this token.","title":"nonNegative","minimum":0},"minDepositLimitUsd":{"type":"number","description":"Minimum deposit amount in USD for this token.","title":"nonNegative","minimum":0}},"additionalProperties":false},"description":"List of tokens that can be deposited to this address."},"isActive":{"type":"boolean","description":"Whether this deposit address is currently active and accepting deposits."},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}],"description":"Optional configuration for post-bridge actions (e.g., staking, lending). Must be omitted if your client does not have PBA enabled. See https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data for details."},"tokenOut":{"type":"string","description":"Optional token to receive after bridging (for token swaps)."},"refundAddress":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"}],"description":"Optional address for refunds if bridging fails."},"bridgeIfNotSwappable":{"type":"boolean","description":"Whether to bridge tokens even if they cannot be swapped (optional)."}},"additionalProperties":false},"from":{"type":"string","description":"Start date for the history query, in milliseconds since epoch or Date.parse compatible string. Optional, defaults to 7 days ago. Max window is 31 days"},"DepositAddressHistoryResponse":{"type":"object","required":["depositAddress","depositChain","bridges"],"properties":{"depositAddress":{"type":"string","description":"The deposit address for which history is being retrieved.","title":"nonEmptyString","minLength":1},"depositChain":{"type":"string","description":"The blockchain network identifier of the deposit address.","title":"nonEmptyString","minLength":1},"bridges":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressBridgeFailedApi"},{"$ref":"#/components/schemas/DepositAddressBridgeRejectedApi"},{"$ref":"#/components/schemas/DepositAddressBridgeAcceptedApi"}]},"description":"Array of bridge transactions associated with this deposit address, including accepted, failed, and rejected transactions."}},"additionalProperties":false},"DepositAddressBridgeFailedApi":{"type":"object","required":["_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","createdAt","_tag"],"properties":{"_id":{"$ref":"#/components/schemas/NonEmptyString"},"tokenSymbol":{"$ref":"#/components/schemas/NonEmptyString"},"tokenAddress":{"$ref":"#/components/schemas/NonEmptyString"},"amount":{"$ref":"#/components/schemas/AmountWithDecimals"},"amountUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountWei":{"$ref":"#/components/schemas/BigInt"},"sender":{"$ref":"#/components/schemas/NonEmptyString"},"txHash":{"$ref":"#/components/schemas/NonEmptyString"},"originalErrorTag":{"$ref":"#/components/schemas/NonEmptyString"},"createdAt":{"$ref":"#/components/schemas/DateTimeUtc"},"_tag":{"type":"string","enum":["failed"]}},"additionalProperties":false},"AmountWithDecimals":{"type":"string","description":"A value representing the human readable, normalized transaction amount or balance"},"BigDecimalFromNumber":{"type":"number","description":"a number to be decoded into a BigDecimal"},"BigInt":{"type":"string","description":"a string to be decoded into a bigint"},"DateTimeUtc":{"type":"string","description":"a string to be decoded into a DateTime.Utc"},"DepositAddressBridgeRejectedApi":{"type":"object","required":["_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","reason","txUid","createdAt","_tag"],"properties":{"_id":{"$ref":"#/components/schemas/NonEmptyString"},"tokenSymbol":{"$ref":"#/components/schemas/NonEmptyString"},"tokenAddress":{"$ref":"#/components/schemas/NonEmptyString"},"amount":{"$ref":"#/components/schemas/AmountWithDecimals"},"amountUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountWei":{"$ref":"#/components/schemas/BigInt"},"sender":{"type":"string"},"txHash":{"type":"string"},"originalErrorTag":{"$ref":"#/components/schemas/NonEmptyString"},"reason":{"type":"string","enum":["OVER_MAX","UNDER_MIN","OPERATION_UNAVAILABLE","TERMINAL_PROCESSING_ISSUE","NO_ROUTE_FOUND","UNSUPPORTED_TOKEN"]},"txUid":{"$ref":"#/components/schemas/NonEmptyString"},"createdAt":{"$ref":"#/components/schemas/DateTimeUtc"},"blockNumber":{"$ref":"#/components/schemas/NonNegativeInt"},"_tag":{"type":"string","enum":["rejected"]}},"additionalProperties":false},"DepositAddressBridgeAcceptedApi":{"type":"object","required":["_id","tokenSymbol","tokenAddress","amount","amountUsd","amountWei","sender","txHash","history","createdAt","_tag"],"properties":{"_id":{"$ref":"#/components/schemas/NonEmptyString"},"tokenSymbol":{"$ref":"#/components/schemas/NonEmptyString"},"tokenAddress":{"$ref":"#/components/schemas/NonEmptyString"},"amount":{"$ref":"#/components/schemas/AmountWithDecimals"},"amountUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountWei":{"$ref":"#/components/schemas/BigInt"},"sender":{"$ref":"#/components/schemas/NonEmptyString"},"txHash":{"$ref":"#/components/schemas/NonEmptyString"},"history":{"anyOf":[{"$ref":"#/components/schemas/DepositAddressBridgePending"},{"$ref":"#/components/schemas/DepositAddressBridgePendingConfirmation"},{"$ref":"#/components/schemas/DepositAddressBridgeFailed"},{"$ref":"#/components/schemas/DepositAddressBridgeDepositAccepted"},{"$ref":"#/components/schemas/DepositAddressBridgeAccepted"},{"$ref":"#/components/schemas/DepositAddressBridgeExecuted"}]},"createdAt":{"$ref":"#/components/schemas/DateTimeUtc"},"_tag":{"type":"string","enum":["accepted"]}},"additionalProperties":false},"DepositAddressBridgePending":{"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","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"state":{"type":"string","enum":["PENDING"]}},"additionalProperties":false},"BigDecimalFromString":{"type":"string","description":"a string to be decoded into a BigDecimal"},"BigDecimal":{"type":"string","description":"a string to be decoded into a BigDecimal"},"DateFromString":{"type":"string","description":"a string to be decoded into a Date"},"DepositAddressBridgePendingConfirmation":{"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","depositDiscoveredAt","expectedDepositConfirmedAt","expectedDepositConfirmedAtBlock","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"depositTxHash":{"type":"string"},"depositDiscoveredAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAtBlock":{"$ref":"#/components/schemas/Int"},"state":{"type":"string","enum":["PENDING_CONFIRMATION"]}},"additionalProperties":false},"Int":{"type":"integer","description":"an integer","title":"int"},"DepositAddressBridgeFailed":{"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","failedAt","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"depositTxHash":{"type":"string"},"depositCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"depositDiscoveredAt":{"$ref":"#/components/schemas/DateFromString"},"depositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAtBlock":{"$ref":"#/components/schemas/Int"},"preSwapTxHash":{"type":"string"},"preSwapCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"isConfirmed":{"type":"boolean"},"failedAt":{"$ref":"#/components/schemas/DateFromString"},"state":{"type":"string","enum":["FAILED"]}},"additionalProperties":false},"DepositAddressBridgeDepositAccepted":{"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","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"depositTxHash":{"type":"string"},"depositCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"depositDiscoveredAt":{"$ref":"#/components/schemas/DateFromString"},"depositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAtBlock":{"$ref":"#/components/schemas/Int"},"preSwapTxHash":{"type":"string"},"preSwapCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"isConfirmed":{"type":"boolean"},"state":{"type":"string","enum":["DEPOSIT_ACCEPTED"]}},"additionalProperties":false},"DepositAddressBridgeAccepted":{"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","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"depositTxHash":{"type":"string"},"depositCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"depositDiscoveredAt":{"$ref":"#/components/schemas/DateFromString"},"depositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAtBlock":{"$ref":"#/components/schemas/Int"},"preSwapTxHash":{"type":"string"},"preSwapCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"isConfirmed":{"type":"boolean"},"state":{"type":"string","enum":["ACCEPTED"]}},"additionalProperties":false},"DepositAddressBridgeExecuted":{"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","state"],"properties":{"_tag":{"type":"string","enum":["depositAddressBridge"]},"_id":{"type":"string"},"userId":{"type":"string"},"chainIn":{"type":"string"},"chainOut":{"type":"string"},"amountIn":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountInUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountOut":{"$ref":"#/components/schemas/BigDecimalFromString"},"amountOutUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"amountNative":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromString"},{"type":"null"}]},"amountNativeUsd":{"anyOf":[{"$ref":"#/components/schemas/BigDecimalFromNumber"},{"type":"null"}]},"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sponsoredFees":{"type":"object","required":["fee","feeUsd","gasFee","gasFeeUsd","platformFee","platformFeeUsd","percentageFee","percentageFeeUsd","sourceGasFee","sourceGasFeeUsd"],"properties":{"fee":{"$ref":"#/components/schemas/BigDecimal"},"feeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"gasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"gasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"platformFee":{"$ref":"#/components/schemas/BigDecimal"},"platformFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"percentageFee":{"$ref":"#/components/schemas/BigDecimal"},"percentageFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"sourceGasFee":{"$ref":"#/components/schemas/BigDecimalFromString"},"sourceGasFeeUsd":{"$ref":"#/components/schemas/BigDecimalFromNumber"}},"additionalProperties":false},"recipient":{"type":"string"},"depositor":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateFromString"},"commitmentDate":{"$ref":"#/components/schemas/DateFromString"},"speed":{"type":"string","enum":["fast","standard","slow"]},"estimatedDuration":{"type":"number","description":"a non-negative number to be decoded into a Duration","title":"nonNegative","minimum":0},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"token":{"type":"string"},"tokenOut":{"type":"string"},"usdPrice":{"$ref":"#/components/schemas/BigDecimalFromNumber"},"depositAddress":{"type":"string"},"depositTxHash":{"type":"string"},"depositCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"depositDiscoveredAt":{"$ref":"#/components/schemas/DateFromString"},"depositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAt":{"$ref":"#/components/schemas/DateFromString"},"expectedDepositConfirmedAtBlock":{"$ref":"#/components/schemas/Int"},"preSwapTxHash":{"type":"string"},"preSwapCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"isConfirmed":{"type":"boolean"},"withdrawTxHash":{"type":"string"},"withdrawCommittedAt":{"$ref":"#/components/schemas/DateFromString"},"state":{"type":"string","enum":["EXECUTED"]}},"additionalProperties":false},"InvalidDateRange":{"type":"object","required":["message","_tag"],"properties":{"message":{"type":"string"},"_tag":{"type":"string","enum":["InvalidDateRange"]}},"additionalProperties":false},"PublicDepositAddressStatusResponse":{"type":"object","required":["depositAddress","depositChain","destinationChain","destinationAddress","lastBridges"],"properties":{"depositAddress":{"type":"string","description":"The deposit address being queried."},"depositChain":{"type":"string","description":"The blockchain network of the deposit address."},"destinationChain":{"type":"string","description":"The destination blockchain network for bridged tokens."},"destinationAddress":{"type":"string","description":"The destination address for bridged tokens."},"lastBridges":{"type":"array","items":{"$ref":"#/components/schemas/PublicDepositAddressStatusBridge"},"description":"Recent bridge transactions for this deposit address."}},"additionalProperties":false},"PublicDepositAddressStatusBridge":{"type":"object","required":["depositTxHash","depositTxTimestamp","tokenSymbol","depositAmount","sender","status"],"properties":{"depositTxHash":{"type":"string"},"depositTxTimestamp":{"$ref":"#/components/schemas/DateTimeUtc"},"tokenSymbol":{"type":"string"},"depositAmount":{"$ref":"#/components/schemas/AmountWithDecimals"},"sender":{"type":"string"},"status":{"anyOf":[{"type":"object","required":["_tag","reason"],"properties":{"_tag":{"type":"string","enum":["REJECTED"]},"reason":{"type":"string","enum":["OVER_MAX","UNDER_MIN","OPERATION_UNAVAILABLE","TERMINAL_PROCESSING_ISSUE","NO_ROUTE_FOUND","UNSUPPORTED_TOKEN"]}},"additionalProperties":false},{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["RETRYING"]},"originalErrorTag":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["_tag","amountOut","fee"],"properties":{"_tag":{"type":"string","enum":["ACCEPTED"]},"amountOut":{"$ref":"#/components/schemas/AmountWithDecimals"},"fee":{"$ref":"#/components/schemas/AmountWithDecimals"}},"additionalProperties":false},{"type":"object","required":["_tag","withdrawTxHash","withdrawTxTimestamp","amountOut","fee"],"properties":{"_tag":{"type":"string","enum":["EXECUTED"]},"withdrawTxHash":{"type":"string"},"withdrawTxTimestamp":{"$ref":"#/components/schemas/DateTimeUtc"},"amountOut":{"$ref":"#/components/schemas/AmountWithDecimals"},"fee":{"$ref":"#/components/schemas/AmountWithDecimals"}},"additionalProperties":false}]}},"additionalProperties":false},"SupportedTokensResponse":{"type":"object","required":["supportedTokens"],"properties":{"supportedTokens":{"type":"array","items":{"type":"object","required":["symbol","address","maxDepositLimitUsd","minDepositLimitUsd"],"properties":{"symbol":{"type":"string","description":"Token symbol (e.g., \"ETH\", \"USDC\").","title":"nonEmptyString","minLength":1},"address":{"type":"string","description":"Token contract address on the deposit chain.","title":"nonEmptyString","minLength":1},"maxDepositLimitUsd":{"type":"number","description":"Maximum deposit amount in USD for this token.","title":"nonNegative","minimum":0},"minDepositLimitUsd":{"type":"number","description":"Minimum deposit amount in USD for this token.","title":"nonNegative","minimum":0}},"additionalProperties":false},"description":"List of tokens that can be deposited to this address."}},"additionalProperties":false},"SearchDepositAddressResponse":{"type":"object","required":["nextPageToken","items"],"properties":{"nextPageToken":{"anyOf":[{"$ref":"#/components/schemas/NonEmptyString"},{"type":"null"}],"description":"Token for the next page of results, null if no more pages."},"items":{"type":"array","items":{"type":"object","required":["depositChain","depositAddress","destinationChain","userId"],"properties":{"depositChain":{"type":"string","description":"The blockchain network identifier where the deposit address is located.","title":"nonEmptyString","minLength":1},"depositAddress":{"type":"string","description":"The generated deposit address where users should send tokens.","title":"nonEmptyString","minLength":1},"destinationChain":{"type":"string","description":"The blockchain network identifier where bridged tokens will be sent.","title":"nonEmptyString","minLength":1},"destinationAddress":{"$ref":"#/components/schemas/NonEmptyString"},"addressNote":{"type":"string","description":"a string at most 80 character(s) long","title":"maxLength(80)","maxLength":80},"postBridgeData":{"anyOf":[{"$ref":"#/components/schemas/ExtendedPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapPostBridgeData"},{"$ref":"#/components/schemas/WirexWrapSandboxPostBridgeData"},{"$ref":"#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData"},{"$ref":"#/components/schemas/AaveV3SupplyPostBridgeData"},{"$ref":"#/components/schemas/RocketFoundationDepositPostBridgeData"},{"$ref":"#/components/schemas/MapleDepositPostBridgeData"}]},"tokenOut":{"type":"string"},"refundAddress":{"$ref":"#/components/schemas/NonEmptyString"},"bridgeIfNotSwappable":{"type":"boolean"},"_tag":{"type":"string","enum":["legacy"]},"userId":{"type":"string"},"webhookUrl":{"$ref":"#/components/schemas/NonEmptyString"}},"additionalProperties":false},"description":"Array of deposit addresses matching the search criteria."}},"additionalProperties":false},"SdaRateLimitStatusResponse":{"type":"object","required":["totalLimit","totalCreated","windowLimit"],"properties":{"totalLimit":{"anyOf":[{"type":"object","required":["_tag","value"],"properties":{"_tag":{"type":"string","enum":["limited"]},"value":{"$ref":"#/components/schemas/NonNegative","description":"Maximum number of SDAs allowed.","title":"int","type":"integer"}},"additionalProperties":false},{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["unlimited"]}},"additionalProperties":false}],"description":"The user's total (lifetime) SDA creation limit."},"totalCreated":{"$ref":"#/components/schemas/NonNegative","description":"Total number of SDAs created by the user (lifetime count).","title":"int","type":"integer"},"windowLimit":{"anyOf":[{"type":"object","required":["_tag","value","durationMs"],"properties":{"_tag":{"type":"string","enum":["limited"]},"value":{"$ref":"#/components/schemas/NonNegative","description":"Maximum number of SDAs allowed within the time window.","title":"int","type":"integer"},"durationMs":{"type":"number","description":"Rolling time window duration in milliseconds.","title":"nonNegative","minimum":0}},"additionalProperties":false},{"type":"object","required":["_tag"],"properties":{"_tag":{"type":"string","enum":["unlimited"]}},"additionalProperties":false}],"description":"The user's rolling time-window SDA creation limit."},"windowCreated":{"$ref":"#/components/schemas/NonNegative","description":"Number of SDAs created by the user within the current time window. Only present when windowLimit is \"limited\".","title":"int","type":"integer"}},"additionalProperties":false},"NonNegative":{"type":"number","description":"a non-negative number","title":"nonNegative","minimum":0}},"securitySchemes":{"bearer":{"description":"JWT token for authentication","type":"http","scheme":"bearer"},"legacyApiKey":{"type":"apiKey","name":"authorization","in":"header"}}},"security":[],"tags":[{"name":"depositAddresses"}],"servers":[{"url":"https://api.rhino.fi/sda"}]}