openapi: 3.0.0 info: title: Skip Go API description: Simple APIs to build seamless cross-chain products that do more with fewer transactions. For devs with all levels of cross-chain experience. version: 0.1.0 servers: - url: https://api.skip.build description: Production - url: https://api.dev.skip.build description: Development - url: http://localhost:8080 description: Local tags: - name: 'Info' description: 'APIs that return general information useful for a variety of operations' - name: 'Fungible' description: 'APIs swaps, transfers, and contract calls within the IBC/Cosmos Ecosystem, EVM ecosystem, and between them, including automatic DEX aggregation, bridge routing, and denom recommendation. Typical usage is /route to generate routing info and quotes, followed by /msgs to generate msgs for signing' - name: 'Transaction' description: 'APIs for broadcasting transactions within the IBC/Cosmos ecosystem, EVM ecosystem, and between them, and tracking their status and any subsequent transfers if routing assets cross chain. Typical usage is /submit to broadcast a transaction, followed by /status to query its status' paths: /v2/info/chains: get: operationId: chains tags: - 'Info' description: Get all supported chains along with additional data useful for building applications + frontends that interface with them (e.g. logo URI, IBC capabilities, fee assets, bech32 prefix, etc...) parameters: - in: query name: chain_ids required: false schema: type: array items: type: string description: Chain IDs to limit the response to, defaults to all chains if not provided examples: All: value: summary: Get all chains Osmosis and Cosmos Hub: value: [osmosis-1, cosmoshub-4] summary: Get Osmosis and Cosmos Hub - in: query name: include_evm required: false schema: type: boolean description: Whether to include EVM chains in the response example: false - in: query name: include_svm required: false schema: type: boolean description: Whether to include SVM chains in the response - in: query name: only_testnets required: false schema: type: boolean description: Whether to display only testnets in the response example: false responses: '200': description: Returns a list of supported chains with additional data content: application/json: example: chains: - chain_name: cosmoshub chain_id: cosmoshub-4 pfm_enabled: true cosmos_module_support: authz: true feegrant: true supports_memo: true logo_uri: https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png bech32_prefix: cosmos fee_assets: - denom: uatom gas_price: low: '0.01' average: '0.025' high: '0.03' chain_type: cosmos ibc_capabilities: cosmos_pfm: true cosmos_ibc_hooks: true cosmos_memo: true cosmos_autopilot: true is_testnet: false pretty_name: Cosmos Hub - chain_name: osmosis chain_id: osmosis-1 pfm_enabled: true cosmos_module_support: authz: true feegrant: true supports_memo: true bech32_prefix: osmo logo_uri: https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmosis-chain-logo.png fee_assets: - denom: uosmo gas_price: low: '0.0025' average: '0.025' high: '0.04' chain_type: cosmos ibc_capabilities: cosmos_pfm: true cosmos_ibc_hooks: true cosmos_memo: true cosmos_autopilot: true is_testnet: false pretty_name: Osmosis schema: type: object properties: chains: type: array items: $ref: '#/components/schemas/Chain' description: Array of supported chain-ids /v2/info/balances: post: operationId: balances tags: - 'Info' description: Get the balances of a given set of assets on a given chain and wallet address. Compatible with all Skip Go-supported assets, excluding CW20 assets, across SVM, EVM, and Cosmos chains. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BalancesRequest' example: chains: 137: address: '0x24a9267cE9e0a8F4467B584FDDa12baf1Df772B5' denoms: - 'polygon-native' - '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359' osmosis-1: address: osmo12xufazw43lanl8dkvf3l7y9zzm8n3zswftw2yc denoms: - uosmo responses: '200': description: The balances of the assets content: application/json: schema: type: object properties: chains: type: object additionalProperties: $ref: '#/components/schemas/BalanceResponseChainEntry' example: chains: 137: address: '0x24a9267cE9e0a8F4467B584FDDa12baf1Df772B5' denoms: polygon-native: amount: '58477097336215771549' decimals: 18 formatted_amount: '58.477097336215771549' price: '0.406894' value_usd: '23.793980' '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359': amount: '100000000' decimals: 6 formatted_amount: '100.000000' price: '0.581495' value_usd: '58.1495' osmosis-1: address: osmo12xufazw43lanl8dkvf3l7y9zzm8n3zswftw2yc denoms: uosmo: amount: '100000000' decimals: 6 formatted_amount: '100.000000' price: '0.581495' value_usd: '58.1495' /v2/info/bridges: get: operationId: bridges tags: - 'Info' description: Get all supported bridges responses: '200': description: A list of supported bridges content: application/json: example: bridges: - id: IBC name: IBC logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/bridges/ibc/logo.svg - id: AXELAR name: Axelar logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/bridges/axelar/logo.svg - id: CCTP name: CCTP logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/bridges/cctp/logo.svg schema: type: object properties: bridges: type: array items: $ref: '#/components/schemas/Bridge' description: Array of supported bridges /v2/fungible/venues: get: operationId: venues tags: - 'Fungible' description: Get supported swap venues. parameters: - in: query name: only_testnets required: false schema: type: boolean description: Whether to display only venues from testnets in the response example: false responses: '200': description: A list of supported swap venues content: application/json: example: venues: - name: neutron-astroport chain_id: neutron-1 logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/swap-venues/neutron-astroport/logo.png - name: osmosis-poolmanager chain_id: osmosis-1 logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/swap-venues/osmosis/logo.png schema: type: object properties: venues: type: array items: $ref: '#/components/schemas/SwapVenue' description: Array of supported swap venues /v2/fungible/assets: get: operationId: assets tags: - 'Fungible' description: Get supported assets. Optionally limit to assets on a given chain and/or native assets. parameters: - in: query name: chain_ids required: false schema: type: array items: type: string description: Chain IDs to limit the response to, defaults to all chains if not provided examples: All: value: summary: Get assets across all chains Osmosis and Cosmos Hub: value: [osmosis-1, cosmoshub-4] summary: Get assets on Osmosis and Cosmos Hub - in: query name: native_only required: false schema: type: boolean description: Whether to restrict assets to those native to their chain examples: true: value: true summary: Get only native assets false: value: false summary: Get all assets - in: query name: include_no_metadata_assets required: false schema: type: boolean description: Whether to include assets without metadata (symbol, name, logo_uri, etc.) examples: false: value: false summary: Exclude assets without metadata true: value: true summary: Include assets without metadata - in: query name: include_cw20_assets required: false schema: type: boolean description: Whether to include CW20 tokens examples: false: value: false summary: Exclude CW20 tokens true: value: true summary: Include CW20 tokens - in: query name: include_evm_assets required: false schema: type: boolean description: Whether to include EVM tokens examples: false: value: false summary: Exclude EVM tokens true: value: true summary: Include EVM tokens - in: query name: include_svm_assets required: false schema: type: boolean description: Whether to include SVM tokens examples: false: value: false summary: Exclude SVM tokens true: value: true summary: Include SVM tokens - in: query name: only_testnets required: false schema: type: boolean description: Whether to display only assets from testnets in the response example: false responses: '200': description: A map of chain_id to assets content: application/json: example: chain_to_assets_map: osmosis-1: assets: - denom: uosmo chain_id: osmosis-1 origin_denom: uosmo origin_chain_id: osmosis-1 trace: '' symbol: OSMO name: OSMO logo_uri: https://raw.githubusercontent.com/cosmostation/chainlist/main/chain/osmosis/asset/osmo.png decimals: 6 coingecko_id: osmosis description: The native token of Osmosis recommended_symbol: OSMO schema: type: object properties: chain_to_assets_map: type: object description: Map of chain-ids to array of assets supported on the chain additionalProperties: type: object properties: assets: type: array items: $ref: '#/components/schemas/Asset' '400': description: The request was invalid, e.g. field is invalid content: application/json: example: code: 3 message: Invalid chain_id details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/assets_from_source: post: operationId: assetsFromSource tags: - 'Fungible' description: Get assets that can be reached from a source via transfers under different conditions (e.g. single vs multiple txs) requestBody: required: true content: application/json: examples: USDC From Axelar: value: source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 allow_multi_tx: false summary: 'Get transfer assets that can be reached from USDC on Axelar' ASTRO from Terra: value: source_asset_denom: cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26 source_asset_chain_id: phoenix-1 allow_multi_tx: false summary: 'Get transfer assets that can be reached from ASTRO on Terra' schema: $ref: '#/components/schemas/AssetsFromSourceRequest' responses: '200': description: Assets reachable from the specified source without swapping content: application/json: example: dest_assets: agoric-3: assets: - denom: ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F chain_id: agoric-3 origin_denom: uusdc origin_chain_id: axelar-dojo-1 trace: transfer/channel-9 comdex-1: assets: - denom: ibc/E1616E7C19EA474C565737709A628D6F8A23FF9D3E9A7A6871306CF5E0A5341E chain_id: comdex-1 origin_denom: uusdc origin_chain_id: axelar-dojo-1 trace: transfer/channel-34 symbol: axlUSDC name: axlUSDC logo_uri: https://raw.githubusercontent.com/axelarnetwork/axelar-configs/main/images/tokens/usdc.svg decimals: 6 recommended_symbol: USDC.axl schema: type: object properties: dest_assets: type: object description: Array of assets that are reachable from the specified source asset additionalProperties: type: object properties: assets: type: array items: $ref: '#/components/schemas/Asset' '400': description: The request was invalid, e.g. field is invalid content: application/json: example: code: 3 message: Invalid source_asset_denom details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/route: post: operationId: route tags: - 'Fungible' description: This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns the sequence of transfers and/or swaps to reach the given destination asset from the given source asset, along with estimated amount out. Commonly called before /msgs to generate route info and quote. requestBody: required: true content: application/json: examples: Swap USDC to ATOM: value: amount_in: '1000000' source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Swap 1 USDC on Axelar to ATOM on the Hub' Swap Astro to LUNA: value: amount_in: '1000000' source_asset_denom: cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26 source_asset_chain_id: phoenix-1 dest_asset_denom: uluna dest_asset_chain_id: phoenix-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Swap 1 ASTRO on Terra to LUNA on Terra' Transfer stATOM from Osmosis to Cosmos Hub: value: amount_in: '1000000' source_asset_denom: ibc/C140AFD542AE77BD7DCC83F13FDD8C5E5BB8C4929785E6EC2F4C636F98F17901 source_asset_chain_id: osmosis-1 dest_asset_denom: ibc/B05539B66B72E2739B986B86391E5D08F12B8D5D2C2A7F8F8CF9ADF674DFA231 dest_asset_chain_id: cosmoshub-4 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Transfer 1 stATOM from Osmosis to the Hub' Transfer Matic to Osmosis: value: amount_in: '3000000000000000000' source_asset_denom: 'polygon-native' source_asset_chain_id: '137' dest_asset_denom: 'ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB' dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Transfer 3 MATIC from Polygon to Osmosis' Transfer USDC in from Noble to Osmosis: value: amount_in: '1000000' source_asset_denom: uusdc source_asset_chain_id: noble-1 dest_asset_denom: ibc/498A0751C798A0D9A389AA3691123DADA57DAA4FE165D5C75894505B876BA6E4 dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Transfer 1 USDC in from Noble to Osmosis' Transfer USDC from Noble to Eth via CCTP: value: amount_in: '200000000' source_asset_denom: uusdc source_asset_chain_id: noble-1 dest_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' dest_asset_chain_id: '1' cumulative_affiliate_fee_bps: '0' allow_multi_tx: true bridges: - CCTP summary: 'Transfer 1 USDC from Noble to Ethereum via CCTP' Transfer TIA from Celestia to Manta Pacific via Hyperlane: value: amount_in: '10000000' source_asset_denom: utia source_asset_chain_id: celestia dest_asset_denom: '0x6Fae4D9935E2fcb11fC79a64e917fb2BF14DaFaa' dest_asset_chain_id: '169' cumulative_affiliate_fee_bps: '0' allow_multi_tx: true bridges: - HYPERLANE - IBC summary: 'Transfer 10 TIA from Celestia to Manta Pacific via Hyperlane' Receive USDC out from Noble on Osmosis: value: amount_out: '1000000' source_asset_denom: uusdc source_asset_chain_id: noble-1 dest_asset_denom: ibc/498A0751C798A0D9A389AA3691123DADA57DAA4FE165D5C75894505B876BA6E4 dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Receive 1 USDC from Noble on Osmosis' Swap USDC in from Noble to Osmosis : value: amount_in: '1000000' source_asset_denom: uusdc source_asset_chain_id: noble-1 dest_asset_denom: uosmo dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Swap 1 USDC in from Noble to OSMO on Osmosis' Transfer USDC from Neutron to Solana: value: amount_in: '100000000' source_asset_denom: ibc/B559A80D62249C8AA07A380E2A2BEA6E5CA9A6F079C912C3A9E9B494105E4F81 source_asset_chain_id: neutron-1 dest_asset_denom: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v dest_asset_chain_id: solana cumulative_affiliate_fee_bps: '0' allow_multi_tx: true smart_relay: true summary: 'Transfer 100 USDC from Neutron to Solana' Swap USDC out from Noble to Osmosis: value: amount_out: '1000000' source_asset_denom: uusdc source_asset_chain_id: noble-1 dest_asset_denom: uosmo dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Receive 1 OSMO on Osmosis from USDC on Noble' Swap USDC out from Osmosis to Cosmos Hub: value: amount_out: '1000000' source_asset_denom: uosmo source_asset_chain_id: osmosis-1 dest_asset_denom: ibc/F663521BF1836B00F5F177680F74BFB9A8B5654A694D0D2BC249E03CF2509013 dest_asset_chain_id: cosmoshub-4 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true summary: 'Receive 1 Noble USDC on Cosmos Hub from OSMO on Osmosis' Swap with allow_unsafe false: value: amount_in: '100000000000000' source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true allow_unsafe: false summary: 'High price impact swap with allow_unsafe=false' Smart Relay: value: amount_in: '1500000000' source_asset_denom: 'uusdc' source_asset_chain_id: 'noble-1' dest_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' dest_asset_chain_id: '1' cumulative_affiliate_fee_bps: '0' smart_relay: true summary: 'CCTP transfer with Smart Relay' Split Routes: value: amount_in: '10000000000' source_asset_denom: uosmo source_asset_chain_id: osmosis-1 dest_asset_denom: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 dest_asset_chain_id: osmosis-1 cumulative_affiliate_fee_bps: '0' allow_multi_tx: true allow_unsafe: true smart_swap_options: split_routes: true summary: 'Split Routes vis Osmosis SQS' EVM Swap: value: amount_in: '10000000000000000000' source_asset_denom: 'arbitrum-native' source_asset_chain_id: '42161' dest_asset_denom: 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5' dest_asset_chain_id: 'dydx-mainnet-1' cumulative_affiliate_fee_bps: '0' allow_unsafe: true smart_relay: true smart_swap_options: split_routes: true evm_swaps: true summary: 'Swap ETH on Arbitrum Uniswap to USDC on dYdX' schema: $ref: '#/components/schemas/RouteRequest' responses: '200': description: Swap and transfer route summary & quote content: application/json: example: amount_in: '1000000000000000000' amount_out: '721110' source_asset_denom: 'polygon-native' source_asset_chain_id: '137' dest_asset_denom: uosmo dest_asset_chain_id: osmosis-1 operations: - axelar_transfer: from_chain: Polygon from_chain_id: '137' to_chain: osmosis to_chain_id: osmosis-1 asset: wmatic-wei should_unwrap: false fee_amount: '335901477747718412' usd_fee_amount: '0.27' fee_asset: denom: matic chain_id: '137' origin_denom: '' origin_chain_id: '' trace: '' is_cw20: false is_evm: true symbol: 'MATIC' name: 'matic' logo_uri: 'https://raw.githubusercontent.com/cosmostation/chainlist/main/chain/polygon/asset/wmatic.png' decimals: 18 token_contract: '' is_testnet: false bridge_id: AXELAR tx_index: 0 - swap: swap_in: swap_venue: name: osmosis-poolmanager chain_id: osmosis-1 swap_operations: - pool: '789' denom_in: ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB denom_out: uosmo swap_amount_in: '664098522252281588' price_impact_percent: '1.05' estimated_affiliate_fee: 0uosmo from_chain_id: osmosis-1 chain_id: osmosis-1 denom_in: ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB denom_out: uosmo tx_index: 0 chain_ids: - axelar-dojo-1 - osmosis-1 - cosmoshub-4 required_chain_addresses: - axelar-dojo-1 - osmosis-1 - cosmoshub-4 does_swap: true estimated_amount_out: '721110' swap_venues: - name: osmosis-poolmanager chain_id: osmosis-1 logo_uri: https://raw.githubusercontent.com/skip-mev/skip-go-registry/main/swap-venues/osmosis/logo.png txs_required: 1 usd_amount_in: '2000.01' usd_amount_out: '2005.23' swap_price_impact_percent: '1.05' estimated_fees: [] estimated_route_duration_seconds: 300 schema: $ref: '#/components/schemas/Route' '400': description: The request was invalid, e.g. an invalid amount was passed or the swap size is unsafe content: application/json: example: code: 3 message: 'difference in usd value of route input and output is too large. input usd value: 100000.00 output usd value: 98811.81' details: [ { '@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'BAD_PRICE_ERROR', 'domain': 'skip.build', 'metadata': {}, }, ] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/msgs: post: operationId: msgs tags: - 'Fungible' description: This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns minimal number of messages required to execute a multi-chain swap or transfer. Input consists of the output of route with additional information required for message construction (e.g. destination addresses for each chain) requestBody: content: application/json: examples: Swap USDC to ATOM: value: source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 amount_in: '1000000' amount_out: '107033' address_list: - 'axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0' - 'osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu' - 'cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw' operations: - transfer: port: transfer channel: channel-3 from_chain_id: axelar-dojo-1 to_chain_id: osmosis-1 pfm_enabled: false supports_memo: true dest_denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - swap: swap_in: swap_venue: name: osmosis-poolmanager chain_id: osmosis-1 swap_operations: - pool: '678' denom_in: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 denom_out: uosmo - pool: '1' denom_in: uosmo denom_out: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 swap_amount_in: '1000000' estimated_affiliate_fee: 0ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 from_chain_id: osmosis-1 chain_id: osmosis-1 denom_in: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 denom_out: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 - transfer: port: transfer channel: channel-0 from_chain_id: osmosis-1 to_chain_id: cosmoshub-4 pfm_enabled: true supports_memo: true dest_denom: uatom slippage_tolerance_percent: '1' chain_ids_to_affiliates: {} summary: 'Swap 1 USDC on Axelar to ATOM on the Hub' Transfer Matic from Polygon to Osmosis: value: source_asset_denom: 'polygon-native' source_asset_chain_id: '137' dest_asset_denom: ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB dest_asset_chain_id: osmosis-1 amount_in: '3000000000000000000' amount_out: '1509000000000000000' operations: - axelar_transfer: from_chain: 'Polygon' from_chain_id: '137' to_chain: 'osmosis' to_chain_id: 'osmosis-1' asset: 'polygon-native' should_unwrap: false denom_in: 'polygon-native' denom_out: 'ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB' fee_amount: '577319469026289804' usd_fee_amount: '0.65' is_testnet: false bridge_id: 'AXELAR' chain_ids_to_affiliates: {} address_list: - '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' - 'osmo1tsmt8ezjrp7w0mls5p4rv8gcaz4yx5lzqyww8m' summary: 'Transfer 3 MATIC from Polygon to Osmosis' Transfer Noble to Ethereum via CCTP: value: source_asset_denom: uusdc source_asset_chain_id: 'noble-1' dest_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' dest_asset_chain_id: '1' amount_in: '1000000' amount_out: '1000000' operations: - cctp_transfer: from_chain_id: 'noble-1' to_chain_id: '1' burn_token: 'uusdc' denom_in: 'uusdc' denom_out: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' bridge_id: 'CCTP' chain_ids_to_affiliates: {} address_list: - 'noble13vjmklxq8nkdmv2a0w5m887t38jz9na30vl8g6' - '0x8EB49E3D65d74967CC0Fe987FA2d015ae816352E' summary: 'Transfer 200 USDC from Noble to Ethereum via CCTP' Transfer USDC from Noble to Etherum with Smart Relay via CCTP Transfer: value: source_asset_denom: uusdc source_asset_chain_id: 'noble-1' dest_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' dest_asset_chain_id: '1' amount_in: '1500000000' amount_out: '1400000000' operations: - cctp_transfer: from_chain_id: 'noble-1' to_chain_id: '1' burn_token: 'uusdc' denom_in: 'uusdc' denom_out: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' bridge_id: 'CCTP' smart_relay: true chain_ids_to_affiliates: {} address_list: - 'noble13vjmklxq8nkdmv2a0w5m887t38jz9na30vl8g6' - '0x8EB49E3D65d74967CC0Fe987FA2d015ae816352E' summary: 'CCTP Transfer with Smart Relay' Transfer Init from Intia to Birdee via OPInit: value: source_asset_denom: uinit source_asset_chain_id: initiation-1 dest_asset_denom: 'l2/333f8e6ae6855338f99d451126bfefc1b920763c16681d55fbc7df68ccb36972' dest_asset_chain_id: 'birdee-1' amount_in: '1000000' amount_out: '1000000' operations: - op_init_transfer: from_chain_id: 'initia' to_chain_id: 'birdee-1' denom_in: 'uinit' denom_out: 'l2/333f8e6ae6855338f99d451126bfefc1b920763c16681d55fbc7df68ccb36972' op_init_bridge_id: '14' chain_ids_to_affiliates: {} address_list: - 'init1f9qwat48ldgxrmssvpvpk3tea8l72mksvzm62v' - 'init1f9qwat48ldgxrmssvpvpk3tea8l72mksvzm62v' summary: 'Transfer 1 uinit from Initia to Birdee via OPInit ' schema: $ref: '#/components/schemas/MsgsRequest' responses: '200': description: The messages required to execute the swap, as JSON. content: application/json: example: msgs: - multi_chain_msg: chain_id: axelar-dojo-1 path: - axelar-dojo-1 msg: '{"source_port":"transfer","source_channel":"channel-3","token":{"denom":"uusdc","amount":"1000000"},"sender":"axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0","receiver":"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler","timeout_height":{},"timeout_timestamp":1688663426558649000,"memo":"{\"wasm\":{\"contract\":\"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler\",\"msg\":{\"swap_with_action\":{\"swap_msg\":{\"token_out_min_amount\":\"105963\",\"path\":[{\"pool_id\":\"678\",\"token_out_denom\":\"uosmo\"},{\"pool_id\":\"1\",\"token_out_denom\":\"ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2\"}]},\"after_swap_action\":{\"ibc_transfer\":{\"receiver\":\"cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw\",\"channel\":\"channel-0\"}},\"local_fallback_address\":\"osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu\"}}}}"}' msg_type_url: '/ibc.applications.transfer.v1.MsgTransfer' txs: - cosmos_tx: chain_id: axelar-dojo-1 path: - axelar-dojo-1 signer_address: axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0 msgs: - msg: '{"source_port":"transfer","source_channel":"channel-3","token":{"denom":"uusdc","amount":"1000000"},"sender":"axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0","receiver":"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler","timeout_height":{},"timeout_timestamp":1688663426558649000,"memo":"{\"wasm\":{\"contract\":\"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler\",\"msg\":{\"swap_with_action\":{\"swap_msg\":{\"token_out_min_amount\":\"105963\",\"path\":[{\"pool_id\":\"678\",\"token_out_denom\":\"uosmo\"},{\"pool_id\":\"1\",\"token_out_denom\":\"ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2\"}]},\"after_swap_action\":{\"ibc_transfer\":{\"receiver\":\"cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw\",\"channel\":\"channel-0\"}},\"local_fallback_address\":\"osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu\"}}}}"}' msg_type_url: '/ibc.applications.transfer.v1.MsgTransfer' operations_indices: [0, 1, 2] min_amount_out: '105963' estimated_fees: [] schema: type: object properties: msgs: type: array items: $ref: '#/components/schemas/Msg' txs: type: array items: $ref: '#/components/schemas/Tx' min_amount_out: type: string description: Minimum possible output after all operations, including fees and slippage estimated_fees: description: Indicates fees incurred in the execution of the transfer items: $ref: '#/components/schemas/Fee' type: array '400': description: The request was invalid, e.g. an invalid amount was passed. content: application/json: example: code: 3 message: 'invalid amount_in' details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/msgs_direct: post: operationId: msgsDirect tags: - 'Fungible' description: This supports cross-chain actions among EVM chains, Cosmos chains, and between them. Returns minimal number of messages required to execute a multi-chain swap or transfer. This is a convenience endpoint that combines /route and /msgs into a single call. requestBody: required: true content: application/json: examples: Swap USDC to ATOM: value: source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 amount_in: '1500000000' chain_ids_to_addresses: axelar-dojo-1: axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0 osmosis-1: osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu cosmoshub-4: cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw slippage_tolerance_percent: '3' allow_multi_tx: true summary: 'Swap 1 USDC on Axelar to ATOM on the Hub' Swap ASTRO to LUNA: value: source_asset_denom: cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26 source_asset_chain_id: phoenix-1 dest_asset_denom: uluna dest_asset_chain_id: phoenix-1 amount_in: '1000000' chain_ids_to_addresses: phoenix-1: terra127qzje4r06q3lgeh6dm2tvsuzc3l2uu4q3ezlz slippage_tolerance_percent: '3' allow_multi_tx: true summary: 'Swap 1 ASTRO on Terra to LUNA on Terra' Transfer Matic to Osmosis: value: amount_in: '3000000000000000000' source_asset_denom: 'polygon-native' source_asset_chain_id: '137' dest_asset_denom: 'ibc/AB589511ED0DD5FA56171A39978AFBF1371DB986EC1C3526CE138A16377E39BB' dest_asset_chain_id: osmosis-1 chain_ids_to_addresses: 137: '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' osmosis-1: 'osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu' slippage_tolerance_percent: '3' allow_multi_tx: true summary: 'Transfer 3 MATIC from Polygon to Osmosis' Transfer USDC from Ethereum to Noble via CCTP: value: amount_in: '100000000' source_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' source_asset_chain_id: '1' dest_asset_denom: 'uusdc' dest_asset_chain_id: noble-1 chain_ids_to_addresses: 1: '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' noble-1: 'noble1x8ad0zyw52mvndh7hlnafrg0gt284ga7suqe3q' slippage_tolerance_percent: '3' allow_multi_tx: true bridges: - CCTP summary: 'Transfer USDC from Ethereum to Noble via CCTP' Swap TIA from Manta Pacific to OSMO on Osmosis via CCTP: value: amount_in: '10000000' source_asset_denom: '0x6Fae4D9935E2fcb11fC79a64e917fb2BF14DaFaa' source_asset_chain_id: '169' dest_asset_denom: 'uosmo' dest_asset_chain_id: osmosis-1 chain_ids_to_addresses: 169: '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' neutron-1: 'neutron1x8ad0zyw52mvndh7hlnafrg0gt284ga7uqunnf' celestia: 'celestia1x8ad0zyw52mvndh7hlnafrg0gt284ga7f4ypnr' osmosis-1: 'osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu' slippage_tolerance_percent: '3' allow_multi_tx: true bridges: - HYPERLANE - IBC summary: 'Swap 10 TIA from Manta Pacific to OSMO on Osmosis' Swap with allow_unsafe false: value: source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 amount_in: '100000000000000' chain_ids_to_addresses: axelar-dojo-1: axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0 osmosis-1: osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu cosmoshub-4: cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw slippage_tolerance_percent: '3' allow_unsafe: false allow_multi_tx: true summary: 'High price impact swap with allow_unsafe=false' CCTP Transfer with Smart Relay: value: amount_in: '1500000000' source_asset_denom: 'uusdc' source_asset_chain_id: 'noble-1' dest_asset_denom: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' dest_asset_chain_id: '1' chain_ids_to_addresses: noble-1: 'noble1x8ad0zyw52mvndh7hlnafrg0gt284ga7suqe3q' 1: '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' slippage_tolerance_percent: '3' allow_multi_tx: true smart_relay: true summary: 'CCTP Transfer with Smart Relay' Swap USDC from Solana to OSMO on Osmosis: value: amount_in: '100000000' source_asset_denom: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' source_asset_chain_id: 'solana' dest_asset_denom: 'uosmo' dest_asset_chain_id: 'osmosis-1' chain_ids_to_addresses: solana: '9ujG2o3aoRmcamPtKxjNsesiUhautebv1AyvnMF4ncMA' noble-1: 'noble1x8ad0zyw52mvndh7hlnafrg0gt284ga7suqe3q' osmosis-1: 'osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu' slippage_tolerance_percent: '3' allow_multi_tx: true smart_relay: true summary: 'Swap 100 USDC from Solana to OSMO on Osmosis' Swap Archway Astrovault via Hallswap Routing: value: amount_in: '1000000000000000000' source_asset_denom: 'aarch' source_asset_chain_id: 'archway-1' dest_asset_denom: 'ibc/55D94A32095A766971637425D998AAABF8357A1ABCB1CAC8614887BE51BF1FB1' dest_asset_chain_id: 'archway-1' chain_ids_to_addresses: archway-1: 'archway1yf7v2jznjzf7kujtsesxywg7wnq0u7sp5kd9j6' slippage_tolerance_percent: '3' allow_multi_tx: true allow_unsafe: true smart_swap_options: split_routes: false swap_venues: - name: 'archway-astrovault' chain_id: 'archway-1' summary: 'Swap Archway Astrovault via Hallswap Routing' EVM Swap: value: amount_in: '10000000000000000000' source_asset_denom: 'arbitrum-native' source_asset_chain_id: '42161' dest_asset_denom: 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5' dest_asset_chain_id: 'dydx-mainnet-1' chain_ids_to_addresses: 42161: '0x00b40F326Ab76189170cA2FfeCfa4B34b43949dA' noble-1: 'noble1x8ad0zyw52mvndh7hlnafrg0gt284ga7suqe3q' osmosis-1: 'osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu' neutron-1: 'neutron1x8ad0zyw52mvndh7hlnafrg0gt284ga7uqunnf' dydx-mainnet-1: 'dydx1x8ad0zyw52mvndh7hlnafrg0gt284ga73xm4fe' slippage_tolerance_percent: '3' allow_unsafe: true smart_relay: true smart_swap_options: split_routes: true evm_swaps: true summary: 'Swap ETH on Arbitrum Uniswap to USDC on dYdX' schema: $ref: '#/components/schemas/MsgsDirectRequest' responses: '200': description: The messages required to execute the swap, as JSON. content: application/json: example: msgs: - multi_chain_msg: chain_id: axelar-dojo-1 path: - axelar-dojo-1 msg: '{"source_port":"transfer","source_channel":"channel-3","token":{"denom":"uusdc","amount":"1000000"},"sender":"axelar1x8ad0zyw52mvndh7hlnafrg0gt284ga7u3rez0","receiver":"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler","timeout_height":{},"timeout_timestamp":1688663426558649000,"memo":"{\"wasm\":{\"contract\":\"osmo1qpvu80yfd0jnnh3ytn8964382typrqq0ejmqaasa3j233su8apasfqtler\",\"msg\":{\"swap_with_action\":{\"swap_msg\":{\"token_out_min_amount\":\"105963\",\"path\":[{\"pool_id\":\"678\",\"token_out_denom\":\"uosmo\"},{\"pool_id\":\"1\",\"token_out_denom\":\"ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2\"}]},\"after_swap_action\":{\"ibc_transfer\":{\"receiver\":\"cosmos1x8ad0zyw52mvndh7hlnafrg0gt284ga7cl43fw\",\"channel\":\"channel-0\"}},\"local_fallback_address\":\"osmo1x8ad0zyw52mvndh7hlnafrg0gt284ga7syxplu\"}}}}"}' msg_type_url: '/ibc.applications.transfer.v1.MsgTransfer' min_amount_out: '107000' route: amount_in: '1000000' amount_out: '107033' source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_asset_denom: uatom dest_asset_chain_id: cosmoshub-4 operations: - transfer: port: transfer channel: channel-3 from_chain_id: axelar-dojo-1 to_chain_id: osmosis-1 pfm_enabled: false supports_memo: true dest_denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 bridge_id: IBC - swap: swap_in: swap_venue: name: osmosis-poolmanager chain_id: osmosis-1 swap_operations: - pool: '678' denom_in: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 denom_out: uosmo - pool: '1' denom_in: uosmo denom_out: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 swap_amount_in: '1000000' price_impact_percent: '1.05' estimated_affiliate_fee: 0ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 from_chain_id: osmosis-1 chain_id: osmosis-1 denom_in: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 denom_out: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 - transfer: port: transfer channel: channel-0 from_chain_id: osmosis-1 to_chain_id: cosmoshub-4 pfm_enabled: true supports_memo: true dest_denom: uatom bridge_id: IBC chain_ids: - axelar-dojo-1 - osmosis-1 - cosmoshub-4 required_chain_addresses: - axelar-dojo-1 - osmosis-1 - cosmoshub-4 does_swap: true estimated_amount_out: '107033' swap_venue: name: osmosis-poolmanager chain_id: osmosis-1 txs_required: 1 usd_amount_in: '2000.01' usd_amount_out: '2005.23' swap_price_impact_percent: '1.05' estimated_route_duration_seconds: 60 schema: type: object properties: msgs: type: array items: $ref: '#/components/schemas/Msg' txs: type: array items: $ref: '#/components/schemas/Tx' min_amount_out: type: string description: Minimum possible output after all operations, including fees and slippage route: $ref: '#/components/schemas/Route' '400': description: The request was invalid, e.g. an invalid amount was passed or the swap size is unsafe content: application/json: example: code: 3 message: 'difference in usd value of route input and output is too large. input usd value: 100000.00 output usd value: 98811.81' details: [ { '@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'BAD_PRICE_ERROR', 'domain': 'skip.build', 'metadata': {}, }, ] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/recommend_assets: post: operationId: assetRecommendations tags: - 'Fungible' description: Request asset recommendations for the given source assets on a given destination chain. The response includes recommended destination assets and recommendation reasons. requestBody: required: true content: application/json: example: requests: - source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_chain_id: cosmoshub-4 - source_asset_denom: uusdc source_asset_chain_id: axelar-dojo-1 dest_chain_id: osmosis-1 schema: $ref: '#/components/schemas/AssetRecommendationsRequest' responses: '200': description: Recommended destination assets and reasons content: application/json: example: recommendation_entries: - recommendations: - asset: denom: ibc/932D6003DA334ECBC5B23A071B4287D0A5CC97331197FE9F1C0689BA002A8421 chain_id: cosmoshub-4 origin_denom: uusdc origin_chain_id: axelar-dojo-1 trace: transfer/channel-293 reason: MOST_LIQUID - recommendations: - asset: denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 chain_id: osmosis-1 origin_denom: uusdc origin_chain_id: axelar-dojo-1 trace: transfer/channel-208 reason: MOST_LIQUID schema: type: object properties: recommendation_entries: type: array description: Array of recommendations for each entry in the `request` field. items: properties: recommendations: type: array items: $ref: '#/components/schemas/AssetRecommendation' error: $ref: '#/components/schemas/ApiError' '400': description: The request was invalid, i.e. required fields are missing content: application/json: example: code: 3 message: Must supply source_asset details: [] schema: $ref: '#/components/schemas/Error' '404': description: A recommendation or the specified token was not found content: application/json: example: code: 5 message: no recommendation found details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/tx/submit: post: operationId: submit tags: - 'Transaction' description: Submit a signed base64 encoded transaction to be broadcast to the specified network. On successful submission, the status of the transaction and any subsequent IBC or Axelar transfers can be queried through the /status endpoint. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SubmitTxRequest' responses: '200': description: The hash of the transaction. content: application/json: example: tx_hash: F30790E79987F18F3A4DA8C7A9BA9FD837043EF59D8236CA85180E1078BC607F explorer_link: https://www.mintscan.io/osmosis/tx/F30790E79987F18F3A4DA8C7A9BA9FD837043EF59D8236CA85180E1078BC607F schema: type: object properties: tx_hash: type: string description: Hash of the transaction explorer_link: type: string description: Link to the transaction on the relevant block explorer '400': description: The request was invalid, i.e. the submitted transaction was malformed or fails on execution. content: application/json: example: code: 3 message: tx must be base64 encoded details: [] schema: $ref: '#/components/schemas/Error' '404': description: The specified chain is not supported. content: application/json: example: code: 5 message: chain ID not supported details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/tx/track: post: operationId: track tags: - 'Transaction' description: Requests tracking of a transaction that has already landed on-chain but was not broadcast through the Skip Go API. The status of a tracked transaction and subsequent IBC or Axelar transfers if routing assets cross chain can be queried through the /status endpoint. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TrackTxRequest' responses: '200': description: The hash of the transaction and a link to its explorer page. content: application/json: example: tx_hash: F30790E79987F18F3A4DA8C7A9BA9FD837043EF59D8236CA85180E1078BC607F explorer_link: https://www.mintscan.io/osmosis/tx/F30790E79987F18F3A4DA8C7A9BA9FD837043EF59D8236CA85180E1078BC607F schema: $ref: '#/components/schemas/TrackTxResponse' '400': description: The request was invalid, i.e. the transaction hash was malformed or the specified transaction did not execute successfully. content: application/json: example: code: 3 message: tx is invalid on chain details: [] schema: $ref: '#/components/schemas/Error' '404': description: The specified chain is not supported or the specified transaction was not found. content: application/json: example: code: 5 message: chain ID not supported details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/tx/status: get: operationId: status tags: - 'Transaction' description: Get the status of the specified transaction and any subsequent IBC or Axelar transfers if routing assets cross chain. The transaction must have previously been submitted to either the /submit or /track endpoints. parameters: - in: query name: tx_hash required: true schema: type: string description: Hex encoded hash of the transaction to query for example: EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB - in: query name: chain_id required: true schema: type: string description: Chain ID of the transaction example: cosmoshub-4 responses: '200': description: The status of the transaction and any subsequent ibc or Axelar transfers. content: application/json: examples: Transfer from Cosmoshub to Avalanche: value: transfers: - state: STATE_COMPLETED_SUCCESS transfer_sequence: - ibc_transfer: from_chain_id: cosmoshub-4 to_chain_id: osmosis-1 state: TRANSFER_SUCCESS packet_txs: send_tx: chain_id: cosmoshub-4 tx_hash: EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB explorer_link: https://www.mintscan.io/cosmos/transactions/EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: osmosis-1 tx_hash: F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3 explorer_link: https://www.mintscan.io/osmosis/transactions/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3 on_chain_at: "2023-11-13T03:00:07Z" acknowledge_tx: chain_id: cosmoshub-4 tx_hash: 67E19B010FED8688C1B476EE4E1E627111158527C531742FB3D54A7399E40789 explorer_link: https://www.mintscan.io/cosmos/transactions/67E19B010FED8688C1B476EE4E1E627111158527C531742FB3D54A7399E40789 on_chain_at: "2023-11-13T03:00:19Z" timeout_tx: null error: null - axelar_transfer: from_chain_id: osmosis-1 to_chain_id: '43114' type: AXELAR_TRANSFER_SEND_TOKEN state: AXELAR_TRANSFER_SUCCESS txs: send_token_txs: send_tx: chain_id: osmosis-1 tx_hash: F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3 explorer_link: https://www.mintscan.io/osmosis/transactions/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3 confirm_tx: null execute_tx: chain_id: '43114' tx_hash: '0x0f2c793c8fe522efd7bcd38e1e666f02fb516782799ddd26d8d7a4e8a5b71dc8' explorer_link: https://snowtrace.io/tx/0x0f2c793c8fe522efd7bcd38e1e666f02fb516782799ddd26d8d7a4e8a5b71dc8 error: null axelar_scan_link: https://axelarscan.io/transfer/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3 next_blocking_transfer: null transfer_asset_release: chain_id: '43114' denom: wavax-wei released: true error: null summary: 'Transfer with swap of Atom from Cosmoshub to wavax on Avalanche' Multiple Transfers: value: transfers: - state: STATE_COMPLETED_SUCCESS transfer_sequence: - ibc_transfer: from_chain_id: osmosis-1 to_chain_id: cosmoshub-4 state: TRANSFER_SUCCESS packet_txs: send_tx: chain_id: osmosis-1 tx_hash: 19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0 explorer_link: https://www.mintscan.io/osmosis/transactions/19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0 on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: cosmoshub-4 tx_hash: 3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 explorer_link: https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 on_chain_at: "2023-11-13T03:00:07Z" acknowledge_tx: chain_id: osmosis-1 tx_hash: E6E402D88C8CFF1101F6FA583054E12D05ACD906DB5BA7249E1B6E22ECD3BC78 explorer_link: https://www.mintscan.io/osmosis/transactions/E6E402D88C8CFF1101F6FA583054E12D05ACD906DB5BA7249E1B6E22ECD3BC78 on_chain_at: "2023-11-13T03:00:19Z" timeout_tx: null error: null - ibc_transfer: from_chain_id: cosmoshub-4 to_chain_id: juno-1 state: TRANSFER_SUCCESS packet_txs: send_tx: chain_id: cosmoshub-4 tx_hash: 3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 explorer_link: https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: juno-1 tx_hash: 66BB827E38BD7B9071A855444BCA871447DF90830AA57891F92983B5CC8946B3 explorer_link: https://www.mintscan.io/juno/transactions/66BB827E38BD7B9071A855444BCA871447DF90830AA57891F92983B5CC8946B3 on_chain_at: "2023-11-13T03:00:07Z" acknowledge_tx: chain_id: cosmoshub-4 tx_hash: 83E95C18C78CD298C3B6C5DDB6F766DEFB2083BF3A91D6C7CD739FE0ADAF29AF explorer_link: https://www.mintscan.io/cosmos/transactions/83E95C18C78CD298C3B6C5DDB6F766DEFB2083BF3A91D6C7CD739FE0ADAF29AF on_chain_at: "2023-11-13T03:00:19Z" timeout_tx: null error: null next_blocking_transfer: null transfer_asset_release: chain_id: juno-1 denom: ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 released: true error: null - state: STATE_COMPLETED_SUCCESS transfer_sequence: - ibc_transfer: from_chain_id: osmosis-1 to_chain_id: cosmoshub-4 state: TRANSFER_SUCCESS packet_txs: send_tx: chain_id: osmosis-1 tx_hash: 19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0 explorer_link: https://www.mintscan.io/osmosis/transactions/19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0 on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: cosmoshub-4 tx_hash: 3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 explorer_link: https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 on_chain_at: "2023-11-13T03:00:07Z" acknowledge_tx: chain_id: osmosis-1 tx_hash: F8C661B9F25CC908C85C61BADBE66D4B51650CA839360C385BFF2D9A475B97E9 explorer_link: https://www.mintscan.io/osmosis/transactions/F8C661B9F25CC908C85C61BADBE66D4B51650CA839360C385BFF2D9A475B97E9 on_chain_at: "2023-11-13T03:00:19Z" timeout_tx: null error: null - ibc_transfer: from_chain_id: cosmoshub-4 to_chain_id: canto_7700-1 state: TRANSFER_SUCCESS packet_txs: send_tx: chain_id: cosmoshub-4 tx_hash: 3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 explorer_link: https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247 on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: canto_7700-1 tx_hash: 4CAB58C09868091B93F1D1C7A45E423C48C312DC2C0F8482F01EA9469EB1E1B5 explorer_link: https://www.mintscan.io/juno/transactions/4CAB58C09868091B93F1D1C7A45E423C48C312DC2C0F8482F01EA9469EB1E1B5 on_chain_at: "2023-11-13T03:00:07Z" acknowledge_tx: chain_id: cosmoshub-4 tx_hash: BC195283E22406CAD84393B9442F9D29018AE51E4BEF59055599A23B10702898 explorer_link: https://www.mintscan.io/cosmos/transactions/BC195283E22406CAD84393B9442F9D29018AE51E4BEF59055599A23B10702898 on_chain_at: "2023-11-13T03:00:19Z" timeout_tx: null error: null next_blocking_transfer: null transfer_asset_release: chain_id: canto_7700-1 denom: ibc/9117A26BA81E29FA4F78F57DC2BD90CD3D26848101BA880445F119B22A1E254E released: true error: null summary: 'Multiple transfers of Atom from Osmosis to Juno and from Osmosis to Canto' Transfer from Noble to Ethereum via CCTP: value: transfers: - state: STATE_COMPLETED_SUCCESS transfer_sequence: - cctp_transfer: from_chain_id: noble-1 to_chain_id: '1' state: CCTP_TRANSFER_RECEIVED txs: send_tx: chain_id: noble-1 tx_hash: 8D87951B3D6EC4B3915CC4C035C48664B97D5964224940A2178A642B5FE83E8B explorer_link: https://www.mintscan.io/noble/txs/8D87951B3D6EC4B3915CC4C035C48664B97D5964224940A2178A642B5FE83E8B on_chain_at: "2023-11-13T02:59:53Z" receive_tx: chain_id: '1' tx_hash: '0xf9b23f873107fe631ba2880a322510ab9a43e15e46dfcacfcdfd75fb66765a7d' explorer_link: https://etherscan.io/tx/0xf9b23f873107fe631ba2880a322510ab9a43e15e46dfcacfcdfd75fb66765a7d on_chain_at: "2023-11-13T03:00:07Z" next_blocking_transfer: null transfer_asset_release: chain_id: '1' denom: uusdc released: true error: null schema: $ref: '#/components/schemas/StatusTxResponse' '404': description: The specified tx was not found. content: application/json: example: code: 5 message: tx not found details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/ibc_origin_assets: post: operationId: ibcOriginAssets tags: - 'Fungible' description: Get origin assets from a given list of denoms and chain IDs. requestBody: required: true content: application/json: examples: Single Asset: value: assets: - denom: ibc/14F9BC3E44B8A9C1BE1FB08980FAB87034C9905EF17CF2F5008FC085218811CC chain_id: cosmoshub-4 summary: Request origin asset for a single asset Multi-Asset: summary: Request origin asset for several assets value: assets: - denom: ibc/14F9BC3E44B8A9C1BE1FB08980FAB87034C9905EF17CF2F5008FC085218811CC chain_id: cosmoshub-4 - denom: ibc/932D6003DA334ECBC5B23A071B4287D0A5CC97331197FE9F1C0689BA002A8421 chain_id: cosmoshub-4 schema: $ref: '#/components/schemas/IbcOriginAssetsRequest' responses: '200': description: The origin assets of the specified denoms and chain IDs. content: application/json: example: origin_assets: - asset: denom: uosmo chain_id: osmosis-1 origin_denom: uosmo origin_chain_id: osmosis-1 trace: '' symbol: OSMO name: OSMO logo_uri: https://raw.githubusercontent.com/cosmostation/chainlist/main/chain/osmosis/asset/osmo.png decimals: 6 coingecko_id: osmosis description: The native token of Osmosis asset_found: true schema: type: object properties: origin_assets: type: array items: $ref: '#/components/schemas/OptionalAsset' '400': description: The request was invalid, i.e. required fields are missing content: application/json: example: code: 3 message: Must supply denom and chain_id details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' /v2/fungible/assets_between_chains: post: tags: - 'Fungible' description: 'Given 2 chain IDs, returns a list of equivalent assets that can be transferred' requestBody: required: true content: application/json: examples: Cosmos to Cosmos: value: source_chain_id: cosmoshub-4 dest_chain_id: osmosis-1 summary: 'Get assets between Cosmos Hub and Osmosis' EVM to Cosmos: value: source_chain_id: '1' dest_chain_id: cosmoshub-4 include_evm_assets: true summary: 'Get assets between Ethereum and Cosmos Hub' schema: $ref: '#/components/schemas/AssetsBetweenChainsRequest' responses: '200': description: OK content: application/json: schema: type: object properties: assets_between_chains: type: array items: $ref: '#/components/schemas/AssetBetweenChains' examples: Cosmos to Cosmos: value: assets_between_chains: - asset_on_source: denom: uatom chain_id: cosmoshub-4 origin_denom: uatom origin_chain_id: cosmoshub-4 trace: '' is_cw20: false is_evm: false symbol: ATOM name: ATOM logo_uri: https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png decimals: 6 description: The native staking and governance token of the Cosmos Hub. coingecko_id: cosmos recommended_symbol: ATOM asset_on_dest: denom: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 chain_id: osmosis-1 origin_denom: uatom origin_chain_id: cosmoshub-4 trace: transfer/channel-0 is_cw20: false is_evm: false symbol: ATOM name: ATOM logo_uri: https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png decimals: 6 description: The native staking and governance token of the Cosmos Hub. coingecko_id: cosmos recommended_symbol: ATOM txs_required: 1 bridges: - IBC EVM to Cosmos: value: assets_between_chains: - asset_on_source: denom: uusdc chain_id: '1' origin_denom: uusdc origin_chain_id: '1' trace: '' is_cw20: false is_evm: true symbol: USDC name: usdc logo_uri: https://raw.githubusercontent.com/axelarnetwork/axelar-configs/main/images/tokens/usdc.svg decimals: 6 token_contract: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' coingecko_id: usd-coin recommended_symbol: USDC asset_on_dest: denom: ibc/932D6003DA334ECBC5B23A071B4287D0A5CC97331197FE9F1C0689BA002A8421 chain_id: cosmoshub-4 origin_denom: uusdc origin_chain_id: axelar-dojo-1 trace: transfer/channel-293 is_cw20: false is_evm: false symbol: USDC name: USDC logo_uri: https://raw.githubusercontent.com/cosmos/chain-registry/master/axelar/images/usdc.png decimals: 6 description: Circle's stablecoin on Axelar coingecko_id: axlusdc recommended_symbol: USDC.axl txs_required: 1 bridges: - AXELAR '404': description: One of the chain IDs was not found content: application/json: example: code: 5 message: dest chain not found details: [] schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: example: code: 2 message: internal server error details: [] schema: $ref: '#/components/schemas/Error' components: schemas: AcknowledgementErrorDetails: properties: code: description: Error code type: number message: description: Error message type: string type: object Affiliate: description: An affiliate that receives fees from a swap properties: address: description: Address to which to pay the fee type: string basis_points_fee: description: Bps fee to pay to the affiliate type: string type: object ApiError: properties: message: description: Error message type: string type: object Asset: type: object required: - denom - chain_id - origin_denom - origin_chain_id - trace - is_cw20 - is_evm - is_svm properties: denom: description: Denom of the asset type: string chain_id: description: Chain-id of the asset type: string origin_denom: description: Denom of the origin of the asset. If this is an ibc denom, this is the original denom that the ibc token represents type: string origin_chain_id: description: Chain-id of the origin of the asset. If this is an ibc denom, this is the chain-id of the asset that the ibc token represents type: string trace: description: The forward slash delimited sequence of ibc ports and channels that can be traversed to unwind an ibc token to its origin asset. type: string is_cw20: description: Indicates whether asset is a CW20 token type: boolean is_evm: description: Indicates whether asset is an EVM token type: boolean is_svm: description: Indicates whether asset is an SVM token type: boolean symbol: description: Symbol of the asset, e.g. ATOM for uatom nullable: true type: string name: description: Name of the asset nullable: true type: string logo_uri: description: URI pointing to an image of the logo of the asset nullable: true type: string decimals: description: Number of decimals used for amounts of the asset nullable: true type: number token_contract: description: Address of the contract for the asset, e.g. if it is a CW20 or ERC20 token nullable: true type: string description: description: Description of the asset nullable: true type: string coingecko_id: description: Coingecko id of the asset nullable: true type: string recommended_symbol: description: Recommended symbol of the asset used to differentiate between bridged assets with the same symbol, e.g. USDC.axl for Axelar USDC and USDC.grv for Gravity USDC nullable: true type: string AssetBetweenChains: required: - txs_required properties: asset_on_source: $ref: '#/components/schemas/Asset' asset_on_dest: $ref: '#/components/schemas/Asset' txs_required: description: Number of transactions required to transfer the asset type: integer bridges: description: Bridges that are used to transfer the asset items: $ref: '#/components/schemas/BridgeType' type: array AssetRecommendation: properties: asset: allOf: - $ref: '#/components/schemas/Asset' description: Asset that is recommended reason: allOf: - $ref: '#/components/schemas/Reason' description: Reason for recommending the asset type: object AutopilotAction: enum: - LIQUID_STAKE - CLAIM type: string AutopilotMsg: properties: action: $ref: '#/components/schemas/AutopilotAction' receiver: type: string type: object AutopilotMsgWrapper: properties: autpilot_msg: $ref: '#/components/schemas/AutopilotMsg' type: object AxelarTransfer: description: A transfer facilitated by the Axelar bridge properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string asset: description: Axelar-name of the asset to bridge type: string should_unwrap: description: Whether to unwrap the asset at the destination chain (from ERC-20 to native) type: boolean denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string fee_amount: description: Amount of the fee asset to be paid as the Axelar bridge fee. This is denominated in the fee asset. type: string usd_fee_amount: description: Amount of the fee asset to be paid as the Axelar bridge fee, converted to USD value type: string fee_asset: $ref: '#/components/schemas/Asset' is_testnet: description: Whether the source and destination chains are both testnets type: boolean ibc_transfer_to_axelar: $ref: '#/components/schemas/Transfer' bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay from_chain: description: Deprecated, use from_chain_id instead. Name for source chain of the bridge transaction used on Axelar type: string deprecated: true to_chain: description: Deprecated, use to_chain_id instead. Name for destination chain of the bridge transaction used on Axelar type: string deprecated: true type: object AxelarTransferInfo: type: object required: - to_chain_id - from_chain_id - state - txs properties: axelar_scan_link: description: Link to the transaction on the Axelar Scan explorer type: string to_chain_id: description: Chain ID of the destination chain type: string from_chain_id: description: Chain ID of the source chain type: string state: $ref: '#/components/schemas/AxelarTransferState' txs: oneOf: - type: object properties: contract_call_with_token_txs: $ref: '#/components/schemas/ContractCallWithTokenTxs' - $ref: '#/components/schemas/SendTokenTxs' type: $ref: '#/components/schemas/AxelarTransferType' AxelarTransferState: description: | Axelar transfer state: * `AXELAR_TRANSFER_UNKNOWN` - Unknown error * `AXELAR_TRANSFER_PENDING_CONFIRMATION` - Axelar transfer is pending confirmation * `AXELAR_TRANSFER_PENDING_RECEIPT` - Axelar transfer is pending receipt at destination * `AXELAR_TRANSFER_SUCCESS` - Axelar transfer succeeded and assets have been received * `AXELAR_TRANSFER_FAILURE` - Axelar transfer failed enum: - AXELAR_TRANSFER_UNKNOWN - AXELAR_TRANSFER_PENDING_CONFIRMATION - AXELAR_TRANSFER_PENDING_RECEIPT - AXELAR_TRANSFER_SUCCESS - AXELAR_TRANSFER_FAILURE type: string AxelarTransferType: description: | Axelar transfer type: * `AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN` - GMP contract call with token transfer type * `AXELAR_TRANSFER_SEND_TOKEN` - Send token transfer type enum: - AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN - AXELAR_TRANSFER_SEND_TOKEN type: string AxelarTransferWrapper: properties: axelar_transfer: $ref: '#/components/schemas/AxelarTransfer' type: object SmartRelayFeeQuote: description: Details about the fee paid for Smart Relaying properties: fee_amount: description: The USDC fee amount type: string relayer_address: description: Address of the relayer type: string expiration: description: Expiration time of the fee quote type: string fee_denom: description: The fee asset denomination type: string fee_payment_address: description: The address the fee should be sent to type: string nullable: true type: object CCTPTransfer: description: A transfer facilitated by the CCTP bridge properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string burn_token: description: Name of the asset to bridge. It will be the erc-20 contract address for EVM chains and `uusdc` for Noble. type: string denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay smart_relay_fee_quote: allOf: - $ref: '#/components/schemas/SmartRelayFeeQuote' nullable: true type: object CCTPTransferInfo: properties: to_chain_id: description: Chain ID of the destination chain type: string from_chain_id: description: Chain ID of the source chain type: string state: $ref: '#/components/schemas/CCTPTransferState' txs: $ref: '#/components/schemas/CCTPTransferTxs' type: object CCTPTransferTxs: properties: send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object CCTPTransferState: description: | CCTP transfer state: * `CCTP_TRANSFER_UNKNOWN` - Unknown error * `CCTP_TRANSFER_SENT` - The burn transaction on the source chain has executed * `CCTP_TRANSFER_PENDING_CONFIRMATION` - CCTP transfer is pending confirmation by the cctp attestation api * `CCTP_TRANSFER_CONFIRMED` - CCTP transfer has been confirmed by the cctp attestation api * `CCTP_TRANSFER_RECEIVED` - CCTP transfer has been received at the destination chain enum: - CCTP_TRANSFER_UNKNOWN - CCTP_TRANSFER_SENT - CCTP_TRANSFER_PENDING_CONFIRMATION - CCTP_TRANSFER_CONFIRMED - CCTP_TRANSFER_RECEIVED type: string CCTPTransferWrapper: properties: cctp_transfer: $ref: '#/components/schemas/CCTPTransfer' type: object StargateTransfer: description: A transfer facilitated by the Stargate bridge properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string pool_address: type: string destination_endpoint_id: type: number oft_fee_asset: $ref: '#/components/schemas/Asset' oft_fee_amount: type: string oft_fee_amount_usd: type: string messaging_fee_asset: $ref: '#/components/schemas/Asset' messaging_fee_amount: type: string messaging_fee_amount_usd: type: string bridge_id: $ref: '#/components/schemas/BridgeType' type: object StargateTransferState: description: | Stargate transfer state: * `STARGATE_TRANSFER_UNKNOWN` - Unknown error * `STARGATE_TRANSFER_SENT` - The Stargate transfer transaction on the source chain has executed * `STARGATE_TRANSFER_PENDING_CONFIRMATION` - Stargate transfer is pending confirmation * `STARGATE_TRANSFER_CONFIRMED` - Stargate transfer has been confirmed * `STARGATE_TRANSFER_RECEIVED` - Stargate transfer has been received at the destination chain * `STARGATE_TRANSFER_FAILED` - Stargate transfer failed enum: - STARGATE_TRANSFER_UNKNOWN - STARGATE_TRANSFER_SENT - STARGATE_TRANSFER_PENDING_CONFIRMATION - STARGATE_TRANSFER_CONFIRMED - STARGATE_TRANSFER_RECEIVED - STARGATE_TRANSFER_FAILED type: string StargateTransferTxs: properties: send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true error_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object StargateTransferInfo: properties: from_chain_id: description: Chain ID of the source chain type: string to_chain_id: description: Chain ID of the destination chain type: string state: $ref: '#/components/schemas/StargateTransferState' txs: $ref: '#/components/schemas/StargateTransferTxs' type: object StargateTransferWrapper: properties: stargate_transfer: $ref: '#/components/schemas/StargateTransfer' type: object GoFastTransfer: description: A transfer facilitated by GoFast properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string fee: $ref: '#/components/schemas/GoFastFee' bridge_id: $ref: '#/components/schemas/BridgeType' denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string source_domain: description: Source domain ID of the transfer type: string destination_domain: description: Destination domain ID of the transfer type: string type: object GoFastTransferState: description: | GoFast transfer state: * `GO_FAST_TRANSFER_UNKNOWN` - Unknown state * `GO_FAST_TRANSFER_SENT` - Order submitted on source chain * `GO_FAST_POST_ACTION_FAILED` - Order filled, but subsequent action (e.g., swap) failed * `GO_FAST_TRANSFER_TIMEOUT` - Order timed out * `GO_FAST_TRANSFER_FILLED` - Order filled on destination chain * `GO_FAST_TRANSFER_REFUNDED` - Order refunded enum: - GO_FAST_TRANSFER_UNKNOWN - GO_FAST_TRANSFER_SENT - GO_FAST_POST_ACTION_FAILED - GO_FAST_TRANSFER_TIMEOUT - GO_FAST_TRANSFER_FILLED - GO_FAST_TRANSFER_REFUNDED type: string GoFastTransferTxs: properties: order_submitted_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true order_filled_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true order_refunded_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true order_timeout_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object GoFastTransferInfo: type: object required: - from_chain_id - to_chain_id - state - txs properties: from_chain_id: description: Chain Id of the source chain type: string to_chain_id: description: Chain Id of the destination chain type: string state: $ref: '#/components/schemas/GoFastTransferState' txs: $ref: '#/components/schemas/GoFastTransferTxs' error_message: description: Error message if the transfer failed post-fill type: string nullable: true GoFastTransferWrapper: properties: go_fast_transfer: $ref: '#/components/schemas/GoFastTransfer' type: object BalanceRequestChainEntry: properties: address: type: string description: Address of the wallet that the balance is requested for denoms: type: array description: Denoms of the assets to get the balance for items: type: string BalanceResponseDenomEntry: type: object required: - amount - formatted_amount properties: amount: type: string decimals: type: integer format: int32 nullable: true formatted_amount: type: string price: type: string nullable: true value_usd: type: string nullable: true error: $ref: '#/components/schemas/ApiError' nullable: true BalanceResponseChainEntry: type: object properties: denoms: type: object additionalProperties: $ref: '#/components/schemas/BalanceResponseDenomEntry' BankSend: type: object properties: chain_id: type: string description: Chain-id of the chain that the transaction is intended for denom: type: string description: Denom of the asset to send BankSendWrapper: properties: bank_send: $ref: '#/components/schemas/BankSend' type: object Bridge: properties: id: $ref: '#/components/schemas/BridgeType' name: description: Name of the bridge type: string logo_uri: description: URI pointing to an image of the logo of the bridge type: string type: object BridgeType: description: | Bridge Type: * `IBC` - IBC Bridge * `AXELAR` - Axelar Bridge * `CCTP` - CCTP Bridge * `HYPERLANE` - Hyperlane Bridge * `OPINIT` - Opinit Bridge * `GO_FAST` - Go Fast Bridge * `STARGATE` - Stargate Bridge * `LAYER_ZERO` - Layerzero Bridge * `EUREKA` - IBC Eureka Bridge enum: - IBC - AXELAR - CCTP - HYPERLANE - OPINIT - GO_FAST - STARGATE - LAYER_ZERO - EUREKA Chain: type: object required: - chain_name - chain_id - pfm_enabled - cosmos_module_support - supports_memo - bech32_prefix - fee_assets - chain_type - ibc_capabilities - is_testnet - pretty_name properties: chain_name: description: Name of the chain type: string chain_id: description: Chain-id of the chain type: string pfm_enabled: description: Whether the PFM module is enabled on the chain type: boolean cosmos_module_support: description: Supported cosmos modules $ref: '#/components/schemas/CosmosModuleSupport' supports_memo: description: Whether the chain supports IBC memos type: boolean logo_uri: description: chain logo URI nullable: true type: string bech32_prefix: description: Bech32 prefix of the chain type: string fee_assets: description: Fee assets of the chain items: $ref: '#/components/schemas/FeeAsset' type: array chain_type: description: Type of chain, e.g. "cosmos" or "evm" $ref: '#/components/schemas/ChainType' ibc_capabilities: description: IBC capabilities of the chain $ref: '#/components/schemas/IbcCapabilities' is_testnet: description: Whether the chain is a testnet type: boolean pretty_name: description: User friendly name of the chain type: string ChainType: type: string enum: - cosmos - evm - svm ChainAffiliates: properties: affiliates: type: array description: An array of affiliates that receives fees from a swap items: $ref: '#/components/schemas/Affiliate' ContractCallWithTokenError: properties: message: description: Error message type: string type: $ref: '#/components/schemas/ContractCallWithTokenErrorType' type: object ContractCallWithTokenErrorType: description: | ContractCallWithToken errors: * `CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction enum: - CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR type: string ContractCallWithTokenTxs: properties: approve_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true confirm_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true error: allOf: - $ref: '#/components/schemas/ContractCallWithTokenError' nullable: true execute_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true gas_paid_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object CosmWasmContractMsg: properties: contract_address: description: Address of the contract to execute the message on type: string msg: description: JSON string of the message type: string type: object CosmWasmContractMsgWrapper: properties: wasm_msg: $ref: '#/components/schemas/CosmWasmContractMsg' type: object Erc20Approval: type: object required: - amount - spender - token_contract description: An ERC20 token contract approval properties: amount: description: Amount of the approval type: string spender: description: Address of the spender type: string token_contract: description: Address of the ERC20 token contract type: string ErrorDetail: type: object properties: reason: description: | Error detail: * `LOW_INFO_ERROR` - Not enough asset pricing information to determine the price safety of the route. * `BAD_PRICE_ERROR` - The execution price of the route deviates significantly from the current market price. * `HIGH_LOSS_ERROR` - The route would result in a USD loss exceeding the configured threshold and has been blocked. enum: - LOW_INFO_ERROR - BAD_PRICE_ERROR - HIGH_LOSS_ERROR type: string Error: properties: code: allOf: - $ref: '#/components/schemas/GRPCStatusCode' description: Error code details: description: Additional error details items: $ref: '#/components/schemas/ErrorDetail' type: array message: description: Error message type: string type: object CosmosMsg: description: A message in a cosmos transaction properties: msg: description: JSON string of the message type: string msg_type_url: description: TypeUrl of the message type: string type: object CosmosTx: description: A transaction on a Cosmos chain required: - chain_id properties: chain_id: description: Chain-id of the chain that the transaction is intended for type: string path: description: Path of chain-ids that the message is intended to interact with items: type: string signer_address: description: The address of the wallet that will sign this transaction type: string msgs: description: The messages that should be included in the transaction. The ordering must be adhered to. type: array items: $ref: '#/components/schemas/CosmosMsg' CosmosTxWrapper: required: - cosmos_tx properties: cosmos_tx: $ref: '#/components/schemas/CosmosTx' EvmSwap: description: A swap on an EVM chain properties: input_token: description: Address of the input token. Empty string if native token. type: string amount_in: description: Amount of the input token type: string swap_calldata: description: Calldata for the swap type: string amount_out: description: Amount of the output token type: string from_chain_id: description: Chain-id for the swap type: string denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string swap_venues: description: Venues used for the swap items: $ref: '#/components/schemas/SwapVenue' type: array type: object EvmSwapWrapper: properties: evm_swap: $ref: '#/components/schemas/EvmSwap' type: object EvmTx: description: A transaction on an EVM chain required: - chain_id properties: chain_id: description: Chain-id of the chain that the transaction is intended for type: string data: description: Data of the transaction type: string required_erc20_approvals: description: ERC20 approvals required for the transaction items: $ref: '#/components/schemas/Erc20Approval' type: array signer_address: description: The address of the wallet that will sign this transaction type: string to: description: Address of the recipient of the transaction type: string value: description: Amount of the transaction type: string type: object EvmTxWrapper: required: - evm_tx properties: evm_tx: $ref: '#/components/schemas/EvmTx' type: object SvmTx: description: A transaction on an SVM chain required: - chain_id properties: chain_id: description: Chain-id of the chain that the transaction is intended for type: string signer_address: description: The address of the wallet that will sign this transaction type: string tx: description: Base64 encoded unsigned or partially signed transaction type: string type: object SvmTxWrapper: required: - svm_tx properties: svm_tx: $ref: '#/components/schemas/SvmTx' type: object FeeAsset: description: Asset used to pay gas fees and the recommended price tiers. Assets and gas price recommendations are sourced from the [keplr chain registry](https://github.com/chainapsis/keplr-chain-registry) required: - denom properties: denom: description: Asset denom type: string gas_price: description: Gas price tiers nullable: true properties: average: description: Average gas price type: string high: description: High gas price type: string low: description: Low gas price type: string type: object type: object GoFastFee: description: Go fast Fee type: object properties: fee_asset: $ref: '#/components/schemas/Asset' required: true bps_fee: type: string bps_fee_amount: type: string bps_fee_usd: type: string source_chain_fee_amount: type: string source_chain_fee_usd: type: string destination_chain_fee_amount: type: string destination_chain_fee_usd: type: string GRPCStatusCode: description: grpc status codes as defined [here](https://grpc.github.io/grpc/core/md_doc_statuscodes.html) type: number HyperlaneTransfer: description: A transfer facilitated by the Hyperlane bridge properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string hyperlane_contract_address: description: Contract address of the hyperlane warp route contract that initiates the transfer type: string fee_amount: description: Amount of the fee asset to be paid as the Hyperlane bridge fee. This is denominated in the fee asset. type: string usd_fee_amount: description: Amount of the fee asset to be paid as the Hyperlane bridge fee, converted to USD value type: string fee_asset: $ref: '#/components/schemas/Asset' bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay type: object HyperlaneTransferInfo: required: - from_chain_id - to_chain_id - state - txs properties: from_chain_id: description: Chain ID of the source chain type: string to_chain_id: description: Chain ID of the destination chain type: string state: $ref: '#/components/schemas/HyperlaneTransferState' txs: $ref: '#/components/schemas/HyperlaneTransferTransactions' type: object HyperlaneTransferState: description: | Hyperlane transfer state: * `HYPERLANE_TRANSFER_UNKNOWN` - Unknown error * `HYPERLANE_TRANSFER_SENT` - The Hyperlane transfer transaction on the source chain has executed * `HYPERLANE_TRANSFER_FAILED` - The Hyperlane transfer failed * `HYPERLANE_TRANSFER_RECEIVED` - The Hyperlane transfer has been received at the destination chain enum: - HYPERLANE_TRANSFER_UNKNOWN - HYPERLANE_TRANSFER_SENT - HYPERLANE_TRANSFER_FAILED - HYPERLANE_TRANSFER_RECEIVED type: string HyperlaneTransferTransactions: properties: send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object HyperlaneTransferWrapper: properties: hyperlane_transfer: $ref: '#/components/schemas/HyperlaneTransfer' type: object IBCTransferInfo: required: - to_chain_id - packet_txs - from_chain_id - state properties: to_chain_id: description: Chain ID of the destination chain type: string packet_txs: $ref: '#/components/schemas/Packet' from_chain_id: description: Chain ID of the source chain type: string state: $ref: '#/components/schemas/TransferState' type: object Msg: oneOf: - $ref: '#/components/schemas/MultiChainMsgWrapper' - $ref: '#/components/schemas/EvmTxWrapper' - $ref: '#/components/schemas/SvmTxWrapper' Tx: oneOf: - $ref: '#/components/schemas/CosmosTxWrapper' - $ref: '#/components/schemas/EvmTxWrapper' - $ref: '#/components/schemas/SvmTxWrapper' properties: operations_indices: description: Array of indices of the operations that this transaction executes type: array items: type: integer MultiChainMsg: description: A message that interacts with multiple chains properties: chain_id: description: Chain-id of the chain that the transaction containing the message is intended for type: string msg: description: JSON string of the message type: string msg_type_url: description: TypeUrl of the message type: string path: description: Path of chain-ids that the message is intended to interact with items: type: string type: array type: object MultiChainMsgWrapper: properties: multi_chain_msg: $ref: '#/components/schemas/MultiChainMsg' type: object Operation: oneOf: - $ref: '#/components/schemas/TransferWrapper' - $ref: '#/components/schemas/SwapWrapper' - $ref: '#/components/schemas/AxelarTransferWrapper' - $ref: '#/components/schemas/BankSendWrapper' - $ref: '#/components/schemas/CCTPTransferWrapper' - $ref: '#/components/schemas/HyperlaneTransferWrapper' - $ref: '#/components/schemas/EvmSwapWrapper' - $ref: '#/components/schemas/OPInitTransferWrapper' - $ref: '#/components/schemas/GoFastTransferWrapper' - $ref: '#/components/schemas/StargateTransferWrapper' - $ref: '#/components/schemas/LayerZeroTransferWrapper' - $ref: '#/components/schemas/EurekaTransferWrapper' required: - tx_index - amount_in - amount_out properties: tx_index: description: Index of the tx returned from Msgs that executes this operation type: integer amount_in: description: Amount of input asset to this operation type: string amount_out: description: Amount of output asset from this operation type: string OptionalAsset: properties: asset: $ref: '#/components/schemas/Asset' asset_found: description: Whether the asset was found type: boolean type: object LayerZeroTransferTransactions: properties: send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true compose_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true error_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true Packet: properties: acknowledge_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true error: allOf: - $ref: '#/components/schemas/PacketError' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true timeout_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object PacketError: properties: details: oneOf: - nullable: true - $ref: '#/components/schemas/AcknowledgementErrorDetails' message: description: Error message type: string type: $ref: '#/components/schemas/PacketErrorType' type: object PacketErrorType: description: | Packet error type: * `PACKET_ERROR_UNKNOWN` - Unknown error * `PACKET_ERROR_ACKNOWLEDGEMENT` - Packet acknowledgement error * `PACKET_ERROR_TIMEOUT` - Packet timed out enum: - PACKET_ERROR_UNKNOWN - PACKET_ERROR_ACKNOWLEDGEMENT - PACKET_ERROR_TIMEOUT type: string ChainTransaction: required: - explorer_link properties: chain_id: description: Chain ID the packet event occurs on type: string explorer_link: description: Link to the transaction on block explorer type: string tx_hash: description: Hash of the transaction the packet event occurred in type: string on_chain_at: description: RFC3339 formatted UTC timestamp of when the transaction landed on chain type: string type: object PostHandler: oneOf: - $ref: '#/components/schemas/CosmWasmContractMsgWrapper' - $ref: '#/components/schemas/AutopilotMsgWrapper' Reason: description: | Recommendation reason: * `UNKNOWN` - Unknown recommendation reason. * `MOST_LIQUID` - Highest liquidity form of the transferred token on the destination chain. * `BASE_TOKEN` - The base token if the destination chain is the origin chain of the source token. * `DIRECT` - The token resulting from the least amount of transfers to the destination chain. enum: - UNKNOWN - MOST_LIQUID - BASE_TOKEN - DIRECT type: string RoutePriceWarningType: description: | Recommendation reason: * `LOW_INFO_WARNING` - Not enough asset pricing information to determine the price safety of the route. * `BAD_PRICE_WARNING` - The execution price of the route deviates significantly from the current market price. enum: - LOW_INFO_WARNING - BAD_PRICE_WARNING type: string Route: required: - amount_in - amount_out - chain_ids - required_chain_addresses - dest_asset_chain_id - dest_asset_denom - estimated_amount_out - operations - source_asset_chain_id - source_asset_denom - txs_required - estimated_route_duration_seconds properties: amount_in: description: Amount of source asset to be transferred or swapped type: string amount_out: description: Amount of destination asset out type: string chain_ids: description: Chain-ids of all chains of the transfer or swap, in order of usage by operations in the route items: type: string type: array required_chain_addresses: description: All chain-ids that require an address to be provided for, in order of usage by operations in the route type: array items: type: string dest_asset_chain_id: description: Chain-id of the destination asset type: string dest_asset_denom: description: Denom of the destination asset type: string does_swap: description: Whether this route performs a swap type: boolean estimated_amount_out: description: Amount of destination asset out, if a swap is performed type: string operations: description: Array of operations required to perform the transfer or swap items: $ref: '#/components/schemas/Operation' type: array source_asset_chain_id: description: Chain-id of the source asset type: string source_asset_denom: description: Denom of the source asset type: string swap_venues: type: array items: $ref: '#/components/schemas/SwapVenue' description: Swap venue on which the swap is performed, if a swap is performed txs_required: description: Number of transactions required to perform the transfer or swap type: integer usd_amount_in: description: Amount of the source denom, converted to USD value type: string usd_amount_out: description: Amount of the destination denom expected to be received, converted to USD value type: string swap_price_impact_percent: description: Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% nullable: true type: string warning: description: Indicates if the route is unsafe due to poor execution price or if safety cannot be determined due to lack of pricing information nullable: true type: object properties: type: $ref: '#/components/schemas/RoutePriceWarningType' message: description: Warning message type: string estimated_fees: description: Indicates fees incurred in the execution of the transfer items: $ref: '#/components/schemas/Fee' type: array estimated_route_duration_seconds: description: The estimated time in seconds for the route to execute type: integer type: object SendTokenError: properties: message: description: Error message type: string type: $ref: '#/components/schemas/SendTokenErrorType' type: object SendTokenErrorType: description: | SendToken error types: * `SEND_TOKEN_EXECUTION_ERROR` - Error occurred during the execute transaction enum: - SEND_TOKEN_EXECUTION_ERROR type: string SendTokenTxs: properties: confirm_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true error: allOf: - $ref: '#/components/schemas/SendTokenError' nullable: true execute_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object StatusError: properties: details: nullable: true oneOf: - $ref: '#/components/schemas/TransactionExecutionErrorDetails' message: description: Error message type: string type: $ref: '#/components/schemas/StatusErrorType' type: object StatusErrorType: description: | Packet error types: * `STATUS_ERROR_UNKNOWN` - Unknown error * `STATUS_ERROR_TRANSACTION_EXECUTION` - Error was encountered during transaction execution * `STATUS_ERROR_INDEXING` - Error was encountered while indexing the transaction and packet data * `STATUS_ERROR_TRANSFER` - The transfer failed to complete successfully enum: - STATUS_ERROR_UNKNOWN - STATUS_ERROR_TRANSACTION_EXECUTION - STATUS_ERROR_INDEXING - STATUS_ERROR_TRANSFER type: string Swap: oneOf: - $ref: '#/components/schemas/SwapInWrapper' - $ref: '#/components/schemas/SwapOutWrapper' - $ref: '#/components/schemas/SmartSwapInWrapper' properties: estimated_affiliate_fee: description: Estimated total affiliate fee generated by the swap type: string from_chain_id: description: Chain ID that the swap will be executed on (alias for chain_id) type: string chain_id: description: Chain ID that the swap will be executed on type: string denom_in: description: Input denom of the swap type: string denom_out: description: Output denom of the swap type: string swap_venues: description: Swap venues that the swap will route through items: $ref: '#/components/schemas/SwapVenue' type: array type: object SwapExactCoinIn: description: Specification of a swap with an exact amount in properties: swap_venue: allOf: - $ref: '#/components/schemas/SwapVenue' description: Swap venue that this swap should execute on swap_operations: description: Operations required to execute the swap items: $ref: '#/components/schemas/SwapOperation' type: array swap_amount_in: description: Amount to swap in nullable: true type: string price_impact_percent: description: Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% nullable: true type: string estimated_amount_out: description: The estimated amount out received from the swap nullable: true type: string type: object SwapExactCoinOut: description: Specification of a swap with an exact amount out properties: swap_venue: allOf: - $ref: '#/components/schemas/SwapVenue' description: Swap venue that this swap should execute on swap_operations: description: Operations required to execute the swap items: $ref: '#/components/schemas/SwapOperation' type: array swap_amount_out: description: Amount to get out of the swap type: string price_impact_percent: description: Price impact of the estimated swap, if present. Measured in percentage e.g. "0.5" is .5% nullable: true type: string type: object SwapInWrapper: properties: swap_in: $ref: '#/components/schemas/SwapExactCoinIn' type: object SwapOperation: description: Description of a single swap operation properties: denom_in: description: Input denom of the swap type: string denom_out: description: Output denom of the swap type: string pool: description: Identifier of the pool to use for the swap type: string interface: description: Optional dditional metadata a swap adapter may require nullable: true type: string type: object SwapOutWrapper: properties: swap_out: $ref: '#/components/schemas/SwapExactCoinOut' type: object SwapRoute: properties: swap_amount_in: description: Amount to swap in type: string denom_in: description: Denom in of the swap type: string swap_operations: description: Operations required to execute the swap route items: $ref: '#/components/schemas/SwapOperation' type: array SmartSwapExactCoinIn: description: Specification of a smart swap in operation properties: swap_venue: allOf: - $ref: '#/components/schemas/SwapVenue' description: Swap venue that this swap should execute on swap_routes: description: Routes to execute the swap items: $ref: '#/components/schemas/SwapRoute' type: array estimated_amount_out: description: The estimated amount out received from the swap nullable: true type: string SmartSwapOptions: properties: split_routes: description: Indicates whether the swap can be split into multiple swap routes type: boolean evm_swaps: description: Indicates whether to include routes that swap on EVM chains type: boolean SmartSwapInWrapper: properties: smart_swap_in: $ref: '#/components/schemas/SmartSwapExactCoinIn' type: object SwapVenue: description: A venue on which swaps can be exceuted properties: chain_id: description: Chain ID of the swap venue type: string name: description: Name of the swap venue type: string logo_uri: description: URI for the venue's logo type: string nullable: true type: object SwapWrapper: properties: swap: $ref: '#/components/schemas/Swap' type: object TransactionExecutionErrorDetails: properties: code: description: Error code type: number message: description: Error message type: string type: object TransactionState: description: | Transaction state: * `STATE_SUBMITTED` - The initial transaction has been submitted to Skip Go API but not observed on chain yet * `STATE_PENDING` - The initial transaction has been observed on chain, and there are still pending actions * `STATE_COMPLETED_SUCCESS` - The route has completed successfully and the user has their tokens on the destination. (indicated by `transfer_asset_release`) * `STATE_COMPLETED_ERROR` - The route errored somewhere and the user has their tokens unlocked in one of their wallets. Their tokens are either on the source chain, an intermediate chain, or the destination chain but as the wrong asset. (Again, `transfer_asset_release` indicates where the tokens are) * `STATE_ABANDONED` - Tracking for the transaction has been abandoned. This happens if the cross-chain sequence of actions stalls for more than 10 minutes or if the initial transaction does not get observed in a block for 5 minutes. * `STATE_PENDING_ERROR` - The overall transaction will fail, pending error propagation enum: - STATE_SUBMITTED - STATE_PENDING - STATE_ABANDONED - STATE_COMPLETED_SUCCESS - STATE_COMPLETED_ERROR - STATE_PENDING_ERROR type: string OPInitTransfer: description: A transfer facilitated by the OP Init bridge properties: from_chain_id: description: Canonical chain-id of the source chain of the bridge transaction type: string to_chain_id: description: Canonical chain-id of the destination chain of the bridge transaction type: string denom_in: description: Denom of the input asset type: string denom_out: description: Denom of the output asset type: string op_init_bridge_id: description: Identifier used by the OPInit bridge to identify the L1-L2 pair the transfer occurs between bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay type: object OPInitTransferWrapper: properties: op_init_transfer: $ref: '#/components/schemas/OPInitTransfer' type: object OPInitTransferInfo: required: - to_chain_id - from_chain_id - state - txs properties: to_chain_id: description: Chain ID of the destination chain type: string from_chain_id: description: Chain ID of the source chain type: string state: $ref: '#/components/schemas/OPInitTransferState' txs: $ref: '#/components/schemas/OPInitTransferTxs' type: object OPInitTransferTxs: properties: send_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true receive_tx: allOf: - $ref: '#/components/schemas/ChainTransaction' nullable: true type: object OPInitTransferState: description: | OPInit transfer state: * `OPINIT_TRANSFER_UNKNOWN` - Unknown error * `OPINIT_TRANSFER_SENT` - The deposit transaction on the source chain has executed * `OPINIT_TRANSFER_RECEIVED` - OPInit transfer has been received at the destination chain enum: - OPINIT_TRANSFER_UNKNOWN - OPINIT_TRANSFER_SENT - OPINIT_TRANSFER_RECEIVED type: string LayerZeroTransferState: description: | LayerZero transfer state: * `LAYER_ZERO_TRANSFER_UNKNOWN` - Unknown error * `LAYER_ZERO_TRANSFER_SENT` - The transaction on the source chain has executed * `LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE` - The transfer has been delivered to the destination chain but there is an additional lz_compose transaction that still needs to be delivered before marking this transfer as LAYER_ZERO_TRANSFER_RECEIVED * `LAYER_ZERO_TRANSFER_RECEIVED` - The transfer has been received at the destination chain * `LAYER_ZERO_TRANSFER_FAILED` - The transfer has failed enum: - LAYER_ZERO_TRANSFER_UNKNOWN - LAYER_ZERO_TRANSFER_SENT - LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE - LAYER_ZERO_TRANSFER_RECEIVED - LAYER_ZERO_TRANSFER_FAILED type: string Transfer: description: A cross-chain transfer properties: port: description: Port to use to initiate the transfer type: string channel: description: Channel to use to initiate the transfer type: string from_chain_id: description: Chain-id on which the transfer is initiated type: string to_chain_id: description: Chain-id on which the transfer is received type: string pfm_enabled: description: Whether pfm is enabled on the chain where the transfer is initiated type: boolean supports_memo: description: Whether the transfer chain supports a memo type: boolean denom_in: description: Denom of the input asset of the transfer type: string denom_out: description: Denom of the output asset of the transfer type: string fee_amount: description: Amount of the fee asset to be paid as the transfer fee if applicable. type: string nullable: true usd_fee_amount: description: Amount of the fee asset to be paid as the transfer fee if applicable, converted to USD value type: string nullable: true fee_asset: description: Asset to be paid as the transfer fee if applicable. $ref: '#/components/schemas/Asset' nullable: true bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay to_chain_entry_contract_address: description: Address of the entry contract on the destination chain type: string nullable: true to_chain_callback_contract_address: description: Address of the callback contract on the destination chain type: string nullable: true dest_denom: description: Deprecated, use denom_out instead. Denom of the destination asset of the transfer type: string deprecated: true type: object TransferEvent: type: object properties: ibc_transfer: $ref: '#/components/schemas/IBCTransferInfo' axelar_transfer: $ref: '#/components/schemas/AxelarTransferInfo' cctp_transfer: $ref: '#/components/schemas/CCTPTransferInfo' hyperlane_transfer: $ref: '#/components/schemas/HyperlaneTransferInfo' op_init_transfer: $ref: '#/components/schemas/OPInitTransferInfo' stargate_transfer: $ref: '#/components/schemas/StargateTransferInfo' go_fast_transfer: $ref: '#/components/schemas/GoFastTransferInfo' eureka_transfer: $ref: '#/components/schemas/EurekaTransferInfo' layer_zero_transfer: $ref: '#/components/schemas/LayerZeroTransferInfo' TransferState: description: | Transfer state: * `TRANSFER_UNKNOWN` - Transfer state is not known. * `TRANSFER_PENDING` - The send packet for the transfer has been committed and the transfer is pending. * `TRANSFER_RECEIVED` - The transfer packet has been received by the destination chain. It can still fail and revert if it is part of a multi-hop PFM transfer. * `TRANSFER_SUCCESS` - The transfer has been successfully completed and will not revert. * `TRANSFER_FAILURE`- The transfer has failed. enum: - TRANSFER_UNKNOWN - TRANSFER_PENDING - TRANSFER_RECEIVED - TRANSFER_SUCCESS - TRANSFER_FAILURE type: string TransferAssetRelease: description: Indicates location and denom of transfer asset release. type: object properties: chain_id: description: The chain ID of the chain that the transfer asset is released on. type: string denom: description: The denom of the asset that is released. type: string amount: description: The amount of the asset that is released. type: string nullable: true released: description: Indicates whether assets have been released and are accessible. The assets may still be in transit. type: boolean TransferStatus: properties: state: $ref: '#/components/schemas/TransactionState' transfer_sequence: description: Lists any IBC and Axelar transfers as they are seen. items: $ref: '#/components/schemas/TransferEvent' type: array next_blocking_transfer: description: Indicates which entry in the `transfer_sequence` field that the transfer is blocked on. Will be null if there is no blocked transfer. nullable: true properties: transfer_sequence_index: description: The index of the entry in the `transfer_sequence` field that the transfer is blocked on. type: integer type: object transfer_asset_release: $ref: '#/components/schemas/TransferAssetRelease' error: allOf: - $ref: '#/components/schemas/StatusError' nullable: true type: object TransferWrapper: properties: transfer: $ref: '#/components/schemas/Transfer' type: object EurekaTransfer: description: An IBC Eureka transfer properties: destination_port: description: Port on the destination chain type: string source_client: description: Client on the source chain type: string from_chain_id: description: Chain-id on which the transfer is initiated type: string to_chain_id: description: Chain-id on which the transfer is received type: string pfm_enabled: description: Whether pfm is enabled on the chain where the transfer is initiated type: boolean supports_memo: description: Whether the transfer chain supports a memo type: boolean denom_in: description: Denom of the input asset of the transfer type: string denom_out: description: Denom of the output asset of the transfer type: string entry_contract_address: description: Address of the Eureka entry contract on the source chain type: string callback_adapter_contract_address: description: Optional address of the Eureka callback adapter contract on the source chain type: string nullable: true bridge_id: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer is relayed via Smart Relay smart_relay_fee_quote: allOf: - $ref: '#/components/schemas/SmartRelayFeeQuote' nullable: true to_chain_callback_contract_address: description: Optional address of the Eureka callback contract on the destination chain type: string nullable: true to_chain_entry_contract_address: description: Optional address of the Eureka entry contract on the destination chain type: string nullable: true type: object EurekaTransferInfo: required: - from_chain_id - to_chain_id - state - packet_txs properties: from_chain_id: description: Chain ID of the source chain type: string to_chain_id: description: Chain ID of the destination chain type: string state: $ref: '#/components/schemas/TransferState' packet_txs: $ref: '#/components/schemas/Packet' type: object EurekaTransferWrapper: properties: eureka_transfer: $ref: '#/components/schemas/EurekaTransfer' type: object LayerZeroTransfer: description: A Layer Zero Transfer required: - from_chain_id - to_chain_id - denom_in - denom_out - source_oft_contract_address - destination_endpoint_id - messaging_fee_asset - messaging_fee_amount - messaging_fee_amount_usd - bridge_id properties: from_chain_id: description: Chain-id on which the transfer is initiated type: string to_chain_id: description: Chain-id on which the transfer is received type: string denom_in: description: Denom of the input asset of the transfer type: string denom_out: description: Denom of the output asset of the transfer type: string source_oft_contract_address: type: string destination_endpoint_id: type: number messaging_fee_asset: $ref: '#/components/schemas/Asset' messaging_fee_amount: type: string messaging_fee_amount_usd: type: string bridge_id: $ref: '#/components/schemas/BridgeType' type: object LayerZeroTransferInfo: required: - from_chain_id - to_chain_id - state - txs properties: from_chain_id: description: Chain ID of the source chain type: string to_chain_id: description: Chain ID of the destination chain type: string state: $ref: '#/components/schemas/LayerZeroTransferState' txs: $ref: '#/components/schemas/LayerZeroTransferTransactions' type: object LayerZeroTransferWrapper: properties: layer_zero_transfer: $ref: '#/components/schemas/LayerZeroTransfer' type: object RecommendationRequest: properties: source_asset_denom: type: string description: Denom of the source asset source_asset_chain_id: type: string description: Chain-id of the source asset dest_chain_id: type: string nullable: true description: Chain-id of the recommended destination asset reason: description: Reason for recommendation (optional) allOf: - $ref: '#/components/schemas/Reason' nullable: true type: object CosmosModuleSupport: properties: authz: description: Whether the authz module is supported type: boolean feegrant: description: Whether the feegrant module is supported type: boolean IbcCapabilities: properties: cosmos_pfm: description: Whether the packet forwarding middleware module is supported type: boolean cosmos_ibc_hooks: description: Whether the ibc hooks module is supported type: boolean cosmos_memo: description: Whether the chain supports IBC memos type: boolean cosmos_autopilot: description: Whether the autopilot module is supported type: boolean FeeType: description: | Fee type: * SMART_RELAY - Fees for Smart relaying services.' enum: - SMART_RELAY type: string FeeBehavior: type: string enum: - FEE_BEHAVIOR_DEDUCTED - FEE_BEHAVIOR_ADDITIONAL description: | Indicates whether the fee is deducted from the transfer amount or charged additionally. - FEE_BEHAVIOR_DEDUCTED: Fee is subtracted from the transfer amount (default, typical for Cosmos chains) - FEE_BEHAVIOR_ADDITIONAL: Fee is charged on top of the transfer amount (typical for EVM chains with native tokens) Fee: properties: fee_type: $ref: '#/components/schemas/FeeType' bridge_id: $ref: '#/components/schemas/BridgeType' amount: description: Amount of the fee asset to be paid type: string usd_amount: description: The value of the fee in USD type: string origin_asset: $ref: '#/components/schemas/Asset' required: true chain_id: description: Chain ID of the chain where fees are collected type: string tx_index: description: The index of the transaction in the list of transactions required to execute the transfer where fees are paid type: integer operation_index: description: The index of the operation in the returned operations list which incurs the fee type: integer nullable: true fee_behavior: $ref: '#/components/schemas/FeeBehavior' description: Indicates whether this fee is deducted from the transfer amount or charged additionally BalancesRequest: type: object properties: chains: type: object additionalProperties: $ref: '#/components/schemas/BalanceRequestChainEntry' AssetsFromSourceRequest: type: object required: - source_asset_denom - source_asset_chain_id properties: source_asset_denom: type: string description: Denom of the source asset source_asset_chain_id: type: string description: Chain-id of the source asset allow_multi_tx: type: boolean description: Whether to include recommendations requiring multiple transactions to reach the destination default: false recommendation_reason: $ref: '#/components/schemas/Reason' description: Optional reason for recommending assets nullable: true include_swaps: type: boolean description: Whether to include swap routes default: false swap_venues: type: array description: Swap venues to consider if including swap routes items: $ref: '#/components/schemas/SwapVenue' nullable: true native_only: type: boolean description: Whether to only return native assets default: false group_by: type: string description: Optional grouping key for results nullable: true include_cw20_assets: type: boolean description: Whether to include CW20 tokens default: false RouteRequest: type: object properties: source_asset_denom: type: string description: Denom of the source asset source_asset_chain_id: type: string description: Chain-id of the source asset dest_asset_denom: type: string description: Denom of the destination asset dest_asset_chain_id: type: string description: Chain-id of the destination asset amount_in: type: string description: Amount of source asset to be transferred or swapped. Only one of amount_in and amount_out should be provided. amount_out: type: string description: Amount of destination asset to receive. Only one of amount_in and amount_out should be provided. If amount_out is provided for a swap, the route will be computed to give exactly amount_out. cumulative_affiliate_fee_bps: type: string nullable: true description: Cumulative fee to be distributed to affiliates, in bps (optional) swap_venues: type: array description: Swap venues to consider, if provided (optional) items: $ref: '#/components/schemas/SwapVenue' allow_unsafe: type: boolean description: Toggles whether the api should return routes that fail price safety checks. experimental_features: type: array description: Array of experimental features to enable items: type: string allow_multi_tx: type: boolean description: | Whether to allow route responses requiring multiple transactions bridges: type: array description: Array of bridges to use items: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer route should be relayed via Skip's Smart Relay service - true by default. smart_swap_options: $ref: '#/components/schemas/SmartSwapOptions' allow_swaps: type: boolean description: Whether to allow swaps in the route go_fast: type: boolean description: Whether to enable Go Fast routes MsgsRequest: type: object properties: source_asset_denom: type: string description: Denom of the source asset source_asset_chain_id: type: string description: Chain-id of the source asset dest_asset_denom: type: string description: Denom of the destination asset dest_asset_chain_id: type: string description: Chain-id of the destination asset amount_in: type: string description: Amount of source asset to be transferred or swapped amount_out: type: string description: Amount of destination asset out address_list: type: array description: Array of receipient and/or sender address for each chain in the path, corresponding to the required_chain_addresses array returned from a route request items: type: string operations: type: array description: Array of operations required to perform the transfer or swap items: $ref: '#/components/schemas/Operation' estimated_amount_out: type: string slippage_tolerance_percent: type: string description: Percent tolerance for slippage on swap, if a swap is performed chain_ids_to_affiliates: type: object description: Map of chain-ids to arrays of affiliates. The API expects all chains to have the same cumulative affiliate fee bps for each chain specified. If any of the provided affiliate arrays does not have the same cumulative fee, the API will return an error. additionalProperties: $ref: '#/components/schemas/ChainAffiliates' post_route_handler: $ref: '#/components/schemas/PostHandler' timeout_seconds: type: string description: Number of seconds for the IBC transfer timeout, defaults to 5 minutes enable_gas_warnings: type: boolean description: Whether to enable gas warnings for intermediate and destination chains default: false fee_payer_address: type: string description: Alternative address to use for paying for fees, currently only for SVM source CCTP transfers, in b58 format. default: false MsgsDirectRequest: type: object properties: source_asset_denom: type: string description: Denom of the source asset source_asset_chain_id: type: string description: Chain-id of the source asset dest_asset_denom: type: string description: Denom of the destination asset dest_asset_chain_id: type: string description: Chain-id of the destination asset amount_in: type: string description: Amount of source asset to be transferred or swapped. If this is a swap, only one of amount_in and amount_out should be provided. amount_out: type: string description: Amount of destination asset out. If this is a swap, only one of amount_in and amount_out should be provided. If amount_out is provided for a swap, the route will be computed to give exactly amount_out. chain_ids_to_addresses: type: object description: Map of chain-ids to receipient and/or sender address for each chain in the path. Since the path is not known to the caller beforehand, the caller should attempt to provide addresses for all chains in the path, and the API will return an error if the path cannot be constructed. additionalProperties: type: string swap_venues: type: array description: Swap venues to consider, if provided (optional) items: $ref: '#/components/schemas/SwapVenue' slippage_tolerance_percent: type: string description: Percent tolerance for slippage on swap, if a swap is performed chain_ids_to_affiliates: type: object description: Map of chain-ids to arrays of affiliates. Since cumulative_affiliate_fee_bps must be provided to retrieve a route, and the swap chain is not known at this time, all chains must have the same cumulative_affiliate_fee_bps otherwise the API will return an error. additionalProperties: $ref: '#/components/schemas/ChainAffiliates' post_route_handler: $ref: '#/components/schemas/PostHandler' timeout_seconds: type: string description: Number of seconds for the IBC transfer timeout, defaults to 5 minutes allow_unsafe: type: boolean description: Toggles whether the api should return routes that fail price safety checks. experimental_features: type: array description: Array of experimental features to enable items: type: string allow_multi_tx: type: boolean description: | Whether to allow route responses requiring multiple transactions bridges: type: array description: Array of bridges to use items: $ref: '#/components/schemas/BridgeType' smart_relay: type: boolean description: Indicates whether this transfer route should be relayed via Skip's Smart Relay service smart_swap_options: $ref: '#/components/schemas/SmartSwapOptions' allow_swaps: type: boolean description: Whether to allow swaps in the route enable_gas_warnings: type: boolean description: Whether to enable gas warnings for intermediate and destination chains default: false go_fast: type: boolean description: Whether to enable Go Fast routes fee_payer_address: type: string description: Alternative address to use for paying for fees, currently only for SVM source CCTP transfers, in b58 format. default: false AssetRecommendationsRequest: type: object properties: requests: type: array description: Array where each entry corresponds to a distinct asset recommendation request. items: $ref: '#/components/schemas/RecommendationRequest' SubmitTxRequest: type: object properties: tx: type: string description: Signed base64 encoded transaction chain_id: type: string description: Chain ID of the transaction TrackTxRequest: type: object required: - tx_hash - chain_id properties: tx_hash: type: string description: Hex encoded hash of the transaction to track chain_id: type: string description: Chain ID of the transaction TrackTxResponse: type: object required: - tx_hash - explorer_link properties: tx_hash: type: string description: Hash of the transaction explorer_link: type: string description: Link to the transaction on the relevant block explorer StatusTxResponse: type: object required: - state - transfer_sequence properties: transfers: type: array items: $ref: '#/components/schemas/TransferStatus' description: Transfer status for all transfers initiated by the transaction in the order they were initiated. state: $ref: '#/components/schemas/TransactionState' description: The overall state reflecting the end-to-end status of all transfers initiated by the original transaction. next_blocking_transfer: description: Details about the next transfer in the sequence that is preventing further progress, if any. nullable: true properties: transfer_sequence_index: type: integer type: object transfer_asset_release: $ref: '#/components/schemas/TransferAssetRelease' error: description: Details about any error encountered during the transaction or its subsequent transfers. allOf: - $ref: '#/components/schemas/StatusError' nullable: true transfer_sequence: description: "**DEPRECATED.** This field provides a flat list of all transfer events. For a more structured and detailed status of each transfer leg, including its individual events, please use the 'transfers' array instead. This field may be removed in a future version." deprecated: true type: array items: $ref: '#/components/schemas/TransferEvent' status: type: string description: A high-level status indicator for the transaction's completion state. example: STATE_COMPLETED IbcOriginAssetsRequest: type: object properties: assets: type: array description: Array of assets to get origin assets for items: type: object properties: denom: type: string description: Denom of the asset chain_id: type: string description: Chain-id of the asset AssetsBetweenChainsRequest: type: object properties: source_chain_id: type: string description: Chain-id of the source chain dest_chain_id: type: string description: Chain-id of the destination chain include_no_metadata_assets: type: boolean description: Whether to include assets without metadata (symbol, name, logo_uri, etc.) default: false include_cw20_assets: type: boolean description: Whether to include CW20 tokens default: false include_evm_assets: type: boolean description: Whether to include EVM tokens default: false allow_multi_tx: type: boolean description: Whether to include recommendations requiring multiple transactions to reach the destination default: false