SmallSwap SmallSwap

Self-custody wallets

What counts, what doesn't, and why it matters.

The short version

You — and only you — must hold the private key for the address that receives your swap output. If anyone else holds that key, or if the address requires their permission to spend, the swap may fail in ways that we cannot recover for you.

Will result in loss of funds

  • Centralized exchange deposit addresses. Coinbase, Binance, Kraken, Bybit, OKX, etc. The exchange may freeze the deposit, classify the source as risky, or simply never credit your account. We cannot help — once funds land at the exchange, the swap is complete from our side and the exchange owns the dispute.
  • Smart-contract wallets. Safe / Gnosis, Argent, ZeroDev, and any other contract-based wallet. Many chains have edge cases (token-receive callbacks, gas limits, multisig confirmations) that can leave funds stranded.
  • Delegated / relay-controlled addresses. Anything where a third party signs on your behalf.
  • EIP-7702 wallets. Account-abstraction on EOAs is new and has unpredictable failure modes for swap-style fund flow.

Safe — examples

  • Monero CLI / Monero GUI / Cake Wallet / Feather (XMR)
  • Bitcoin Core / Sparrow / BlueWallet / Electrum (BTC)
  • MetaMask EOA / Trust Wallet / Rabby — used as plain externally-owned accounts, no AA features
  • Hardware wallets (Ledger, Trezor, Coldcard, etc.) used in their default EOA mode

Refund vs receiving

Both addresses must be self-custody. The refund address is where funds return if a swap can't complete — same rules apply. Sending a refund to an exchange would put us in the same dispute as sending a payout there.

If you're unsure

Don't proceed. Ask in the project's support channel before you send a deposit. We cannot recover funds sent to an unsupported address type.