/screen - Check AML compliance
Last updated
Last updated
Method: POST
URL: https://api.swapkit.dev/screen
The /screen
endpoint is used to check the Anti-Money Laundering (AML) compliance status of cryptocurrency addresses. It evaluates the risk level of the provided addresses across different blockchain networks using external compliance providers.
The endpoint does not make decisions on whether a trade should proceed or be rejected. Instead, it provides a compliance confirmation that integrators can use to determine whether to allow transactions but any addresses that were previously identified as non-compliant will not receive quotes.
We periodically update our own database of blacklisted addresses sourced from trusted providers, and any /quote
request that involves them will get an error response. Despite that, you can choose to screen addresses after a quote to see if their status has changed.
The request body should be a JSON object containing:
"addresses"
: A single address (string) or multiple addresses (array of strings).
"chains"
: The blockchain chain ID relevant to each address. You can , where we listed them before. They are standard identification for each chain.
The response contains a boolean field named "isRisky"
that indicates whether the provided addresses are flagged for anti-money laundering (AML) concerns.
If the value is "isRisky": false
, the addresses have passed the compliance check.
If the value is "isRisky": true
, at least one of the addresses has been flagged for AML concerns.
The response includes other parameters that internally help provide the source of the flag, but "isRisky"
aggregates them.
Screening criteria:
The endpoint evaluates all addresses together and returns a single decision.
Even if one address is compliant, if any other address in the request is flagged the entire request may receive a true
response.
Dynamic compliance checking:
Passing a compliance check at one point does not guarantee future compliance.
If an address was screened while it had no funds, it should be re-screened after receiving funds, as they may originate from tainted sources.
Decision responsibility:
SwapKit does not make the final decision on whether a trade is executed.
The integrator using this API is responsible for enforcing compliance policies based on the response.
This endpoint is not meant to be called on every /quote
. Instead, you should only screen the addresses involved when the user has indicated intent to swap, before they sign the transaction.
All addresses involved in the trade should be included in the request, and they should be re-checked if a new trade is offered or if the balances of the addresses have changed since they last passed AML compliance.
Here is an example request: