POST
/
v2
/
fungible
/
msgs_direct
curl --request POST \
--url https://api.skip.build/v2/fungible/msgs_direct \
--header 'Content-Type: application/json' \
--data '{
"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
}'
{
  "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
  }
}

Body

application/json
source_asset_denom
string

Denom of the source asset

source_asset_chain_id
string

Chain-id of the source asset

dest_asset_denom
string

Denom of the destination asset

dest_asset_chain_id
string

Chain-id of the destination asset

amount_in
string

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
string

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
object

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.

swap_venues
object[]

Swap venues to consider, if provided (optional)

slippage_tolerance_percent
string

Percent tolerance for slippage on swap, if a swap is performed

chain_ids_to_affiliates
object

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.

post_route_handler
object
timeout_seconds
string

Number of seconds for the IBC transfer timeout, defaults to 5 minutes

allow_unsafe
boolean

Toggles whether the api should return routes that fail price safety checks.

experimental_features
string[]

Array of experimental features to enable

allow_multi_tx
boolean

Whether to allow route responses requiring multiple transactions

bridges
enum<string>[]

Array of bridges to use

smart_relay
boolean

Indicates whether this transfer route should be relayed via Skip's Smart Relay service

smart_swap_options
object
allow_swaps
boolean

Whether to allow swaps in the route

enable_gas_warnings
boolean
default:false

Whether to enable gas warnings for intermediate and destination chains

go_fast
boolean

Whether to enable Go Fast routes

fee_payer_address
string
default:false

Alternative address to use for paying for fees, currently only for SVM source CCTP transfers, in b58 format.

Response

The messages required to execute the swap, as JSON.

msgs
object[]
txs
object[]
min_amount_out
string

Minimum possible output after all operations, including fees and slippage

route
object