Compliance and the limits of "non-custodial"
What this addon does and does not let you claim, the five places "we never hold user funds" stops being true, what is recorded, and the terms clauses you need to add yourself.
This page exists because the sentence "we are non-custodial" is one an operator can be tempted to say after installing this addon, and it would not be true of their platform.
What is true
For swaps made through this addon:
- The platform holds no user private keys. Nothing here mints, stores or decrypts one.
- The platform deploys no contracts. There is no Solidity in this product and no address you control sits in the transaction path.
- The transaction is signed in the user's own wallet. You construct an unsigned transaction; they broadcast it.
- User funds never touch a platform-controlled address on the swap path.
Those four are unconditional, and they are what the product is built around.
Where it stops being true
Each of these is a place where a blanket "we are non-custodial" claim becomes false. They are written out in full because an operator who repeats the claim without them is making a statement about their platform that is not accurate.
1. The rest of your platform is custodial
The same install runs custodial spot, ecosystem and futures wallets. Reading a user's wallet mints and encrypts a private key as a side effect, and the ecosystem wallet store held cleartext mnemonics until a recent release.
An operator saying "we are non-custodial" because they installed this addon is making a false statement about their platform. The accurate claim is narrower: this trading surface is non-custodial.
2. The fee is custodial
Fees accrue to an address you control. That is custody of revenue rather than of user funds — but where the fee is taken in the user's sell token and swept later, you are holding an asset that came out of a user's trade. Say so if you are describing your custody posture to a regulator or an auditor.
3. The interface is a control surface
You choose the router, the token allowlist, the default slippage and the fee. Several jurisdictions attach obligations to interface operators regardless of whether they hold funds. Not holding keys is not, on its own, an answer to that question.
4. Wallet linking is identity, not custody
A linked wallet tells you which address a user proved control of at a point in time. It does not give you control of it, and it does not by itself support a claim that you know who is trading — and any compliance claim resting on it is only supported from the release in which wallet linking was fixed. Check which release your install is on before relying on it.
5. Geographic and identity restrictions are opt-in
The geographic block list defaults to empty and identity verification defaults to off.
"We restrict by jurisdiction" is false out of the box. It becomes true when you configure it, and not before.
What is recorded
Every swap writes a durable record: the user, the wallet address, the chain, the transaction hash, both tokens and amounts, the quoted rate, the slippage setting in force, the fee charged, and the aggregator that served the route. Quote requests are retained separately and expire on their own schedule.
Wallet addresses and transaction hashes are recorded here and exist on a public ledger that cannot be edited or erased. A deletion request against your database does not — and cannot — remove them from the chain. Your privacy notice needs to say this; see the clause pack below.
Terms clauses to add yourself
This addon creates no legal pages. The clauses below are a starting point to paste into your own terms, reviewed by your own counsel. They are written from what the software actually does.
Service definition
The Swap service is an interface that fetches price quotes from third-party liquidity aggregators and constructs an unsigned blockchain transaction for you to review and sign in your own wallet. We do not execute the trade, do not act as counterparty to it, and do not hold your assets at any point in it. For this service we are not a broker, dealer, exchange, money transmitter or custodian.
Do not reuse this clause for the platform as a whole — see limit 1.
No custody, with its stated limits
We hold no private key capable of moving assets held in your connected wallet. A platform fee is collected on-chain in the same transaction as your trade and is transferred to an address we control; that fee, once collected, is ours. The custodial wallet services offered elsewhere on this platform are separate and are governed by their own terms.
No advice
Nothing in the Swap interface is investment, financial, tax or legal advice. Quoted prices are estimates supplied by third parties and are not offers. Route selection is automated and is not a recommendation.
Third-party dependencies
The service depends on third-party liquidity aggregators, blockchain nodes and wallet software. We do not control them, do not warrant their availability or accuracy, and are not liable for their failure, downtime or error.
Fee disclosure
A platform fee of {your bps} basis points is included in every quote and is disclosed on the quote, in the confirmation dialog and on the receipt before you sign. The fee is deducted on-chain as part of the transaction.
Keep this number in step with the live setting. A terms page quoting a fee you no longer charge is a disclosure problem in either direction.
Geographic restrictions
The service is not offered in restricted jurisdictions. Attempting to access it from a restricted jurisdiction, including by using a VPN, proxy or any other means of disguising your location, is a breach of these terms.
Only claim this if you have configured it. See limit 5.
Sanctions screening
We reserve the right to screen wallet addresses against sanctions and illicit-finance data sources and to refuse service on the basis of that screening.
Assumption of risk
You accept the risks inherent in on-chain trading, including: total loss of funds; smart-contract defects in protocols we do not control; oracle failure; maximal extractable value, including front-running and sandwich attacks; blockchain reorganisation, which can un-settle a transaction that has already appeared to succeed; and network congestion or fee spikes. Transactions are irreversible once broadcast and cannot be cancelled, reversed or refunded by us.
Privacy
Using the service records your wallet address and the transaction hashes of your trades. Blockchain transactions are public and permanent by design: we cannot delete or amend them, and a request to erase your personal data does not extend to data recorded on a public blockchain.
What this addon does not give you
- Sanctions or AML screening of wallet addresses. The clause above reserves the right; the software does not do it.
- Transaction monitoring or suspicious-activity reporting.
- Tax reporting for your users.
- Any legal page. You write those.