> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cosmos.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Post /v2/fungible/assets_from_source

> Get assets that can be reached from a source via transfers under different conditions (e.g. single vs multiple txs)



## OpenAPI

````yaml swagger post /v2/fungible/assets_from_source
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
security: []
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/fungible/assets_from_source:
    post:
      tags:
        - Fungible
      description: >-
        Get assets that can be reached from a source via transfers under
        different conditions (e.g. single vs multiple txs)
      operationId: assetsFromSource
      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'
components:
  schemas:
    AssetsFromSourceRequest:
      type: object
      required:
        - source_asset_denom
        - source_asset_chain_id
      properties:
        source_asset_denom:
          description: Denom of the source asset
          type: string
        source_asset_chain_id:
          description: Chain-id of the source asset
          type: string
        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
    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
    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
    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
    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
    GRPCStatusCode:
      description: >-
        grpc status codes as defined
        [here](https://grpc.github.io/grpc/core/md_doc_statuscodes.html)
      type: number
    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

````