Appearance
Address Screening
Veilix checks the recipient of a withdrawal before it builds a proof. The check asks whether that address has been flagged as malicious. A flagged address stops the withdrawal in the client. The note is not spent.
The request goes to the risk service:
text
GET https://api3.veilixprotocol.com/address-risk?address=<recipient>&network=solanaA response with malicious: true is a hard stop in the SDK. An invalid address is also a hard stop. If the service cannot be reached, the withdrawal does not proceed, because the client treats a failed check as a failure rather than as permission.
What this check is
It is a gate on the address that will receive funds. It does not identify the depositor. It does not ask for a name, an email, or a document. It does not publish a report about the note.
It runs in the software that builds the proof: the SDK, a first-party app, or a partner integration. A custom client that skips the check can still attempt to build a proof. The shared apps and the SDK do not skip it.
Oracle quote helper
The SDK can also request a Switchboard on-demand quote for an address risk score. That job reads a score for the address, clamps it to a 0–100 range, and returns a signature-verification instruction. The program’s error list includes failed quote verification, a stale quote, a feed mismatch, and a risk score above the allowed threshold.
The deposit and withdrawal instructions in the current program do not take an oracle account. The check that every SDK withdrawal actually performs is the address-risk request above. Integrators who want the quote helper can call it. They should not describe the current withdraw instruction as if the oracle account were already an input.
What screening does not do
- It does not freeze a note already in the tree.
- It does not let an operator seize a note. Spending still requires the secret.
- It does not prove where a deposit came from. There is no separate “show the origin of this note” product in this protocol.
- It does not make the pool compliant with any particular law by itself. Operators and integrators still have their own obligations. Read Risks and Disclaimers.