LLMs.txt: agent-readable Markdown index of this site at /llms.txt
POSTCheck swap approvals

Check swap approvals

Allows the requestor to check if the walletAddress has the required approval to transact the token up to the amount specified. If the walletAddress does not have the required approval, the response will include a transaction to approve the token spend. If the walletAddress has the required approval, the response will return the approval with a null value. If the parameter includeGasInfo is set to true and an approval is needed, then the response will include both the transaction and the gas fee for the approval transaction.

Certain tokens may require that approval be reset before approving a new spend amount. If this condition is detected for the walletAddress and token, the response will include the necessary approval cancellation in the cancel paragraph. When cancel is not applicable, the paragraph will have a null value.

npx skills add uniswap/uniswap-ai --skill swap-integration

Full swap flow integration for apps. Works with Claude Code, Cursor, and other AI coding tools.

Authorization

x-api-keystringrequiredheader
Playground key
You're using a shared playground keyCreate a free account and get your own API keys from the dashboard.
Get your keys

Headers

x-permit2-disabledbooleandefault:false

Disables the Permit2 approval flow. When set to true, permitData is returned as null and the header is forwarded to the routing layer for correct gas simulation against the Proxy Universal Router contract. When false or omitted, the standard Permit2 approval flow is used. This header is intended for integrators whose infrastructure uses a direct approval-then-swap pattern without Permit2.

x-agent-infostring

Optional attribution hint for AI-agent traffic; send it if an AI agent built or operates your integration. The value is a JSON object with up to three fields: decision_origin (required, exactly autonomous or human_mediated, case-sensitive), integration_name (optional string naming your integration, e.g. my-trading-bot), and version (optional string identifying your integration's version). Any other key is dropped, never rejected. The raw value must be at most 1024 bytes of printable US-ASCII (0x20-0x7E), so send non-ASCII text as JSON \u escapes; integration_name and version are each limited to 256 UTF-16 code units and may not contain control characters, U+2028, U+2029, or U+FFFD. Send the header once: repeated header lines are joined with , and the joined string is what gets parsed, so two complete objects fail as invalid JSON while a single object split across two lines still parses. The header is analytics-only and never affects the request: omitting it, sending it, or sending a value that fails these rules never changes the response status, body, or swap behavior. A value that fails to parse is dropped and reported by the x-agent-info-status response header. Never put a user ID, wallet address, email, session token, or API key in these fields.

Body

application/json
walletAddressstringrequired

The wallet address which will be used to send the token.

tokenstringrequired

The token which will be sent, specified by its token address. For a list of supported tokens, see the FAQ.

amountstringrequired

The quantity of tokens denominated in the token's base units. (For example, for an ERC20 token one token is 1x10^18 base units. For one USDC token one token is 1x10^6 base units.) This value must be greater than 0.

chainIdenumrequireddefault:1
1105613013714319632448018684217432646635042845310143421614222043114570735914481457777777713018453211155111

The unique ID of the blockchain. For a list of supported chains see the FAQ.

includeGasInfobooleandefault:false

If set to true, the response will include the estimated gas fee for the proposed transaction.

tokenOutstring

The token which will be received, specified by its token address. For a list of supported tokens, see the FAQ.

tokenOutChainIdenumdefault:1
1105613013714319632448018684217432646635042845310143421614222043114570735914481457777777713018453211155111

The unique ID of the blockchain. For a list of supported chains see the FAQ.

Response

Check approval successful.

requestIdstringrequired

A unique ID for the request.

approvalobjectrequired
cancelobjectrequired
gasFeestring

The total estimated gas cost of this transaction (eg. gasLimit multiplied by maxFeePerGas) in the base unit of the chain.

cancelGasFeestring

The total estimated gas cost of this transaction (eg. gasLimit multiplied by maxFeePerGas) in the base unit of the chain.