Uniswap

Uniswap Token Compatibility, Swap Limits, and Onchain Checks

Uniswap lets a wallet swap compatible tokens against liquidity pools and supply assets to those pools without handing custody to a centralized exchange. A sound transaction starts with the correct network and token contract, continues through quote and permission checks, and ends only when the blockchain records the intended output.

Updated

Key takeaway: The contract address, available liquidity, minimum received amount, and transaction receipt reveal whether a proposed swap can produce the intended token.

Networks and Token Contracts Set Compatibility

Compatibility begins with a match between the selected network, the wallet balance, and a usable pool. Each network has separate contracts and balances, even when an asset displays the same name. Support in a particular web or wallet interface may also differ from protocol deployments, so visible availability and onchain availability are related but separate conditions.

A token contract address identifies the asset more reliably than its name, logo, or ticker. Different contracts can use identical display information, and a familiar symbol does not establish which token the wallet will receive. Check the contract address together with the network before granting spending authority through an approval or signature.

Pool existence supplies a possible market, not a quality certificate. Permissionless pool creation allows unfamiliar or malicious tokens to acquire liquidity, while token warnings may flag known problems without covering every contract. Available liquidity, supported transfer behavior, and the contract itself still determine whether the route can execute as quoted.

Native network assets need separate handling because they are not always represented by the fungible-token standard used inside a pool. A route may wrap the native asset during execution and unwrap it at the end. The quoted route should reveal that conversion when the selected protocol version requires it.

Liquidity and Quote Limits Define the Executable Amount

Executable size is constrained by pool liquidity rather than a universal protocol maximum. A larger order removes more of the desired asset from available liquidity, shifting the pool price during execution. In Uniswap v2 pools, the constant-product relationship between the two reserves explains why progressively larger trades encounter increasing price impact.

Price impact is the price change caused directly by the trade against available pool liquidity. Slippage is different: it is the difference between the quoted outcome and the actual outcome when the swap executes. The initial quote already reflects estimated price impact for the proposed size.

For a standard exact-input swap, the maximum slippage setting creates a minimum received amount. If execution would return less than that minimum, the transaction should revert instead of accepting the lower output. A wide tolerance increases the range of acceptable outcomes, but it does not repair a harmful token contract or make a poor quoted price favorable.

A swap deadline limits how long a pending request may remain executable. A standard onchain swap also needs enough of the network token for processing costs, and spending the full native-token balance may leave nothing for that cost. The practical amount changes whenever liquidity, network demand, token transfer rules, or the quote changes.

Approvals Separate Permission From Execution

An approval authorizes a contract to transfer a token from the wallet; it does not perform the swap. This distinction matters when transaction history shows a successful approval but no output token. The swap still requires its own confirmation, execution, and successful receipt.

Token Access

Token access usually has an onchain allowance layer and may also have a signed-permission layer. The wallet request should identify the token, authorized spender, amount, and expiration where applicable. Those fields define the commitment more precisely than the button label displayed by an interface.

Onchain Allowance

An onchain allowance records how much of an ERC-20 token a contract may transfer. Exact allowances limit the accessible amount but may require another approval for a later swap. Larger allowances reduce repeated approvals while leaving more authority active until the holder changes or revokes it.

Permit2 Signature

A Permit2 signature can grant a protocol limited permission after the token has an onchain allowance to the Permit2 contract. Signing the permission does not itself require a network transaction, although establishing or changing the underlying allowance does. The signed amount, spender, and validity period remain material checks.

Final Wallet Authorization

The final wallet confirmation authorizes the reviewed action, either by submitting a standard swap or by signing an order for a filler. Its network, input amount, recipient address, and minimum output should agree with the reviewed quote. If the wallet shows a different network or unexpected permission, stopping before confirmation preserves the option to inspect the request without changing onchain state.

A Worked Swap From Request to Receipt

The figures below are entirely hypothetical, including the assets, network, balances, quote, tolerance, route, and final output. A wallet holds 0.703 ETH on Ethereum and requests a 0.693 ETH swap into USDC. The quote shows 2,137.40 USDC with 0.8% maximum slippage, producing a minimum of 2,120.3008 USDC.

  1. Before granting permission or submitting the swap, the wallet owner verifies the input, output, network, and intended USDC contract rather than relying on its ticker.
  2. Before submission, the owner confirms that the 0.693 ETH input leaves a 0.010 ETH reserve for the estimated network cost. If the wallet estimate exceeded that reserve, the owner would reduce the input or stop before submission.
  3. The wallet shows the reviewed input and minimum output. The owner confirms the request. In this hypothetical case, the route returns more than the minimum, and the transaction succeeds.
  4. The receipt records success and a transfer of 2,126.58 USDC, which exceeds the minimum. The output balance and transfer record show that the wallet received the tokens. If the receipt showed failure, the owner would need a fresh quote before retrying.

Routing and Protocol Versions Shape the Quote

Routing determines which pools connect the input token to the output token. A direct route uses one pool, while a multihop route passes through an intermediate asset. A split route divides the input across pools when that combination produces a better effective outcome after pool fees and network costs.

Uniswap v2 uses full-range paired reserves, while later designs give liquidity providers more control over how capital serves trades. Uniswap v3 introduced concentrated liquidity, allowing providers to allocate liquidity within selected price ranges.

Uniswap v4 retains concentrated liquidity and permits hooks that customize pool behavior at defined points around swaps or liquidity changes. A hook may alter fee logic, liquidity handling, or execution behavior. Its code and warnings therefore matter whenever the selected route uses a hooked pool.

Some interface swaps may use UniswapX instead of submitting a standard pool route directly from the wallet. With UniswapX, the wallet signs an order that competing fillers may execute, but the order can remain unfilled. The order’s displayed minimum output applies instead of the standard-swap slippage setting. Its completion evidence is the eventual fill transaction, not the signature by itself.

Liquidity Provision Changes the Commitment

Liquidity provision changes the wallet holder from a swapper into a pool participant. Deposited assets support trades and may earn pool fees, but their composition and value can change as prices move. Uniswap v3 and v4 positions may stop earning fees when market price leaves the selected range, while v2 liquidity remains distributed across the full price curve. Uniswap v3 and v4 providers can collect fees without removing liquidity, while v2 providers receive accumulated fees when they remove liquidity.

Liquidity Provision Changes the Commitment: Liquidity provision changes the wallet holder from a swapper into a pool participant.; Deposited assets support trades and may earn pool fees, but their composition and value can change as prices move.; Uniswap v3 and v4 positions may stop earning fees when market price leaves the selected range, while v2 liquidity remains distributed across the full price curve.; Uniswap v3 and v4 providers can collect fees without removing liquidity, while v2 providers receive accumulated fees when they remove liquidity.

View image file

Onchain Evidence Confirms the Result

A swap result is confirmed by blockchain state, not solely by a browser message or refreshed wallet screen. The transaction hash connects the request to its receipt, execution status, token transfers, and network. These records distinguish a pending request from a successful swap or a reverted transaction.

Approval and Swap Receipt Status

Receipt status answers whether the submitted transaction executed successfully. A successful approval receipt proves only that permission changed. A successful swap receipt proves execution, while the associated transfer records show which assets moved and where. A reverted swap does not complete the intended exchange, even if the interface previously displayed a valid quote.

Balance and Transfer Reconciliation

Balance reconciliation compares the output-token transfer with the wallet address and expected network. A successful transfer may be absent from the visible asset list when the wallet hides the token, lacks its metadata, or displays another network. Adding the verified token contract to the wallet can correct display without altering blockchain state.

The swap did not produce the expected result if the receipt or transfer record identifies a different token contract, network, or destination. In that case, a familiar ticker or interface balance cannot substitute for the actual transfer record.

Useful questions about Uniswap

Is Uniswap a Protocol, an App, or a Wallet?

Uniswap primarily names a decentralized trading protocol made of smart contracts, while Uniswap Labs develops products that interact with it. Those products include a web interface, mobile wallet, and browser extension. Other applications can also connect to protocol deployments. The distinction matters because interface availability, wallet features, and protocol-level pool access do not always cover the same networks or tokens.

Why Can a Token Be Bought but Not Sold?

A token contract may restrict outgoing transfers, charge a large sell fee, alter balances, or use transfer behavior that a router cannot process. Shallow liquidity can also make a sale fail or produce an unacceptable quote. Increasing slippage only widens the permitted price movement; it does not remove contract restrictions. A predicted failure therefore calls for examining the token behavior and route instead of repeatedly raising tolerance.

Does a Failed Swap Still Consume a Network Fee?

A submitted onchain transaction can consume a network fee even when it reverts because the network still processes it. A simulation rejected before submission does not create that transaction. An unfilled UniswapX order generally differs because signing and broadcasting the order may not incur a network cost, although earlier approval or wrapping transactions can still have their own costs. Transaction history separates those actions.

How Long Does a Standard Swap Remain Valid?

The Uniswap interface assigns a deadline to each standard swap rather than leaving it executable indefinitely. Its default deadline is 30 minutes, and the interface permits a setting from one minute to three days for the current swap. A short deadline raises the chance of expiry during congestion, while a long deadline leaves more time for market conditions to move before execution.

Why Does ETH Sometimes Appear as WETH in the Route?

ETH predates the ERC-20 standard, so some protocol routes wrap it as WETH, an ERC-20 representation that pools can process. The swap can still begin or end with ETH because wrapping and unwrapping may occur within the route. Uniswap v4 can handle native ETH without requiring WETH, while UniswapX requires native network tokens to be wrapped before the order is signed.

Can a Confirmed Uniswap Swap Be Reversed?

A confirmed swap has no built-in undo operation. The holder can submit another swap for the received token, but that is a new transaction with a new quote, pool fee, price impact, and network cost. A pending transaction may sometimes be replaced or cancelled before inclusion, depending on the wallet and network state. Once it is confirmed, it cannot be replaced or cancelled.