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

# Execute Swap

> Create the payment details for a SWAP-mode order — returns the deposit instruction (payment block with steps to fund). v3.0 runs swaps on the deposit-and-execute model; same-chain only.



## OpenAPI

````yaml https://api.coinvoyage.io/v3/openapi.json post /swap/execute
openapi: 3.1.0
info:
  title: CoinVoyage API (v3)
  description: >-
    CoinVoyage v3 payment API. Unified Intent envelope, snake_case money via the
    Amount shape, and a single SHA-256 signature scheme.
  version: 3.0.0
servers:
  - url: https://api.coinvoyage.io/v3
security: []
paths:
  /swap/execute:
    post:
      tags:
        - swap
      summary: Execute Swap
      description: >-
        Create the payment details for a SWAP-mode order — returns the deposit
        instruction (payment block with steps to fund). v3.0 runs swaps on the
        deposit-and-execute model; same-chain only.
      operationId: v3SwapExecute
      parameters:
        - description: API key for authentication
          in: header
          name: X-API-KEY
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwapExecuteRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwapExecuteResponse'
          description: Swap order created; fund the deposit
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Recipient or sender address is sanctioned
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request body or cross-chain swap
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      security:
        - APIKeyHeader: []
components:
  schemas:
    SwapExecuteRequest:
      example:
        amount: '100.0'
        destination:
          currency:
            address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
            chain_id: 30000000000001
          recipient: 0x1234...abcd
        metadata:
          items:
            - currency: USD
              description: High-quality widget with extra features
              image: https://example.com/images/widget.png
              name: Premium Widget
              quantity: 2
              unit_price: 49.99
          refund:
            additional_info: Item was never shipped
            currency: USD
            name: Order Cancellation
            reason: Customer requested refund
            refund_amount: 99.98
        source:
          currency:
            address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
            chain_id: 30000000000001
          sender_address: 0x1234...abcd
          slippage_bps: 50
        trade_type: EXACT_OUTPUT
      properties:
        trade_type:
          $ref: '#/components/schemas/TradeType'
          example: EXACT_OUTPUT
        amount:
          example: '100.0'
          type: string
        source:
          $ref: '#/components/schemas/SwapSource'
        destination:
          $ref: '#/components/schemas/SwapDestination'
        metadata:
          anyOf:
            - $ref: '#/components/schemas/OrderMetadata'
            - type: 'null'
      required:
        - trade_type
        - amount
        - source
        - destination
      type: object
    SwapExecuteResponse:
      example:
        data:
          destination_tx_hash: 0x5678...efgh
          estimated_duration_seconds: 120
          expires_at: '2023-01-01T00:00:00Z'
          fee_tx_hash: 0xfee1...fee2
          input:
            amount:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            balance:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            breakdown:
              base:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              fees:
                custom_fee:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
                protocol_fee:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
                relayer_fee:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
                total_fee:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
              gas:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              total:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
            currency:
              address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
              chain_id: 1
              decimals: 6
              id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
              name: USD Coin
              price_usd: 1
              symbol: USDC
          output:
            amount:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            amount_out_minimum:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            currency:
              address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
              chain_id: 1
              decimals: 6
              id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
              name: USD Coin
              price_usd: 1
              symbol: USDC
          payment_rail: CRYPTO
          recipient: 0x1234...abcd
          refund:
            address: 0x1234...abcd
            reason: 'execution failed: provider error'
            tx_hash: 0x9abc...ijkl
          source_tx_hash: 0x1234...abcd
          steps:
            - deposit_address: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
              kind: deposit
              rail: CRYPTO
      properties:
        order_id:
          type: string
        status:
          $ref: '#/components/schemas/OrderStatus'
        data:
          $ref: '#/components/schemas/PaymentView'
      required:
        - order_id
        - status
        - data
      type: object
    ErrorResponse:
      example:
        code: 400
        error: Bad Request
        message: Invalid request parameters
      properties:
        error:
          example: Bad Request
          type: string
        message:
          example: Invalid request parameters
          type: string
        code:
          example: 400
          format: int64
          type: integer
        details:
          anyOf:
            - type: string
            - type: number
            - type: object
      required:
        - error
        - message
        - code
      type: object
    TradeType:
      description: Whether the source or destination amount is fixed.
      enum:
        - EXACT_INPUT
        - EXACT_OUTPUT
      type: string
    SwapSource:
      example:
        currency:
          address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          chain_id: 30000000000001
        sender_address: 0x1234...abcd
        slippage_bps: 50
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyBase'
        sender_address:
          example: 0x1234...abcd
          type:
            - string
            - 'null'
        slippage_bps:
          example: 50
          type:
            - integer
            - 'null'
      required:
        - currency
      type: object
    SwapDestination:
      example:
        currency:
          address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          chain_id: 30000000000001
        recipient: 0x1234...abcd
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyBase'
        recipient:
          example: 0x1234...abcd
          type:
            - string
            - 'null'
      required:
        - currency
      type: object
    OrderMetadata:
      example:
        items:
          - currency: USD
            description: High-quality widget with extra features
            image: https://example.com/images/widget.png
            name: Premium Widget
            quantity: 2
            unit_price: 49.99
        refund:
          additional_info: Item was never shipped
          currency: USD
          name: Order Cancellation
          reason: Customer requested refund
          refund_amount: 99.98
      properties:
        items:
          items:
            $ref: '#/components/schemas/MetadataItems'
          type: array
        refund:
          anyOf:
            - $ref: '#/components/schemas/MetadataRefund'
            - type: 'null'
      type: object
    OrderStatus:
      enum:
        - PENDING
        - EXPIRED
        - FAILED
        - AWAITING_PAYMENT
        - OPTIMISTIC_CONFIRMED
        - AWAITING_CONFIRMATION
        - EXECUTING_ORDER
        - COMPLETED
        - REFUNDED
        - PARTIAL_PAYMENT
      type: string
    PaymentView:
      example:
        destination_tx_hash: 0x5678...efgh
        estimated_duration_seconds: 120
        expires_at: '2023-01-01T00:00:00Z'
        fee_tx_hash: 0xfee1...fee2
        input:
          amount:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          balance:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          breakdown:
            base:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            fees:
              custom_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              protocol_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              relayer_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              total_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
            gas:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            total:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
          currency:
            address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            chain_id: 1
            decimals: 6
            id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
            name: USD Coin
            price_usd: 1
            symbol: USDC
        output:
          amount:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          amount_out_minimum:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          currency:
            address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            chain_id: 1
            decimals: 6
            id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
            name: USD Coin
            price_usd: 1
            symbol: USDC
        payment_rail: CRYPTO
        recipient: 0x1234...abcd
        refund:
          address: 0x1234...abcd
          reason: 'execution failed: provider error'
          tx_hash: 0x9abc...ijkl
        source_tx_hash: 0x1234...abcd
        steps:
          - deposit_address: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
            kind: deposit
            rail: CRYPTO
      properties:
        payment_rail:
          $ref: '#/components/schemas/PaymentRail'
          example: CRYPTO
        input:
          $ref: '#/components/schemas/QuoteInput'
        output:
          $ref: '#/components/schemas/QuoteOutput'
        recipient:
          example: 0x1234...abcd
          type: string
        steps:
          items:
            $ref: '#/components/schemas/PaymentStep'
          type: array
        expires_at:
          example: '2023-01-01T00:00:00Z'
          format: date-time
          type: string
        estimated_duration_seconds:
          example: 120
          type:
            - number
            - 'null'
        source_tx_hash:
          example: 0x1234...abcd
          type:
            - string
            - 'null'
        destination_tx_hash:
          example: 0x5678...efgh
          type:
            - string
            - 'null'
        fee_tx_hash:
          example: 0xfee1...fee2
          type:
            - string
            - 'null'
        refund:
          anyOf:
            - $ref: '#/components/schemas/PaymentRefund'
            - type: 'null'
      required:
        - payment_rail
        - input
        - output
        - recipient
        - steps
        - expires_at
      type: object
    CurrencyBase:
      example:
        address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        chain_id: 30000000000001
      properties:
        address:
          example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          type:
            - string
            - 'null'
        chain_id:
          $ref: '#/components/schemas/ChainID'
          example: 30000000000001
      required:
        - chain_id
      type: object
    MetadataItems:
      example:
        currency: USD
        description: High-quality widget with extra features
        image: https://example.com/images/widget.png
        name: Premium Widget
        quantity: 2
        unit_price: 49.99
      properties:
        name:
          example: Premium Widget
          type:
            - string
            - 'null'
        description:
          example: High-quality widget with extra features
          type:
            - string
            - 'null'
        image:
          example: https://example.com/images/widget.png
          type:
            - string
            - 'null'
        quantity:
          example: 2
          type:
            - integer
            - 'null'
        unit_price:
          example: 49.99
          type:
            - number
            - 'null'
        currency:
          example: USD
          type:
            - string
            - 'null'
      type: object
    MetadataRefund:
      example:
        additional_info: Item was never shipped
        currency: USD
        name: Order Cancellation
        reason: Customer requested refund
        refund_amount: 99.98
      properties:
        name:
          example: Order Cancellation
          type:
            - string
            - 'null'
        reason:
          example: Customer requested refund
          type:
            - string
            - 'null'
        additional_info:
          example: Item was never shipped
          type:
            - string
            - 'null'
        refund_amount:
          example: 99.98
          type:
            - number
            - 'null'
        currency:
          example: USD
          type:
            - string
            - 'null'
      type: object
    PaymentRail:
      enum:
        - CRYPTO
        - FIAT
      type: string
    QuoteInput:
      example:
        amount:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        balance:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        breakdown:
          base:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          fees:
            custom_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            protocol_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            relayer_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            total_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
          gas:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          total:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
        currency:
          address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          chain_id: 1
          decimals: 6
          id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          name: USD Coin
          price_usd: 1
          symbol: USDC
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyView'
        amount:
          $ref: '#/components/schemas/Amount'
        balance:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        breakdown:
          anyOf:
            - $ref: '#/components/schemas/QuoteBreakdown'
            - type: 'null'
      required:
        - currency
        - amount
      type: object
    QuoteOutput:
      example:
        amount:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        amount_out_minimum:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        currency:
          address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          chain_id: 1
          decimals: 6
          id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          name: USD Coin
          price_usd: 1
          symbol: USDC
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyView'
        amount:
          $ref: '#/components/schemas/Amount'
        amount_out_minimum:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - currency
        - amount
      type: object
    PaymentStep:
      example:
        deposit_address: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
        kind: deposit
        rail: CRYPTO
      properties:
        rail:
          $ref: '#/components/schemas/PaymentRail'
          example: CRYPTO
        kind:
          $ref: '#/components/schemas/StepKind'
          example: deposit
        deposit_address:
          deprecated: true
          description: Use data.deposit_address instead
          example: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
          type: string
        data:
          oneOf:
            - $ref: '#/components/schemas/DepositStepData'
            - $ref: '#/components/schemas/ChainPaymentData'
            - $ref: '#/components/schemas/StripeOnrampPaymentData'
      required:
        - rail
        - kind
        - data
      type: object
    PaymentRefund:
      example:
        address: 0x1234...abcd
        reason: 'execution failed: provider error'
        tx_hash: 0x9abc...ijkl
      properties:
        address:
          example: 0x1234...abcd
          type:
            - string
            - 'null'
        tx_hash:
          example: 0x9abc...ijkl
          type:
            - string
            - 'null'
        reason:
          example: 'execution failed: provider error'
          type:
            - string
            - 'null'
      type: object
    ChainID:
      enum:
        - 1
        - 10
        - 56
        - 137
        - 8453
        - 42161
        - 20000000000001
        - 30000000000001
        - 30000000000002
      example: 1
      format: int64
      type: integer
    CurrencyView:
      example:
        address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
        chain_id: 1
        decimals: 6
        id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
        name: USD Coin
        price_usd: 1
        symbol: USDC
      properties:
        id:
          example: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          type: string
        chain_id:
          $ref: '#/components/schemas/ChainID'
          example: 1
        address:
          example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          type:
            - string
            - 'null'
        symbol:
          example: USDC
          type: string
        name:
          example: USD Coin
          type: string
        decimals:
          example: 6
          format: int64
          type: integer
        image_uri:
          type:
            - string
            - 'null'
        chain_image_uri:
          type:
            - string
            - 'null'
        price_usd:
          example: 1
          type:
            - number
            - 'null'
      required:
        - id
        - chain_id
        - symbol
        - decimals
      type: object
    Amount:
      example:
        raw: '100000000'
        ui: '100.0'
        value_usd: 100
      properties:
        ui:
          example: '100.0'
          type: string
        raw:
          example: '100000000'
          type: string
        value_usd:
          example: 100
          type:
            - number
            - 'null'
      required:
        - ui
        - raw
      type: object
    QuoteBreakdown:
      example:
        base:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        fees:
          custom_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          protocol_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          relayer_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          total_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
        gas:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        total:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
      properties:
        total:
          $ref: '#/components/schemas/Amount'
        base:
          $ref: '#/components/schemas/Amount'
        fees:
          anyOf:
            - $ref: '#/components/schemas/QuoteFees'
            - type: 'null'
        gas:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - total
        - base
      type: object
    StepKind:
      enum:
        - deposit
        - transaction
        - stripe_onramp
      type: string
    DepositStepData:
      example:
        amount: '100000000'
        currency:
          address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          chain_id: 30000000000001
        deposit_address: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
      properties:
        deposit_address:
          example: 5xVt9ovu6g6E4gvz9K9eV4kxY7yQZ8h3kZ2vY8xZ5xVt
          type: string
        currency:
          $ref: '#/components/schemas/CurrencyBase'
        amount:
          $ref: '#/components/schemas/BigInt'
          example: '100000000'
      required:
        - deposit_address
        - currency
        - amount
      type: object
    ChainPaymentData:
      oneOf:
        - $ref: '#/components/schemas/EVMPaymentData'
        - $ref: '#/components/schemas/BitcoinPaymentData'
        - $ref: '#/components/schemas/SolanaPaymentData'
        - $ref: '#/components/schemas/SuiPaymentData'
    StripeOnrampPaymentData:
      example:
        destination_amount: '100'
        destination_currency: usdc
        destination_network: ethereum
        session_id: cos_test_123
        source_currency: usd
        status: initialized
        stripe_publishable_key: pk_test_123
        wallet_address: 0x1234...abcd
      properties:
        session_id:
          example: cos_test_123
          type: string
        stripe_publishable_key:
          example: pk_test_123
          type: string
        status:
          example: initialized
          type: string
        source_currency:
          anyOf:
            - $ref: '#/components/schemas/StripeOnrampCurrency'
            - type: 'null'
          example: usd
        destination_currency:
          $ref: '#/components/schemas/StripeCryptoCurrency'
          example: usdc
        destination_network:
          $ref: '#/components/schemas/StripeCryptoNetwork'
          example: ethereum
        destination_amount:
          example: '100'
          type: string
        wallet_address:
          example: 0x1234...abcd
          type: string
      required:
        - stripe_publishable_key
        - status
        - destination_currency
        - destination_network
        - destination_amount
        - wallet_address
      type: object
    QuoteFees:
      example:
        custom_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        protocol_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        relayer_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        total_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
      properties:
        total_fee:
          $ref: '#/components/schemas/Amount'
        protocol_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        custom_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        relayer_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - total_fee
      type: object
    BigInt:
      description: A big integer represented as a string to preserve precision
      example: '1000000000000000000'
      type: string
    EVMPaymentData:
      example:
        chainId: 1
        data: 0xa9059cbb...
        from: '0x322e128453EFd91a4c131761d9d535fF6E0CCd90'
        maxFeePerGas: '432320998'
        maxPriorityFeePerGas: '290572642'
        to: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        value: '0'
      properties:
        from:
          example: '0x322e128453EFd91a4c131761d9d535fF6E0CCd90'
          type: string
        to:
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
          type: string
        data:
          example: 0xa9059cbb...
          type: string
        value:
          example: '0'
          type: string
        chainId:
          example: 1
          format: int64
          type: integer
        maxFeePerGas:
          example: '432320998'
          type: string
        maxPriorityFeePerGas:
          example: '290572642'
          type: string
      required:
        - from
        - to
        - data
        - value
        - chainId
      type: object
    BitcoinPaymentData:
      example:
        psbt: 70736274ff0100...
      properties:
        psbt:
          example: 70736274ff0100...
          type: string
      required:
        - psbt
      type: object
    SolanaPaymentData:
      properties:
        transaction:
          anyOf:
            - type: string
            - type: number
            - type: object
          description: Serialized Solana transaction object returned by the solana-go SDK.
      required:
        - transaction
      type: object
    SuiPaymentData:
      properties:
        transaction:
          anyOf:
            - type: string
            - type: number
            - type: object
          description: Serialized Sui transaction object returned by the sui-go-sdk.
      required:
        - transaction
      type: object
    StripeOnrampCurrency:
      description: Fiat source currency for Stripe embedded onramp intents
      enum:
        - usd
        - eur
      type: string
    StripeCryptoCurrency:
      enum:
        - usdc
        - usdb
        - usdsui
        - usdt
        - phantom_cash
      type: string
    StripeCryptoNetwork:
      enum:
        - arbitrum
        - base
        - bitcoin
        - ethereum
        - polygon
        - solana
        - sui
        - tempo
        - worldchain
      type: string
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````