Cryptocurrency wallet screening

Check cryptocurrency wallet addresses against sanctioned and flagged wallets.

Checks cryptocurrency wallet addresses against addresses published on the OFAC lists, addresses linked to Tornado Cash, and addresses reported for ransomware. Where a listing names the party behind the wallet, that entity comes back with the result.

Unlike name screening, this is an exact lookup rather than a fuzzy one. An address either matches or it does not.
Send addresses exactly as the source publishes them. A lookup probes the address as sent and its lowercased form, which means a listing stored in lowercase matches whatever casing you send, but a listing stored in checksummed form is missed if you send it lowercased. Normalise to the published value rather than lowercasing on your side.

Screen one address

POST /api/v2/wallet-search

Auth x-api-key

Request

FieldTypeRequiredDescription
addressstringYesThe wallet address to check.
additional_call_infoobjectNoYour own reference data, stored with the usage record.

Body

{
  "address": "TDxXXmCELgrb5VwYobDMyTKVTTdY9LjEjx"
}

Response

The verdict arrives under the wallet screening result key. A clear address returns the same shape with listed: false and the rest null, so you never have to tell an absent result from a clear one.

FieldTypeDescription
addressstringThe address as you sent it.
listedbooleanTrue when the address is on one of the lists we carry.
networkstring | nullThe chain the address belongs to, such as TRX or ETH. Null when not listed.
infostring | nullWhy it is flagged: either a source list slug such as ofac_sdn, or a free-text reason such as a Tornado Cash or ransomware attribution.
entity_uidnumber | nullIdentifier of the sanctioned entity behind the address, where there is one.
entityobject | nullThat entity, as id, name, list and source_uid. Null when the address is listed on its own rather than tied to a named party.

Listed

{
  "wallet screening result": {
    "address": "TDxXXmCELgrb5VwYobDMyTKVTTdY9LjEjx",
    "listed": true,
    "network": "TRX",
    "info": "ofac_sdn",
    "entity_uid": 3867,
    "entity": {
      "id": 3867,
      "name": "ISIL KHORASAN",
      "list": "ofac_sdn",
      "source_uid": "23456"
    }
  },
  "api_usage_id": "6c1f0a2b-9d3e-4a77-b1c2-5e8f9a0d3b41"
}

Clear

{
  "wallet screening result": {
    "address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
    "listed": false,
    "network": null,
    "info": null,
    "entity_uid": null,
    "entity": null
  },
  "api_usage_id": "1a2b3c4d-5e6f-4071-8293-a4b5c6d7e8f9"
}

Screen many addresses

POST /api/v2/bulk-wallet-search

Auth x-api-key, or a signed-in user's bearer token

Request

FieldTypeRequiredDescription
addressesstringYesThe addresses to check, as one string separated by commas or newlines. Not an array. Duplicates are removed before screening.
additional_call_infoobjectNoYour own reference data, stored with the usage record.

Response

One result per address in the order submitted, each with the fields above, plus a run summary.

{
  "results": [
    {
      "address": "TDxXXmCELgrb5VwYobDMyTKVTTdY9LjEjx",
      "listed": true,
      "network": "TRX",
      "info": "ofac_sdn",
      "entity_uid": 3867,
      "entity": { "id": 3867, "name": "ISIL KHORASAN", "list": "ofac_sdn", "source_uid": "23456" }
    },
    {
      "address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
      "listed": false,
      "network": null,
      "info": null,
      "entity_uid": null,
      "entity": null
    }
  ],
  "summary": { "screened": 2, "listed": 1, "clear": 1 },
  "api_usage_id": "d4e5f6a7-b8c9-40d1-92e3-f4a5b6c7d8e9"
}

Example

curl -X POST https://api.amlscreen.io/api/v2/bulk-wallet-search \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "addresses": "TDxXXmCELgrb5VwYobDMyTKVTTdY9LjEjx, 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2"
  }'

We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.