Compliance

Two layers of screening keep bad actors out of Senddy pools, onchain and offchain.

Senddy is private, not anonymous. Balances and payments are confidential from the public, not from the law. Two layers of screening keep bad actors out, so privacy stays something your users and your business can rely on.

LayerWhere it runsWhat it does
Onchain screeningIn the pool contractRejects deposits from addresses on sanctions lists
Offchain screeningIn Senddy's servicesRisk-checks activity against industry intelligence before it's processed

Onchain screening#

Every deposit is checked against a sanctions oracle by the pool contract itself, before any funds are accepted. The oracle tracks addresses on sanctions lists from the US, the EU and the UN. If the depositor is flagged, the deposit reverts with SanctionedAddress.

  • Enforced by the contract. There's no code path that skips it.
  • No offchain dependency. The oracle is a contract, so the check runs even if Senddy's services are down.
  • Verifiable. Anyone can read the oracle a pool uses from its sanctionsList() function.

Offchain screening#

Before Senddy's services attest or relay a transaction, the activity is risk-checked against industry blockchain intelligence. Activity linked to illicit sources is refused.

Because every transaction in a pool passes through attestation, this layer covers sends, swaps and withdrawals as well as deposits.

Voluntary disclosure#

Each user's keys are split in two:

  • The spend key moves funds. It never leaves the user's device.
  • The view key reads the user's history. It can't move funds.

A user can share their view key with an accountant, an auditor or a regulator to give full read access to their own history, without giving up control and without revealing anything about anyone else.

For your app#

You get both layers without building them. Your own obligations depend on your business and where you operate, so talk to your counsel about what else applies to you, such as identity checks for fiat onramps.