-
Notifications
You must be signed in to change notification settings - Fork 14
Add wallet screening overview page #429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
maxbayuk
wants to merge
1
commit into
relayprotocol:main
Choose a base branch
from
maxbayuk:docs/wallet-screening-overview
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| title: "Wallet Screening" | ||
| description: "Learn how Relay screens wallet addresses for sanctions and illicit activity across every flow." | ||
| --- | ||
|
|
||
| Relay screens every transaction for sanctioned and high-risk wallet addresses. This page covers which flows are screened, which sources are used, what happens on a match, and how to request evidence of a screen. | ||
|
|
||
| ## Which flows are screened | ||
|
|
||
| Screening applies uniformly across all Relay flows — bridges, swaps, and deposit-address transactions — whether initiated via the API, SDK, or Relay-hosted UI. There are no unscreened flows. | ||
|
|
||
| For every transaction, all addresses involved are screened: | ||
|
|
||
| - The depositor (the wallet sending funds) | ||
| - The recipient (the wallet receiving funds on the destination chain) | ||
| - The refund address (`refundTo`), if one is specified | ||
| - The recovery address (`recoveryAddress`), if one is specified | ||
| - Any fee recipient addresses | ||
|
|
||
| Screening is performed both at quote time and again at fill time, before funds are forwarded to the destination. | ||
|
|
||
| ## Which lists are screened against | ||
|
|
||
| Every address is screened against four sources in parallel: | ||
|
|
||
| - **TRM Labs** | ||
| - **Chainalysis** | ||
| - **ZeroShadow** | ||
| - **Relay's internal blocklist** | ||
|
|
||
| A wallet is blocked if any source flags it. Compliance operators can additionally apply a manual ALLOW or BLOCK override with a documented reason. | ||
|
|
||
| ## What happens when there's a match | ||
|
|
||
| - If any address is blocked at **quote time**, the quote fails and a `400` error is returned. | ||
| - If any address is blocked at **fill time**, the fill is aborted and funds remain in the protocol. Funds can be withdrawn by the depositor address. | ||
|
|
||
| ## Evidence of screening | ||
|
|
||
| Screening results are persisted on Relay's side (TRM results are retained for 6 months). Each screening result records the verdict from every source individually, so a record can show which list (if any) triggered a block for a given address. | ||
|
|
||
| If a partner requires evidence of a specific screen, Relay can provide the screening record for the relevant address(es) on request through your support channel. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This page presents TRM Labs, Chainalysis, ZeroShadow, and the internal blocklist as the sources used for every address, but the existing Compliance page identifies HackBounty, Chainalysis, and the internal blocklist for the same transaction-screening function. Partners therefore cannot determine which providers actually participate in production screening. Confirm the authoritative provider set and make both pages consistent, or explicitly explain why the lists cover distinct workflows.
Artifacts
Provider-list validation source
Provider-list validation before the Wallet Screening page
Provider-list validation after the Wallet Screening page was added
Documentation rendering attempt blocked by schema validation