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

# Get quotes

> 
 Retrieves all available quotes from from quote providers

- Uses the same address/amount inputs for all providers.
- Risk assessment is computed once (same inputs) and attached to the response.
- If `travel_rule_compliant` is true, verifies IVMS101 records for sender & recipient before quoting.




## OpenAPI

````yaml /api-reference/faraday-api.json get /v1/transactions/quotes
openapi: 3.1.0
info:
  title: Faraday API
  description: >-

    The **Faraday API** provides secure, compliant infrastructure for stablecoin
    transactions, identity verification, and transaction monitoring across
    multiple blockchains.


    ### Key Features

    - **Swap Routing** — Discover optimal swap paths for stablecoin transfers,
    including cross-chain routes.

    - **IVMS101 Person Records** — Create, query, and manage structured person
    data for FATF Travel Rule compliance.

    - **Transaction Submission and Monitoring** — Submit and track stablecoin
    transactions.

    - **Reporting** — View historical transaction reports including associated
    IVMS101 records.


    ### Authentication

    Most requests require an API key (Bearer token).


    Generate and manage API keys by signing in to https://app.range.org/


    API Keys can be found under the APIs section. A free monthly credit
    allowance is available, with more credits available to paid plans.


    Include this header with every authenticated Faraday request:


    ```

    Authorization: Bearer <your_token>

    ```


    ### Base URL

    - Production: `https://api.faraday.range.org`


    ### Example Request

    ```bash

    curl -X GET 'https://api.faraday.range.org/v1/persons'   --header
    'Authorization: Bearer <your_token>'

    ```
            
  contact:
    name: Faraday
    url: https://range.org/faraday
    email: faraday@range.org
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://api.faraday.range.org
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Transactions
    description: Send, track and find transactions
  - name: Persons
    description: >-
      Manage IVMS101 Person records. This includes creation and retrieval of
      structured person data for compliance with FATF Travel Rule standards.
  - name: Chains
    description: Chains supported by Faraday
  - name: Tokens
    description: Tokens supported by Faraday
  - name: Providers
    description: Providers supported by Faraday
paths:
  /v1/transactions/quotes:
    get:
      tags:
        - Transactions
      summary: Get quotes
      description: >2

         Retrieves all available quotes from from quote providers

        - Uses the same address/amount inputs for all providers.

        - Risk assessment is computed once (same inputs) and attached to the
        response.

        - If `travel_rule_compliant` is true, verifies IVMS101 records for
        sender & recipient before quoting.
      operationId: get_quotes
      parameters:
        - name: from_chain
          in: query
          description: Source chain (e.g., "solana", "ethereum")
          required: true
          schema:
            $ref: '#/components/schemas/Network'
          example: solana
        - name: from_address
          in: query
          description: Sender address on the source chain
          required: false
          schema:
            type: string
          example: GvFbpZcqXNoZbAH8ETAA4DYBzaEHY4v2Vt7r71ZqJCTc
        - name: from_asset
          in: query
          description: Asset/mint/contract on the source chain
          required: false
          schema:
            type: string
          example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        - name: to_chain
          in: query
          description: Destination chain (e.g., "ethereum")
          required: false
          schema:
            $ref: '#/components/schemas/Network'
          example: ethereum
        - name: to_asset
          in: query
          description: Asset/mint/contract on the destination chain
          required: false
          schema:
            type: string
          example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
        - name: amount
          in: query
          description: Amount in base units (integer string, no decimals)
          required: false
          schema:
            type: string
          example: '100000000'
        - name: slippage_bps
          in: query
          description: Slippage in basis points (0..=10000)
          required: true
          schema:
            type: integer
            format: int32
            minimum: 0
          example: 50
        - name: to_address
          in: query
          description: Recipient address on the destination chain
          required: false
          schema:
            type: string
          example: '0x10ADD26fb2D17dA265e0567B8F56cb4687979fbE'
        - name: travel_rule_compliant
          in: query
          description: Whether the transaction complies with Travel Rule requirements.
          required: false
          schema:
            type: boolean
        - name: allowed_providers
          in: query
          description: >-
            If set, the router will restrict quote routing to these providers
            only.

            If omitted, all available providers will be used.


            **GET request usage:**

            `?allowed_providers=relay&allowed_providers=skipgo`

            (use repeated query parameters)
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Provider'
        - name: risk_report
          in: query
          description: |-
            Whether this request should compute a risk report.
            If omitted, defaults to `false`.
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: |

            **OK**

            Quotes successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotesWithRisk'
              examples:
                Solana Devnet USDC to Sepolia USDC:
                  value:
                    quotes:
                      - created_at: '2025-10-28T17:36:29Z'
                        destination:
                          account: '0x10ADD26fb2D17dA265e0567B8F56cb4687979fbE'
                          amount: '4998546'
                          amount_formatted: null
                          decimals: null
                          logo_url: null
                          name: null
                          network: sepolia
                          symbol: USDC
                          token: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238'
                          usd_amount: null
                          usd_price: null
                        expires_at: null
                        fee: {}
                        id: 5917c6e9-4a69-4ca4-90b8-22d9abaf3c8b
                        min_amount_out: '4983550'
                        provider: skipgo
                        source:
                          account: 3DWrAUpE8DWTyEfexXHcyJzYDieyJCw7pwsSiJRcjzKx
                          amount: '5000000'
                          amount_formatted: null
                          decimals: null
                          logo_url: null
                          name: null
                          network: solana-devnet
                          symbol: USDC
                          token: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
                          usd_amount: null
                          usd_price: null
                        transactions:
                          - chain_id: EtWTRABZaYq6iMfeYKouRu166VU2xqa1
                            kind: solana
                            tx_base64: <base64-encoded Solana transaction>
                    risk:
                      errors: []
                      overall_risk_level: high
                      processing_time_ms: 4439.167
                      request_summary:
                        amount: 100000000
                        recipient_address: '0x10ADD26fb2D17dA265e0567B8F56cb4687979fbE'
                        recipient_network: ethereum
                        recipient_token: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                        sender_address: GvFbpZcqXNoZbAH8ETAA4DYBzaEHY4v2Vt7r71ZqJCTc
                        sender_network: solana
                        sender_token: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                      risk_factors:
                        - description: >-
                            Unable to assess new wallet risk due to service
                            error: Network 'ethereum' is not configured.
                          factor: assessment_error_new_wallet
                          risk_level: medium
                        - description: >-
                            Unable to assess dormant wallet risk: Network
                            'ethereum' is not configured.
                          factor: assessment_error_dormant_wallet
                          risk_level: medium
                        - description: >-
                            No address poisoning pattern detected between sender
                            and recipient
                          factor: no_address_poisoning
                          risk_level: low
                        - description: First ever interaction between these addresses
                          factor: first_interaction
                          risk_level: high
                        - description: >-
                            Sender address is directly connected (1 hop) to
                            malicious addresses (riskScore: 10). Address is
                            directly malicious.
                          factor: connected_to_malicious_address
                          risk_level: high
                        - description: >-
                            Recipient address has no known connections to
                            malicious addresses according to Range API
                          factor: clean_address_recipient
                          risk_level: low
        '401':
          description: |

            **Unauthorized**

            This error indicates that the API key is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Missing key:
                  summary: API Key Missing
                  description: >-
                    An API key is missing in the request and should be provided
                    in the `Authorization: Bearer` header.
                  value:
                    details:
                      message: >-
                        No API key found, please set this in an Authorization:
                        Bearer header
                    error: authentication failed
                Unauthorized:
                  summary: Unauthorized
                  description: >-
                    The API key may be invalid, an empty key was provided, or
                    the key is not authorized.
                  value:
                    details:
                      message: The API key provided is not authorised or invalid
                    error: authentication failed
        '403':
          description: >

            **Forbidden**


            This error indicates that the API key is valid but the requested
            feature or resource is disabled for this workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Disabled API Key:
                  summary: Feature disabled
                  description: >-
                    The API key is valid but the associated feature or endpoint
                    has been disabled for this workspace.
                  value:
                    details:
                      message: Feature disabled for this API key
                    error: authentication failed
        '404':
          description: >

            **Not Found**


            This error indicates that no quotes were available from any provider
            for the given route or parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                No quotes available:
                  value:
                    details:
                      message: no quotes available from any provider
                    error: not found
        '422':
          description: >

            **Unprocessable Entity**


            This error indicates the request was malformed.


            If the request fails validation a response is given with an
            indication of how to resolve the error. 
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Missing fields on QuoteRequest:
                  value:
                    details:
                      amount:
                        - code: greater_than_zero
                          message: amount must be greater than 0
                          params:
                            value: '0'
                      from_address:
                        - code: length
                          message: null
                          params:
                            min: 1
                            value: ''
                      from_asset:
                        - code: length
                          message: null
                          params:
                            min: 1
                            value: ''
                      to_address:
                        - code: length
                          message: null
                          params:
                            min: 1
                            value: ''
                      to_asset:
                        - code: length
                          message: null
                          params:
                            min: 1
                            value: ''
                    error: validation failed
        '429':
          description: >

            **Too Many Requests**


            This error indicates that the API key has exceeded its allowed
            number of requests within the current quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Rate Limited API Key:
                  summary: Rate limit exceeded
                  description: The API key has exceeded its quota.
                  value:
                    details:
                      message: API Key Rate limit exceeded
                    error: authentication failed
        '500':
          description: >

            **Internal Server Error**


            An unexpected internal error occurred while processing the request.
            This typically indicates a transient backend or database issue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal Server Error:
                  summary: Internal error
                  description: >-
                    An unhandled exception or service outage prevented the
                    request from completing successfully.
                  value:
                    error: internal server error
components:
  schemas:
    Network:
      type: string
      enum:
        - eth
        - sepolia
        - solana
        - oeth
        - solana-devnet
        - osmosis-1
        - arb1
        - pol
        - base
        - avax
        - bnb
        - neutron-1
        - celestia
        - opsep
        - fuji
        - amoy
        - basesep
    Provider:
      type: string
      enum:
        - skipgo
        - debridge
        - lifi
        - squid
        - switchain
        - direct
        - relay
        - jupiter
    QuotesWithRisk:
      type: object
      required:
        - quotes
        - risk
      properties:
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/RouteQuote'
          description: >-
            All viable quotes from supported quote providers (each `RouteQuote`
            includes its `provider`)
        risk:
          description: >-
            Risk assessment from the ML API (None if the call failed)


            NOTE: `PaymentRiskResponse` is from an external crate. We keep the
            field typed

            as `PaymentRiskResponse` in Rust, but for OpenAPI we document it as
            JSON and

            provide a realistic example payload.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    RouteQuote:
      type: object
      required:
        - id
        - provider
        - created_at
        - expires_at
        - min_amount_out
      properties:
        created_at:
          type: string
          format: date-time
          description: RFC3339 timestamp when the quote was created (UTC)
          example: '2025-11-03T13:00:00Z'
        destination:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/AssetInfo'
              description: Rich destination asset information with metadata
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Optional RFC3339 timestamp indicating when the quote becomes invalid
            (UTC).


            Some providers include explicit expiry times; otherwise this field
            may be `null`.

            Consumers should treat quotes without this field as ephemeral and
            validate freshness before execution.
          example: '2025-11-03T13:01:00Z'
        fee:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/FeeEstimate'
              description: Fees, if provided by the quote provider
        id:
          type: string
          format: uuid
          description: Quote UUID
          example: b9a1b2a0-8d2b-4e4d-9e64-0e0a8f7a9d3c
        min_amount_out:
          type: string
          description: Minimum guaranteed output in base units (integer string)
          example: '99500000'
        provider:
          $ref: '#/components/schemas/Provider'
          description: Quote provider identifier (e.g., "deBridge DLN", "LI.FI")
        source:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/AssetInfo'
              description: Rich source asset information with metadata
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/RouteTransaction'
          description: >-
            One or more chain-specific transactions required to execute this
            route
    AssetInfo:
      type: object
      description: Rich asset information including metadata
      properties:
        account:
          type:
            - string
            - 'null'
          description: Sender address (for source) or recipient address (for destination)
          example: 5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9
        amount:
          type:
            - string
            - 'null'
          description: Raw amount in base units (integer string)
          example: '100000000'
        amount_formatted:
          type:
            - string
            - 'null'
          description: Formatted amount with decimals applied (e.g., "100.0")
          example: '100.0'
        decimals:
          type:
            - integer
            - 'null'
          format: int32
          description: Token decimals
          example: 6
          minimum: 0
        logo_url:
          type:
            - string
            - 'null'
          description: Token logo URL
          example: https://coin-images.coingecko.com/coins/images/6319/large/usdc.png
        name:
          type:
            - string
            - 'null'
          description: Human-readable token name (e.g., "USD Coin")
          example: USD Coin
        network:
          type:
            - string
            - 'null'
          description: Network/chain identifier (e.g., "solana", "eth", "arb1")
          example: solana
        symbol:
          type:
            - string
            - 'null'
          description: Token symbol (e.g., "USDC", "ETH")
          example: USDC
        token:
          type:
            - string
            - 'null'
          description: Token contract/mint address
          example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        usd_amount:
          type:
            - string
            - 'null'
          description: Total USD value (set to "0" if not available)
          example: '0'
        usd_price:
          type:
            - string
            - 'null'
          description: USD price per token (set to "0" if not available)
          example: '0'
    FeeEstimate:
      type: object
      description: Fee structure containing platform and gas fees
      properties:
        platform_fee:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/FeeDetail'
              description: Platform/router fee charged by the bridging service
    RouteTransaction:
      oneOf:
        - type: object
          description: An EVM transaction
          required:
            - chain_id
            - to
            - data
            - value
            - kind
          properties:
            chain_id:
              type: string
              description: Target chain ID (e.g. 11155111)
            data:
              type: string
              description: Calldata or ABI-encoded payload
            erc20_approvals:
              type: array
              items:
                $ref: '#/components/schemas/Erc20Approval'
              description: Optional list of ERC20 approvals required before execution
            kind:
              type: string
              enum:
                - eip155
            meta:
              description: Optional chain-specific metadata (gas, nonce, etc.)
            to:
              type: string
              description: To address
            value:
              type: string
              description: Value in wei
        - type: object
          description: A Cosmos transaction (usually one or more messages)
          required:
            - chain_id
            - msgs
            - kind
          properties:
            chain_id:
              type: string
            kind:
              type: string
              enum:
                - cosmos
            msgs:
              type: array
              items: {}
        - type: object
          description: A Solana transaction (base64 encoded)
          required:
            - chain_id
            - tx_base64
            - kind
          properties:
            chain_id:
              type: string
            kind:
              type: string
              enum:
                - solana
            meta:
              description: Optional metadata (recent_blockhash, expiry, etc.)
            tx_base64:
              type: string
    FeeDetail:
      type: object
      description: Detailed fee information for a single fee component
      properties:
        address:
          type:
            - string
            - 'null'
          description: Token contract address
          example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        amount:
          type:
            - string
            - 'null'
          description: Raw amount in base units (integer string)
          example: '50000'
        amount_formatted:
          type:
            - string
            - 'null'
          description: Formatted amount with decimals applied (e.g., "0.05")
          example: '0.05'
        decimals:
          type:
            - integer
            - 'null'
          format: int32
          description: Token decimals
          example: 6
          minimum: 0
        logo_url:
          type:
            - string
            - 'null'
          description: Token logo URL
          example: https://coin-images.coingecko.com/coins/images/6319/large/usdc.png
        name:
          type:
            - string
            - 'null'
          description: Human-readable token name (e.g., "USD Coin")
          example: USD Coin
        network:
          type:
            - string
            - 'null'
          description: Network/chain identifier (e.g., "solana", "eth", "arb1")
          example: solana
        symbol:
          type:
            - string
            - 'null'
          description: Token symbol (e.g., "USDC", "ETH")
          example: USDC
        usd_amount:
          type:
            - string
            - 'null'
          description: Total USD value (set to "0" if not available)
          example: '0'
        usd_price:
          type:
            - string
            - 'null'
          description: USD price per token (set to "0" if not available)
          example: '0'
    Erc20Approval:
      type: object
      required:
        - token_contract
        - spender
        - amount
      properties:
        amount:
          type: string
          description: Approval amount (integer string)
          example: '100000000'
        spender:
          type: string
          description: Spender contract address
          example: '0x585F053d554B8d4c3983A7BBaDbe13B15BA66F37'
        token_contract:
          type: string
          description: Token contract address
          example: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````