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

# Get Swap Quote



## OpenAPI

````yaml GET /api/v2/swap/quote
openapi: 3.0.3
info:
  description: Multi-chain DEX trading API for developers
  license:
    name: ''
  title: Shuriken API v2
  version: 2.0.0
servers:
  - url: https://api.shuriken.trade
security: []
tags:
  - description: SplitNOW cross-chain split plan + execute
    name: V2 Splits
  - description: Wallet archive lifecycle (archive / unarchive / bulk-archive)
    name: Wallets
  - description: Token discovery, metadata, and pricing
    name: V2 Tokens
  - description: Quote and execute swaps
    name: V2 Swap
  - description: Limit orders and stop-loss
    name: V2 Trigger
  - description: Managed-agent invocation
    name: V2 Agents
  - description: Portfolio positions and PnL
    name: V2 Portfolio
  - description: User account management
    name: V2 Account
  - description: WebSocket stream discovery, session bootstrap, and channel authorization
    name: V2 WebSocket
  - description: Perpetual trading on Hyperliquid
    name: V2 Perps
  - description: Agent-proposed trade suggestions
    name: V2 Suggestions
paths:
  /api/v2/swap/quote:
    get:
      tags:
        - V2 Swap
      summary: GET /api/v2/swap/quote — Get a swap quote (read-only, cacheable)
      operationId: get_swap_quote
      parameters:
        - description: 'Chain: solana, base, bsc'
          in: query
          name: chain
          required: true
          schema:
            type: string
        - description: Token address to sell
          in: query
          name: inputMint
          required: true
          schema:
            type: string
        - description: Token address to buy
          in: query
          name: outputMint
          required: true
          schema:
            type: string
        - description: Amount in base units (positive integer string, no decimals)
          in: query
          name: amount
          required: true
          schema:
            type: string
        - description: 'Slippage in basis points (default: 100)'
          in: query
          name: slippageBps
          required: false
          schema:
            format: int32
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_QuoteResponse'
          description: Swap quote
        '400':
          description: No route found or invalid params
      security:
        - bearer_auth: []
components:
  schemas:
    ApiResponse_QuoteResponse:
      description: V2 success response envelope
      properties:
        data:
          properties:
            chain:
              type: string
            expiresAt:
              type: string
            fees:
              $ref: '#/components/schemas/QuoteFees'
              description: Fee breakdown for this quote.
            inAmount:
              type: string
            inputMint:
              type: string
            outAmount:
              type: string
            outputMint:
              type: string
            priceImpactPct:
              nullable: true
              type: string
            quoteId:
              description: >-
                Informational identifier for this quote. Not stored server-side
                — a fresh

                quote is generated at execution time. Useful for logging and
                correlation.
              type: string
            routes:
              description: Route hops describing the DEX path taken.
              items:
                $ref: '#/components/schemas/RouteHop'
              type: array
            slippageBps:
              format: int32
              type: integer
          required:
            - quoteId
            - chain
            - inputMint
            - outputMint
            - inAmount
            - outAmount
            - routes
            - fees
            - slippageBps
            - expiresAt
          type: object
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
          nullable: true
        requestId:
          type: string
      required:
        - data
        - requestId
      type: object
    QuoteFees:
      description: Fee breakdown for a swap quote.
      properties:
        dexFeeInNative:
          description: >-
            DEX sell fee denominated in the chain's native token (e.g. SOL,
            ETH).

            EVM-only; sourced from the quoter's `dex_sell_fee_in_native` field.

            Not always populated.
          nullable: true
          type: string
        platformFeeAmount:
          description: Absolute platform fee amount in input token base units.
          nullable: true
          type: string
        platformFeeBps:
          description: |-
            Platform fee in basis points, derived from the difference between
            `inAmount` and the fee-adjusted input amount.
          format: int32
          nullable: true
          type: integer
      type: object
    RouteHop:
      description: A single hop in the swap route.
      properties:
        feeMint:
          nullable: true
          type: string
        inAmount:
          nullable: true
          type: string
        outAmount:
          nullable: true
          type: string
        poolFeeTier:
          description: |-
            Pool fee tier for Uniswap V3/V4 legs (e.g. "3000" = 0.3%).
            Not an amount in base units — it is the fee tier identifier.
          nullable: true
          type: string
        source:
          description: >-
            DEX or aggregator source (e.g. "Raydium CLMM", "Uniswap V3",
            "Jupiter Ultra")
          type: string
      required:
        - source
      type: object
    PaginationInfo:
      description: Page-based pagination info (per RFC)
      properties:
        hasMore:
          type: boolean
        limit:
          format: int32
          minimum: 0
          type: integer
        page:
          format: int32
          minimum: 0
          type: integer
        total:
          format: int32
          minimum: 0
          nullable: true
          type: integer
      required:
        - page
        - limit
        - hasMore
      type: object
  securitySchemes:
    bearer_auth:
      bearerFormat: JWT or sk_{keyId}_{secret}
      description: >-
        Use `Authorization: Bearer <jwt>` for user auth or `Authorization:
        Bearer sk_{keyId}_{secret}` for API key auth.
      scheme: bearer
      type: http

````