Sushiswap

Sushiswap is a Swap Interface for Approval and Balance Checks

Sushiswap is a swap interface that reads the connected wallet’s token balance and ERC-20 allowance, builds an available route and shows the trade for review before the wallet signs. The screen separates connection, network selection, approval, quote review and execution, so each prompt corresponds to a distinct on-chain or read-only action.

Table of contents

This field manual follows one same-chain EVM swap from setup through receipt verification. It focuses on the decisions visible in the interface and the state changes produced by confirmation rather than the protocol’s broader product set.

An ERC-20 input with insufficient allowance requires two transactions, while a native-coin input uses one swap transaction.

The Go-or-No-Go Review Before Entering an Amount

A Sushiswap swap is ready only when the selected chain, token contract, balance, allowance and gas reserve all align. The interface tests these conditions in sequence, and each failed condition changes the next available button. A missing gas reserve stops even a fully funded token balance from becoming executable.

Network identity settles the first decision. Ethereum mainnet uses chain ID 1, OP Mainnet uses 10, BNB Smart Chain uses 56 and Gnosis uses 100. Polygon PoS uses 137, Base uses 8453, Arbitrum One uses 42161 and Avalanche C-Chain uses 43114. Those identifiers are not counts or prices; each fixes the signing domain. The input token contract and wallet balance must exist on that exact chain. A visible token symbol therefore never substitutes for the selected network and contract pair. The interface reads only the connected account, so assets held by another address never enter this decision.

Use this five-point decision checklist before proceeding:

  • The selected chain matches the network holding the input token.
  • The token contract matches the asset intended for sale.
  • The entered amount stays within the displayed token balance.
  • The wallet holds the chain’s native coin for gas.
  • The quote names the intended output token and recipient.

When all five conditions remain true, the interface can move from account reads to approval or trade review.

Connecting the Wallet and Locking the Network

Wallet connection lets the Sushiswap interface read one account and the active EVM chain without moving assets. MetaMask, Rabby and WalletConnect expose an address after the account-access request is accepted. The interface can then request public balances, allowances and chain state through the provider.

Connection itself is neither a token approval nor a swap transaction.

EIP-1193 standardizes an Ethereum provider around 1 request method and 5 events: connect, disconnect, chainChanged, accountsChanged and message. The interface listens for chain and account changes because either one invalidates the displayed balances. An EVM account is 20 bytes, displayed as 40 hexadecimal characters after the 0x prefix, or 42 characters in total. Match the shortened address in the page header with the selected wallet account before entering an amount. That single comparison prevents a quote from being built against an unintended account.

Sushi logo and Swap Anything text amid colorful floating coin symbols

How Does Sushiswap Check the Spendable Balance?

Sushiswap checks the input token contract’s balance for the connected account before enabling approval or swap review. An ERC-20 balanceOf read takes 1 owner address and returns an unsigned 256-bit value, while a native-coin balance comes from the network account state. Each quote uses the latest returned value for that chain.

Token decimals convert that integer into the number displayed on screen. Ethereum USDC uses 6 decimals, so 1 USDC equals 1,000,000 base units. WETH uses 18 decimals, making 1 WETH equal to 1,000,000,000,000,000,000 base units. The read itself is performed without submitting a paid transaction. For an ERC-20 input, the displayed balance forms the amount ceiling. For native ETH, the entered amount must leave enough ETH for the wallet’s gas estimate. Approval does not increase this ceiling because permission and ownership are separate state values.


Approval as a Separate On-Chain Permission

An ERC-20 approval lets the route contract spend a defined token amount from the connected account during execution. The interface compares the current allowance with the entered input amount and shows an approval action when the allowance is too low.

ERC-20 defines approval with 2 inputs - a spender address and a uint256 amount - and records successful changes through the Approval event. The related allowance read uses 2 addresses, owner and spender, to return the remaining permission. The amount is stored in the token contract as a uint256 allowance. One successful approve call replaces the earlier value for that owner-spender pair under the base standard. Approval changes that permission without transferring the token balance.

A first swap with an unapproved ERC-20 therefore involves 2 on-chain transactions: approval first and swap second. Native coins require 0 ERC-20 approvals, while an adequate existing allowance removes the fresh approval step. Read the spender and amount in the wallet prompt because those values define the permission being granted. If approval is still pending, the swap check remains blocked until the receipt is available and the allowance read updates.


Reading the Quote Before Confirmation

The Sushiswap quote turns the chosen amount into a reviewable output, route and transaction estimate before signing begins. A valid quote requires 2 different assets, an input above 0 and an executable path with nonzero output. A zero-output or no-route result keeps confirmation disabled.

The review dialog presents the input and estimated output, exchange rate, price impact, minimum received, network fee estimate and recipient. Minimum received is the enforceable output floor derived from the selected tolerance; it is distinct from the estimated output. The route identifies the liquidity path the aggregator selected for the entered amount. Expanding route details separates venue selection from the amount the recipient is promised. Quotes refresh when pool state, gas conditions or the input changes. Re-read the final output and recipient after any refresh because the wallet signs the newly prepared transaction, not the earlier screen.


Route Choice and the Amount the Wallet Will Sign

Route selection determines the contract call the Sushiswap interface prepares, including the router address and encoded execution data. A Route Processor path may use 1 direct pool, several sequential hops or a split across multiple pools.

The wallet transaction points to one 20-byte router address; the route sits inside its calldata. Under the Ethereum ABI, the first 4 bytes select the contract function and encoded arguments occupy 32-byte words. Those arguments bind the input amount, output floor and recipient to that submission.

Changing the token pair, amount, chain or recipient invalidates the prior quote and produces different calldata. The decision at this stage is whether the displayed terms match the intended trade.


What Changes After the Wallet Confirms?

A Sushiswap swap broadcasts one transaction whose successful execution updates token balances and route contract state atomically. For an ERC-20 input, the route contract uses the granted allowance to transfer the entered amount and execute each quoted leg. No intermediary balance change is final before the whole call succeeds.

Successful execution sends the output to the recipient and records logs in the transaction receipt.

The input balance falls, the output balance rises and pool state changes along the executed path. If any leg cannot satisfy the encoded output floor, all swap state changes revert as one unit, although the network still charges gas for execution work. An EVM receipt reports status 1 for success and 0 for failure. The earlier approval remains a separate transaction with its own receipt. The receipt logs preserve the actual token amounts even when the interface view has already reset. Completion is therefore established by the swap receipt and the recipient’s updated on-chain balance.

Receipt Verification With a Block Explorer

Receipt verification proves whether the Sushiswap transaction entered a block and what the chain actually recorded. Open the transaction from the confirmation screen, then match its status, network, sender, router address and block number. A pending hash has no final receipt yet.

An EVM transaction hash is 32 bytes, rendered as 64 hexadecimal digits after the 0x prefix. That identifier retrieves a receipt through an explorer such as Etherscan, Arbiscan, BaseScan, PolygonScan or BscScan. The receipt includes gas used, effective gas price and event logs. An ERC-20 Transfer event carries 3 values: the sender, recipient and amount, with the 2 addresses indexed. Where a route crosses several pools, the log sequence exposes intermediate transfers without changing the recipient check. For an ERC-20 output, compare the output Transfer log with the intended recipient and token contract. A successful interface message without a receipt is still pending; the receipt is the durable execution record.

Recovering From a Wallet Network Mismatch

A network mismatch means the wallet’s active chain differs from the chain selected inside the Sushiswap swap screen. The network guard blocks approval and confirmation because an EIP-155 signature belongs to one chain ID.

Accept the wallet’s switch request, then wait until both network labels agree before rebuilding the quote.

If the requested network is absent, add it through the wallet using its exact chain ID and native currency symbol, then return to the swap screen. A switch from Base chain ID 8453 to Ethereum chain ID 1 changes the signing domain; it does not move tokens between networks. EIP-1193 emits chainChanged after the provider changes chains, prompting the interface to reload balances and allowance. Re-select the token contract and amount after that event. The approval or swap button becomes available when account data has refreshed on the selected chain.


Native Tokens, Wrapped Tokens and Approval Boundaries

Native ETH and ERC-20 WETH follow different approval paths even when their market values track the same asset. ETH uses account value and requires 0 allowances; WETH uses ERC-20 balance and allowance reads. That distinction decides whether the checker queries allowance at all.

Both represent amounts with 18 decimal places, so 1 ETH equals 10 18 wei and 1 WETH equals 10 18 token units. The interface labels a direct conversion between them as Wrap or Unwrap. Gas assets also change by network: ETH pays gas on Ethereum, Base, Arbitrum One and OP Mainnet, BNB pays on BNB Smart Chain, POL pays on Polygon PoS and AVAX pays on Avalanche C-Chain. The selected input type therefore determines whether an approval prompt belongs in the workflow.


A Repeatable Review Sequence for Later Swaps

A repeatable Sushiswap review keeps four records aligned: network, token contract, wallet prompt and transaction receipt. Start with the chain and account, select tokens by contract, enter an amount within balance and preserve native gas. Keep the selected address unchanged through this pass.

Next, treat approval as its own permission change and wait for its receipt before opening the refreshed trade review. Compare estimated output, minimum received, route, recipient and network fee estimate. Confirm only the transaction matching those terms, then retain its 32-byte hash until status 1 appears. If the interface resets after broadcast, the saved hash reconnects the off-chain review with the on-chain outcome. Finally, compare the output Transfer log or native balance change and recipient balance with the review. This sequence links every interface decision to a specific read, signature or on-chain record.

Before you start with Sushiswap

Does Rejecting the Wallet Request Submit Any Part of the Swap?

Rejecting the final wallet request prevents the swap transaction from being signed or broadcast. The quote remains a read-only interface result and no swap state changes occur. A previously confirmed approval is different because it was a separate transaction; rejecting the later swap does not reverse that allowance. Reopen the review, confirm the displayed amount and recipient again and expect the interface to refresh any quote whose route changed.

Which Address Receives Tokens When the Recipient Field Is Left Unchanged?

The connected wallet account receives the output when no separate recipient is entered. The review dialog should show that same 20-byte address, normally shortened for display, before confirmation. If the recipient field is edited, the router sends output to the replacement address encoded in the transaction. Switching wallet accounts can reset the relevant balances and quote, so match the header account, recipient and wallet confirmation before signing the contract call. The approval still belongs to the input-token owner and router.

Why Is the Output Token Missing From the Wallet After a Successful Receipt?

A successful receipt proves the token transfer even when the wallet does not display that token yet. Check the receipt’s output Transfer event, confirm the token contract and recipient and select the same network in the wallet. Then import or enable that contract in the wallet’s token display. A symbol alone is insufficient because contracts with the same ticker can exist on several EVM networks with separate balances.

Why Does the Wallet Show a Different Gas Figure Than the Review Screen?

The wallet recalculates gas from the prepared transaction and its own network data, so its figure may differ from the earlier interface estimate. The review screen quotes network cost before the final signing request, while the wallet applies a gas limit and fee parameters at that moment. On EIP-1559 networks, the request separates a maximum fee from a priority fee. Compare the chain and transaction value first; the confirmed receipt later records gas used and the effective gas price actually applied.

Do Hardware Wallets Show Every Hop in a Sushiswap Route?

Hardware wallets identify the destination router, transferred value and contract data rather than every pool hop. Display quality varies by device, wallet software and transaction decoding support. The Sushiswap review dialog is therefore where the route, output and recipient are easiest to inspect. On the device, match the account, chain, router interaction and value. A blind contract-data screen offers less context, so return to the interface review before signing.

Whose Token Allowance Does a Safe Multisignature Swap Read?

The allowance belongs to the connected Safe smart-account address, not to an individual signer. Sushiswap reads the input token balance and owner-spender allowance for that connected account. The Safe’s signature threshold then controls whether its transaction reaches execution. Individual owners do not need matching token balances or allowances for the swap. After execution, verify the Safe address as sender in the receipt and the configured recipient in the output Transfer event before reconciling the new balances on the selected chain.