openapi: 3.0.0 info: version: 1.0.0 title: Token Trading Approval SwappableTokens API description: 'Uniswap Labs trading APIs. Each operation may include the vendor extension `x-public-endpoint` (boolean): `true` when the operation is available on the public gateway for standard API keys, `false` when it is not publicly exposed. See the [OpenAPI specification extensions](https://swagger.io/docs/specification/v3_0/openapi-extensions/) definition of `x-` fields.' servers: - description: Uniswap Trading API url: https://trade-api.gateway.uniswap.org/v1 security: - apiKey: [] tags: - name: SwappableTokens paths: /swappable_tokens: get: tags: - SwappableTokens summary: Get bridgable tokens description: Returns the list of destination bridge chains for a given token on a given chain. operationId: get_swappable_tokens security: - apiKey: [] parameters: - $ref: '#/components/parameters/tokenInParam' - $ref: '#/components/parameters/bridgeTokenInChainIdParam' responses: '200': $ref: '#/components/responses/GetSwappableTokensSuccess200' '400': $ref: '#/components/responses/BadRequest400' '401': $ref: '#/components/responses/Unauthorized401' '404': $ref: '#/components/responses/QuoteNotFound404' '429': $ref: '#/components/responses/RateLimitedErr429' '500': $ref: '#/components/responses/InternalErr500' '504': $ref: '#/components/responses/Timeout504' x-public-endpoint: true components: schemas: GetSwappableTokensResponse: type: object properties: requestId: $ref: '#/components/schemas/RequestId' tokens: type: array items: type: object properties: address: $ref: '#/components/schemas/Address' chainId: $ref: '#/components/schemas/ChainId' name: type: string description: The name of the token. symbol: $ref: '#/components/schemas/tokenSymbol' project: $ref: '#/components/schemas/TokenProject' isSpam: $ref: '#/components/schemas/isSpam' decimals: type: number description: The number of decimals supported by the token. This number is used to convert token amounts to the token's common representation. required: - address - chainId - name - symbol - project - decimals required: - requestId - tokens ChainId: description: The unique ID of the blockchain. For a list of supported chains see the [FAQ](https://api-docs.uniswap.org/guides/faqs). type: number enum: - 1 - 10 - 56 - 130 - 137 - 143 - 196 - 324 - 480 - 1868 - 4217 - 8453 - 10143 - 42161 - 42220 - 43114 - 59144 - 81457 - 7777777 - 1301 - 84532 - 11155111 default: 1 Err500: type: object properties: errorCode: default: InternalServerError type: string detail: type: string SafetyLevel: type: string enum: - BLOCKED - MEDIUM_WARNING - STRONG_WARNING - VERIFIED RequestId: type: string description: A unique ID for the request. isSpam: type: boolean description: Whether the token is considered a spam token. Err404: type: object properties: errorCode: enum: - ResourceNotFound - QuoteAmountTooLowError - TokenBalanceNotAvailable - InsufficientBalance type: string detail: type: string Address: type: string pattern: ^(0x)?[0-9a-fA-F]{40}$ Err504: type: object properties: errorCode: default: Timeout type: string detail: type: string TokenProject: type: object properties: logo: $ref: '#/components/schemas/TokenProjectLogo' nullable: true safetyLevel: $ref: '#/components/schemas/SafetyLevel' isSpam: $ref: '#/components/schemas/isSpam' required: - logo - safetyLevel - isSpam tokenSymbol: type: string description: The symbol of the token. Err400: type: object properties: errorCode: default: RequestValidationError type: string detail: type: string TokenProjectLogo: type: object properties: url: type: string required: - url Err401: type: object properties: errorCode: default: UnauthorizedError type: string detail: type: string Err429: type: object properties: errorCode: default: Ratelimited type: string detail: type: string parameters: tokenInParam: name: tokenIn in: query schema: $ref: '#/components/schemas/Address' example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' required: true bridgeTokenInChainIdParam: name: tokenInChainId in: query schema: $ref: '#/components/schemas/ChainId' example: 1 required: true responses: RateLimitedErr429: description: Ratelimited content: application/json: schema: $ref: '#/components/schemas/Err429' QuoteNotFound404: description: ResourceNotFound eg. No quotes available or Gas fee/price not available content: application/json: schema: $ref: '#/components/schemas/Err404' Unauthorized401: description: UnauthorizedError eg. Account is blocked. content: application/json: schema: $ref: '#/components/schemas/Err401' BadRequest400: description: RequestValidationError, Bad Input content: application/json: schema: $ref: '#/components/schemas/Err400' GetSwappableTokensSuccess200: description: Get swappable tokens successful. content: application/json: schema: $ref: '#/components/schemas/GetSwappableTokensResponse' example: requestId: cL_1ih66iYcEJ2g= tokens: - name: USD Coin symbol: USDC address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85' chainId: 10 project: logo: url: https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602 safetyLevel: VERIFIED isSpam: false decimals: 6 - name: Bridged USDC symbol: USDC.e address: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607' chainId: 10 project: logo: url: https://coin-images.coingecko.com/coins/images/31580/large/USDC-icon.png?1696530397 safetyLevel: VERIFIED isSpam: false decimals: 6 - name: USD Coin symbol: USDC address: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359' chainId: 137 project: logo: url: https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602 safetyLevel: VERIFIED isSpam: false decimals: 6 Timeout504: description: Request duration limit reached. content: application/json: schema: $ref: '#/components/schemas/Err504' InternalErr500: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Err500' securitySchemes: apiKey: type: apiKey in: header name: x-api-key