← All posts

Non-custodial vs custodial swap: what actually differs for you

3 min readSwapToZec

"Non-custodial" is one of the most abused labels in crypto. It gets slapped on services that are custodial for parts of the flow you don't see. This post cuts through it: what the label should mean, what it means at SwapToZec, and what the actual practical difference is when your money is moving.

The strict definition

A service is non-custodial if, at every point in the flow, the assets are under a key you control. In the strictest reading, that rules out any service that ever takes possession — even briefly — of the funds you're swapping.

By that reading, almost no cross-chain swap is fully non-custodial. Cross-chain by definition requires someone to receive on chain A and send on chain B. The someone is the swap.

The useful definition

A more honest reading: a service is non-custodial to the degree that it never has more power over your funds than the swap it's already performing. Concretely:

  • It can't spend your source funds anywhere except the destination you specified, or back to you as a refund.
  • It doesn't have the keys to accounts you didn't explicitly create.
  • It doesn't demand you deposit funds before you've told it what to do with them.

Under this reading, a well-designed swap can be described as non-custodial for practical purposes. A custodial exchange — where you deposit first, trade later, withdraw whenever — cannot.

What SwapToZec does

  • Deposit side: for BTC, LTC, and BCH (the pairs we run in-house), we use a watch-only wallet on the source chain. The web app has zero spending capability on that wallet — it can only see incoming transactions.
  • Payout side: ZEC payouts are released by an operator from a separate wallet in a separate signing environment. That environment is not reachable from the internet-facing app.
  • Refund side: when a refund is warranted (underpayment, overpayment, expired quote), the operator sends from that same operator wallet to the refund address you gave at swap time.

That means: if someone hacked the web app tomorrow, they could not spend your deposits. They could see them, they could see your ZEC destination address, they could disrupt operations — but they could not move funds.

What that trade-off costs

Manual payouts are slower than fully automated ones. The typical delay between your deposit confirming and your ZEC arriving is a few minutes; occasionally longer during off-hours. This is a deliberate design choice, not a limitation we're working around.

What a truly custodial exchange gives you instead

Custodial exchanges — the Binance / Coinbase kind — pool everyone's funds into hot and cold wallets they control. In exchange, you get: near-instant swaps, better liquidity, and much bigger trade sizes. You give up: sole control of your funds, freedom from KYC, and the assumption that no exchange failure will affect you.

Neither model is universally better. If you want to swap 100 ZEC every few days, an exchange makes sense. If you want to swap 0.5 BTC to ZEC once and never see us again, a non-custodial swap makes sense.

The tl;dr

Non-custodial doesn't mean magic. It means the service can't do things you didn't already ask it to do. SwapToZec is non-custodial by that definition, and the /trust page walks through the specific custody model in more detail.

Related