Simple swap

Simple swap is a position entry, balance check, adjustment and exit workflow

Simple swap is a position-lifecycle workflow with four observable stages: one wallet transfer enters exposure, a confirmed destination balance proves delivery, a later swap adjusts size and a reverse swap delivers the exit asset. The position sits in the receiving wallet as token units on a named chain, so the balance and transaction hash define its state. Entry cost comes from the displayed conversion plus the source-network fee, while every adjustment or exit starts a separate quote.

Contents

Entry cost combines 3 amounts

Entry cost combines the displayed output, the wallet’s sending fee and the receiving network’s payout cost. Simple swap folds service pricing and the payout-side network estimate into the quoted receiving amount; it doesn’t publish a flat crypto-to-crypto percentage. The source wallet separately pays the network for the deposit transaction. Read 3 quantities before committing: the source amount, expected destination amount and native network fee. Those figures establish the position’s opening record.

Fixed and floating quotes create different entry boundaries

Fixed and floating quotes place the same wallet action inside 2 different pricing rules. A fixed quote locks the shown output for 20 minutes, provided the deposit gains at least 1 blockchain confirmation inside that window. A floating quote leaves final output to the market rate available when the provider processes the order.

The boundary differs from an on-chain decentralized exchange or a custodial trading account. A Uniswap swap on Ethereum executes through router contracts in a wallet-signed transaction; an ERC-20 input uses an allowance or Permit2 before the router spends it. Coinbase instead books the conversion against an account balance, with withdrawal creating a later chain event. With Simple swap, entry is 1 send to a per-order deposit address and receipt is a separate payout. These models expose 3 state markers: contract receipt, account ledger entry and destination-wallet balance. For this lifecycle, the last marker makes the received asset available for adjustment.

The destination network defines the entered position

Position entry becomes final only after the selected asset reaches the intended wallet on the intended chain. Simple swap asks for the receiving asset and network before it presents the deposit address. A copied EVM address isn’t enough by itself, because the same 20-byte address form appears on many chains.

Network identity

A network label binds the ticker to a specific ledger and token implementation. USDT on Ethereum uses an ERC-20 contract, USDT on TRON uses TRC-20 and USDT on Solana uses the SPL Token Program. Each version has its own transaction history and native fee asset, so the chain name belongs beside the ticker in the position record. Write the full pair as USDT on Ethereum or USDT on TRON, not as USDT alone.

EVM destinations

MetaMask and Rabby display EVM networks with identifiers used for transaction signing. Ethereum Mainnet is chain ID 1, OP Mainnet 10, BNB Smart Chain 56, Polygon PoS 137, Base 8453 and Arbitrum One 42161. The identical hexadecimal wallet address can exist on each network, yet balances remain separate. The selected chain ID therefore fixes where the entry balance will settle.

Bitcoin and Solana destinations

Bitcoin records value in unspent transaction outputs, and every ordinary transaction has at least 1 input and 1 output. Solana public keys contain 32 bytes and display as base58 strings; Phantom shows SPL token balances in token accounts tied to specific mint addresses. Neither ledger derives its destination from an EVM chain ID.

One deposit is the entry action. The balance it creates is the position measured in the next stage.

Confirmed balances turn delivery into a measurable state

A confirmed balance is the received token quantity recorded at the chosen address on the chosen network. Simple swap’s Finished status closes the service order, while the payout hash anchors the on-chain transfer. A wallet or explorer such as Etherscan, Blockscout or Solana Explorer then displays the destination balance.

Precision matters because blockchains store integers and wallets format them for people. One ETH equals 10^18 wei, and 1 gwei equals 10^9 wei. Circle’s USDC uses 6 decimal places, so a raw balance of 1,250,000 units displays as 1.25 USDC. Solana’s native SOL uses 9 decimals. Bitcoin wallets display BTC to 8 decimal places, with 100,000,000 satoshis equal to 1 BTC. Compare raw units only after applying the asset’s own decimal field; an 18-decimal token and a 6-decimal token don’t share a scale.

Wallet software can hide an ERC-20 until its contract is added. Importing the token changes the display, not the confirmed on-chain amount.

A routine adjustment is another completed swap

Position adjustment means swapping a defined slice of the received balance into a different asset. The amount starts from confirmed token units, not the earlier quote or a portfolio chart. Submit that slice as a new Simple swap order, retain the new exchange ID and wait for its payout before calculating the remainder.

Worked example. Every amount, quote and network fee below is hypothetical; token precision is fixed. An entry sends 0.5000 ETH and receives 1600 USDC, while the source wallet pays 0.0008 ETH in gas. A 25% adjustment then swaps 400 USDC for 0.1200 ETH and costs another 0.0004 ETH in gas. The wallet retains 1200 USDC, which represents 75% of the original token quantity. A later reverse quote exchanges those 1200 USDC for 0.3600 ETH with a third 0.0004 ETH gas payment. The position closes at 0 USDC; 0.4800 ETH returned and cumulative sending gas equals 0.0016 ETH.

Separate token quantity from fiat valuation when checking the adjusted position. The 25% change above removes 400 of 1600 USDC units regardless of ETH’s market value. A price chart answers how exposure is valued; the wallet ledger answers how much exposure remains. This distinction keeps a partial adjustment separate from a full exit.

A reverse swap closes quantity, not market history

A reverse swap closes the token quantity by exchanging it into the chosen exit asset. A full close sends 100% of the token, leaving 0 units after the deposit confirms and the payout arrives. An ERC-20 exit still needs ETH for Ethereum gas; Bitcoin spends UTXOs and pays its miner fee from selected inputs. The new quote governs returned quantity, so reversing the pair doesn’t recreate the original entry rate. It creates a final, independently settled wallet balance.

Transaction records reconcile the full lifecycle

A complete lifecycle record joins each Simple swap exchange ID with its deposit and payout transaction hashes. This pair distinguishes service status from blockchain settlement.

Three state changes

Entry, one adjustment and exit form 3 completed swaps. That sequence creates 3 exchange IDs, 3 deposit hashes and 3 payout hashes - 6 wallet-facing on-chain transfer records. Provider routing may add internal transactions, yet the boundary records already reconcile what left each source wallet and what reached each destination wallet.

Record the asset and network beside every hash, followed by sent amount, source-network fee, quoted output, received amount and completion time. An Ethereum ERC-20 receipt also exposes a Transfer event and gas used. Bitcoin inputs and outputs show how UTXOs funded the deposit and returned change, while Solana transaction details show token-balance deltas for the affected accounts. Matching those fields after every stage produces a continuous quantity ledger from entry through exit.


Routing and settlement finish behind the interface

Routing and settlement convert the deposit only after the source chain provides the required confirmation state. Simple swap then selects available CEX or DEX liquidity, completes the conversion and broadcasts the payout to the receiving address. The Finished state records completion of that order, while the destination ledger holds the position.

Each chain reaches that state through different machinery. An included Ethereum transaction consumes its account nonce, and the next ordinary nonce advances by 1; an ERC-20 transfer also emits a Transfer event. A Bitcoin deposit spends at least 1 UTXO and the payout creates at least 1 new output. A Solana transaction bundles one or more instructions with a recent blockhash and account references. Those mechanics explain why the service status, payout hash and spendable wallet balance appear at different moments during the same lifecycle.

SimpleSwap logo above the text Instant Cryptocurrency Exchange
Blue computer monitor with shield and orange padlock

Key questions about Simple swap

Can entry and exit use different self-custody wallets?

Yes, entry and exit can use different self-custody wallets when every destination supports the selected asset and network. The wallet holding the current position still sends the adjustment or exit deposit. Record both addresses, the chain and the exchange ID so the lifecycle remains traceable across wallets. An Ethereum address, a Bitcoin address and a Solana address describe different network contexts even when one wallet application manages all three.

Is an ERC-20 approval required for the standard Simple swap deposit?

No, the standard Simple swap flow uses a signed token transfer to an order-specific deposit address rather than an ERC-20 spending allowance. The wallet pays Ethereum gas in ETH and transfers only the entered token amount. An allowance or Permit2 signature belongs to contract-based decentralized exchange routing, such as a Uniswap swap. Wallet integrations may package actions differently, so the transaction preview remains the authoritative description of the action being signed.

Why does portfolio value move while the token balance stays unchanged?

Portfolio value moves because market prices change while the blockchain continues storing the same number of token units. A wallet holding 1200 USDC still reports 1200 token units until a transfer, mint, burn or protocol action changes that balance. Its value against ETH or BTC moves with the selected price pair. For lifecycle accounting, use confirmed units to measure position size and a time-stamped quote to measure valuation.

When should a later swap be recorded as a new position?

Record a later swap as a new position when its asset, network or measurement objective differs from the exposure already tracked. Moving USDC from Ethereum to native USDC on Base changes the chain even if the ticker stays USDC. Exchanging part of the same Ethereum balance into ETH is an adjustment to the original lifecycle. This classification is an accounting choice, but consistent addresses, chain IDs and transaction hashes keep the record auditable.

Are memos or destination tags part of the position record?

Yes, a memo or destination tag belongs in the position record whenever the receiving service requires that field. XRP Ledger payments support a 32-bit destination tag, while Stellar transfers support memos to identify an account or purpose behind a shared receiving address. The address alone then doesn’t fully describe delivery. Save the extra identifier with the exchange ID and transaction hash, because the chain records it separately from the transferred token quantity.