DEV Community

Keshav Sharma
Keshav Sharma

Posted on Originally published at settlematic.com

A sweep is not settlement. It is the vendor taking the money first

“Non-custodial sweep” is a phrase that should make you close the tab. A sweep means an address the vendor controls, then a transaction that empties it. The empty is not a gift to you. It is them exercising control.

What people mean

  1. Custodial sweep: deposit wallet → vendor hot wallet → your payout. Classic.
  2. “Forwarding” contracts: CREATE2 or a small proxy that, on a call, sends tokens to a recipient. If anyone can call it, and the recipient is immutable at deploy, you might have a pull pattern, not a sweep-of-custody. If the vendor can change the recipient, you do not.
  3. User-signed sweep: you hold the key; software helps you consolidate UTXOs. That is a wallet feature. The vendor never could have taken the funds.

Only (3) is non-custodial in the boring sense. (2) depends on whether the bytecode and init args freeze the destination. If the vendor’s backend is the only party that can trigger and they can retarget, that is a delayed custodian.

Bitcoin

BIP-84 invoice addresses that land in your xpub are not swept by us. You already own the UTXO. A vendor who gives you an address from their xpub and later batches to you is sweeping.

EVM

CREATE2 with a fixed payee in salt/init is closer to a named destination. A factory that deploys a wallet the vendor’s relayer drains is a sweep, even if they call it “gas abstraction.”

Solana

A PDA the program can only send to a destination baked into seeds is not a vendor hot wallet. A PDA the upgrade authority can rewrite is a trust-me program. Ask what is upgradeable.

Settlematic’s model is address bound at issuance, watch-only confirmation, no vendor sweep of client funds. If we ever need a user-side consolidate, that is your key, not ours.

Canonical: non-custodial sweeps explained. settlematic.com

Top comments (0)