curl --request GET \
--url https://api.range.org/v1/risk/sanctions/{address} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v1/risk/sanctions/{address}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v1/risk/sanctions/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v1/risk/sanctions/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v1/risk/sanctions/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.range.org/v1/risk/sanctions/{address}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v1/risk/sanctions/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "bc1q72ud4m6zf5g37jkhc2ty95zm5vel9ufdxquqpm",
"network": null,
"is_token_blacklisted": false,
"is_ofac_sanctioned": false,
"token_status_summary": null,
"blacklist_event_history": null,
"ofac_info": null,
"attribution": null,
"checked_at": "2026-09-30T09:18:06.419Z",
"lists_checked": true,
"sanctions": [
{
"signal_id": "uk-sanctioned",
"source": "UK FCDO / OFSI",
"jurisdiction": "UK",
"listed_at": "2026-05-26",
"programs": [
"RUSSIA"
],
"basis": "direct"
}
],
"is_sanctioned": true
}Sanctions and Blacklist Check
Check if a blockchain address is on a government sanctions list, such as OFAC, UK, or EU, or blacklisted by stablecoin issuers.
curl --request GET \
--url https://api.range.org/v1/risk/sanctions/{address} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v1/risk/sanctions/{address}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v1/risk/sanctions/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v1/risk/sanctions/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v1/risk/sanctions/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.range.org/v1/risk/sanctions/{address}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v1/risk/sanctions/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "bc1q72ud4m6zf5g37jkhc2ty95zm5vel9ufdxquqpm",
"network": null,
"is_token_blacklisted": false,
"is_ofac_sanctioned": false,
"token_status_summary": null,
"blacklist_event_history": null,
"ofac_info": null,
"attribution": null,
"checked_at": "2026-09-30T09:18:06.419Z",
"lists_checked": true,
"sanctions": [
{
"signal_id": "uk-sanctioned",
"source": "UK FCDO / OFSI",
"jurisdiction": "UK",
"listed_at": "2026-05-26",
"programs": [
"RUSSIA"
],
"basis": "direct"
}
],
"is_sanctioned": true
}- Token Blacklist Events: Real-time monitoring on Ethereum, Tron, Solana, Base, Arbitrum, Optimism, Polygon, and Avalanche for specific token issuers.
- Sanctions Lists: Sourced from official government publications and network-agnostic. The response names every list the address is on in
sanctions.
is_sanctioned and is_ofac_sanctioned are different flags. is_sanctioned is true when the address is on any government sanctions list: OFAC, UK, EU, EU Russia packages, France, or Japan. is_ofac_sanctioned covers OFAC only, so an address sanctioned by the UK but not by OFAC returns is_ofac_sanctioned: false and is_sanctioned: true. Israeli NBCTF seizure orders and FBI IC3 advisories appear in sanctions but do not set is_sanctioned. For a broader check for malicious actors and exposure, use Address Risk (v2) or Address Risk Score (v1).lists_checked: false means a sanctions or blacklist store could not be read, so the result may be incomplete. is_sanctioned is then null unless a listing was found anyway, and false values in is_ofac_sanctioned and is_token_blacklisted are not a clean result either. Treat the address as unknown: block or retry, never allow.How It Works
The endpoint performs these checks:-
Token Blacklist Check: Monitors onchain blacklist events emitted by token issuer contracts on Ethereum, Tron, Solana, Base, Arbitrum, Optimism, Polygon, and Avalanche. When issuers like Tether or Circle blacklist an address, it is blocked from transferring their tokens. The endpoint tracks freezes (
blacklist), releases (unblacklist) and burns of a frozen balance (destroyedblackfunds) in real-time to determine the current status. - OFAC Sanctions Check: Cross-references the address against the US Treasury OFAC Specially Designated Nationals (SDN) list. OFAC data is sourced from official published reports and covers any network published by OFAC.
-
Other Sanctions Lists: Cross-references the address against every other list Range ingests (see Sanctions List Coverage). Each list the address is on, OFAC included, is one entry in
sanctions. - Attribution Data: In addition to real-time blacklist events, the endpoint includes attribution labels that may provide extended context and information beyond what is captured in onchain events.
Note: Theis_token_blacklistedfield reflects the current status based on the most recent event. An address that was blacklisted and later unblacklisted will showfalse. Useblacklist_event_historyto view the complete history.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| address | string | ✅ | Blockchain address to check |
Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| network | string | ❌ | none | ethereum, tron, solana, base, arbitrum, optimism, polygon, or avalanche. Does not narrow the check (see below) |
| include_details | boolean | ❌ | true | Accepted for compatibility but ignored; details are always returned when available |
Note:networkdoes not narrow the check. Blacklist status and sanctions lists are looked up by the address alone, across every network, so an EVM address frozen on any EVM network is flagged whichever network you pass. The value is only echoed innetworkwhen the address has no record. Accepted values areethereum,tron,solana,base,arbitrum,optimism,polygon, andavalanche. Any other value returns HTTP 400.
Sanctions List Coverage
Sanctions list data is sourced from official government publications and is network-agnostic. If an address appears on a list, it is flagged across all 300+ supported networks. See Supported Chains for full coverage.signal_id | source | jurisdiction | basis | Sets is_sanctioned |
|---|---|---|---|---|
ofac-sanctioned | OFAC SDN | US | direct | ✅ |
uk-sanctioned | UK FCDO / OFSI | UK | direct | ✅ |
eu-sanctioned | EU sanctions | EU | direct or indirect | ✅ |
eu-sanction-ru | EU Russia sanctions packages | EU | indirect | ✅ |
france-sanctioned | France Trésor | FR | direct | ✅ |
japan-sanctioned | Japan MoF | JP | direct | ✅ |
sanctioned | Government sanctions list | null | indirect | ✅ |
nbctf-terror-financing | Israel NBCTF | IL | direct | ❌ |
fbi-fraud | FBI IC3 | US | direct | ❌ |
signal_id is the same signal the Address Risk endpoints fire for that list: the signal value in Address Risk (v2) and a risk_categories entry in Address Risk Score (v1). List Signals & Behaviours returns the full catalog. sanctioned is Range’s generic label for an address on a government sanctions list with no single named list; it is left out of sanctions when the address is also on a named government sanctions list. NBCTF and FBI IC3 listings do not count, so an address on NBCTF and the generic label keeps both entries. See Risk Data Sources for each source.
Direct and Indirect Listings
direct: the list names this address itself. OFAC, UK, France, Japan, NBCTF, and FBI IC3 entries are direct, and so are EU entries where the EU financial sanctions file names the address.indirect: the list designates an entity or token, not the address, and Range attributed the address to it. The EU lists name entities rather than crypto addresses, so most EU entries are indirect, for example a wallet of an EU-sanctioned Russian entity or an A7A5 token holder. The genericsanctionedlabel is also indirect.
is_sanctioned. An indirect entry rests on Range attribution, not on the list itself, so you can route it to review instead of an automatic block if your policy distinguishes the two.
Supported Networks & Tokens (Blacklist Events)
Real-time blacklist event monitoring is available for the following token issuers:| Network | Tokens monitored |
|---|---|
| Ethereum | USDT, USDC, EURC, cbBTC, PYUSD, AUSD, XAUT, RLUSD, USDP, USDG, PAXG, BUSD |
| Tron | USDT, USDC |
| Solana | USDT, USDC, PYUSD |
| Base | USDC, EURC, cbBTC, AUSD |
| Arbitrum | USDT, USDC, cbBTC, PYUSD, AUSD, XAUT |
| Optimism | USDT, USDC |
| Polygon | USDT, USDC, AUSD, XAUT |
| Avalanche | USDT, USDC, EURC, AUSD |
Response Schema
The response contains the sanctions and blacklist status for the queried address. This example is a Bitcoin address of Rapira Group, on the UK sanctions list but not on OFAC’s.{
"address": "bc1q72ud4m6zf5g37jkhc2ty95zm5vel9ufdxquqpm",
"network": null,
"is_token_blacklisted": false,
"is_ofac_sanctioned": false,
"checked_at": "2026-09-30T08:00:00.000Z",
"token_status_summary": null,
"blacklist_event_history": null,
"ofac_info": null,
"attribution": null,
"lists_checked": true,
"sanctions": [
{
"signal_id": "uk-sanctioned",
"source": "UK FCDO / OFSI",
"jurisdiction": "UK",
"listed_at": "2026-05-26",
"programs": ["RUSSIA"],
"basis": "direct"
}
],
"is_sanctioned": true
}
Top-Level Fields
| Field | Type | Description |
|---|---|---|
address | string | The blockchain address that was checked. |
network | string | null | The address’s network as stored with its record (a Range network id such as eth, tron, arb1). For an address with no record, the requested network, or null. |
is_token_blacklisted | boolean | true if the address is currently blacklisted by any token issuer, on any network. |
is_ofac_sanctioned | boolean | true if the address appears on the OFAC sanctions list. OFAC only; see is_sanctioned for every government list. |
is_sanctioned | boolean | null | true if the address is on any government sanctions list: OFAC, UK, EU, EU Russia packages, France, or Japan, direct or indirect. false when every list was read and none matched. null when a list could not be read and no listing was found: treat it as unknown, not clean. |
lists_checked | boolean | true only when every sanctions and blacklist store answered. false means the result may be incomplete: fail closed or retry. |
sanctions | array | One entry per list the address is on, OFAC included. Empty when none. See Sanctions. |
checked_at | string | Timestamp (ISO 8601) when this check was performed. |
token_status_summary | array | null | Breakdown of blacklist status per token. null when no blacklist data exists. |
blacklist_event_history | array | null | Chronological list of onchain blacklist, unblacklist and burn events. null when no events exist. |
ofac_info | object | null | Details about the OFAC sanction. null if not sanctioned. |
attribution | object | null | Additional labels and context for the address. null when no attribution exists. |
Sanctions
One entry per list the address is on. See Sanctions List Coverage for every value ofsignal_id, source, and jurisdiction.
| Field | Type | Description |
|---|---|---|
signal_id | string | The Address Risk signal for this list, e.g. ofac-sanctioned, uk-sanctioned, eu-sanction-ru. See GET /v2/risk/signals. |
source | string | The list the address is on, e.g. OFAC SDN, UK FCDO / OFSI. |
jurisdiction | string | null | Jurisdiction of the list: US, UK, EU, FR, JP, or IL. null for the generic sanctioned label. |
listed_at | string | null | Date the address was first listed (YYYY-MM-DD) when the list gives one. EU Russia packages and France currently give none. |
programs | array | Sanctions programs or regimes the listing falls under, e.g. ["RUSSIA"], ["CYBER2"]. Empty when the list gives none. |
basis | string | direct when the list names this address, indirect when the list names an entity or token and Range attributed the address to it. See Direct and indirect listings. |
Token Status Summary
Shows the current blacklist status for each token and network that has flagged this address, one entry per token and network.| Field | Type | Description |
|---|---|---|
token | string | Token symbol, for example USDT, USDC, cbBTC, PYUSD. See Supported Tokens. |
issuer | string | The company that issued the token: Tether, Circle, Coinbase, PayPal, Paxos, Agora, or Ripple. |
network | string | Network of these events, as a Range network id: eth, tron, solana, base, arb1, oeth, pol, avax. |
is_currently_blacklisted | boolean | true if the address is currently blocked from using this token on this network. |
first_blacklisted_date | string | When the address was first blacklisted for this token on this network (YYYY-MM-DD). |
last_event_date | string | Date of the most recent event. |
last_event_type | string | blacklist, unblacklist, or destroyedblackfunds. Anything but unblacklist means currently blacklisted. |
Blacklist Event History
A chronological record of all onchain blacklist and unblacklist events.| Field | Type | Description |
|---|---|---|
event_type | string | blacklist (address blocked), unblacklist (address unblocked), or destroyedblackfunds (frozen balance burned). |
token | string | Token symbol. |
issuer | string | Token issuer. |
network | string | Network where the event occurred, as a Range network id: eth, tron, solana, base, arb1, oeth, pol, avax. |
date | string | Event date (YYYY-MM-DD). |
block_number | integer | Block number of the transaction. |
block_timestamp | string | Timestamp of the block. |
transaction_hash | string | Onchain transaction hash for verification. |
token_account | string | null | The token account address (Solana only). null for EVM chains. |
OFAC Info
Details about OFAC sanctions. Only present when the address is sanctioned.| Field | Type | Description |
|---|---|---|
is_sanctioned | boolean | Always true when this object is present. |
name_tag | string | Name of the sanctioned individual or entity. |
category | string | Sanction category (e.g., “OFAC Sanctioned”). |
entity | string | Sanctioning body (e.g., “OFAC”). |
address_role | string | Individual or Entity. |
first_sanctioned_date | string | Date when the address was first sanctioned (YYYY-MM-DD). |
sanction_url | string | Link to the official OFAC announcement. |
programs | array | OFAC sanctions programs, e.g. ["CYBER2"]. |
Attribution
Additional context and labels for the address, which may include information beyond onchain events.| Field | Type | Description |
|---|---|---|
name | string | Human-readable name or label for the address. |
category | string | Category (e.g., “USDT Blacklist”, “Multi-Provider Blacklist”). |
role | string | Role description (e.g., “Blacklisted Address”). |
entity | string | null | Associated entity, if known. |
tags | array | null | List of tags (e.g., ["BLACKLISTED", "COMPLIANCE"]). |
malicious | boolean | true if the address is considered malicious. |
Examples
UK Sanctioned Only (Not OFAC)
The Rapira Group address from Response Schema is on the UK list only.is_ofac_sanctioned is false, while is_sanctioned is true and sanctions names the UK list.
curl -G "https://api.range.org/v1/risk/sanctions/bc1q72ud4m6zf5g37jkhc2ty95zm5vel9ufdxquqpm" \
-H "Authorization: Bearer YOUR_API_KEY"
Sanctioned on Several Lists
Garantex (0x7FF9cFad3877F21d41Da833E2F775dB0569eE3D9) is on OFAC, UK, and EU lists and is token blacklisted. The response has is_token_blacklisted: true, is_ofac_sanctioned: true, and is_sanctioned: true, with one sanctions entry per list. The two EU entries are indirect because the EU designates the entity, not the address.
signal_id | source | listed_at | programs | basis |
|---|---|---|---|---|
ofac-sanctioned | OFAC SDN | 2022-04-05 | ["CYBER4", "RUSSIA-EO14024"] | direct |
uk-sanctioned | UK FCDO / OFSI | 2022-05-04 | ["RUSSIA"] | direct |
eu-sanctioned | EU sanctions | null | [] | indirect |
eu-sanction-ru | EU Russia sanctions packages | null | [] | indirect |
listed_at and programs come from ofac_info.first_sanctioned_date and ofac_info.programs.
Lists Could Not Be Read
When a sanctions or blacklist store does not answer and no listing is found, the response still returns 200 with these fields:{
"lists_checked": false,
"sanctions": [],
"is_sanctioned": null
}
is_ofac_sanctioned and is_token_blacklisted can read false in this case without the address being clean. Block or retry; do not allow.
lists_checked, sanctions, and is_sanctioned, which every response also carries. Responses marked abbreviated omit some metadata and show only the first entry of token_status_summary, blacklist_event_history, and sanctions.Multi-Provider Blacklisted Address
An OFAC-sanctioned address blacklisted by multiple stablecoin issuers, including Tether, Circle, Paxos, and Coinbase.curl -G "https://api.range.org/v1/risk/sanctions/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
"network": "eth",
"is_token_blacklisted": true,
"is_ofac_sanctioned": true,
"token_status_summary": [
{
"token": "USDC",
"issuer": "Circle",
"network": "eth",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2021-04-21",
"last_event_date": "2021-04-21",
"last_event_type": "blacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDC",
"issuer": "Circle",
"network": "eth",
"date": "2021-04-21",
"block_number": 12285873,
"block_timestamp": "2021-04-21T21:04:36.000Z",
"transaction_hash": "0x72959622df120df8cfe27fa371c5b82542cda695d09568975259c0cf70430bf9"
}
],
"ofac_info": {
"is_sanctioned": true,
"name_tag": "Secondeye Solution",
"category": "OFAC Sanctioned",
"entity": "OFAC",
"address_role": "Entity",
"first_sanctioned_date": "2021-04-15",
"programs": [
"CYBER2",
"ELECTION-EO13848"
],
"aliases": [
"Forwarderz"
]
},
"attribution": {
"name": "Secondeye Solution",
"category": "Multi-Provider Blacklist & OFAC Sanctioned",
"malicious": true
},
"checked_at": "2026-10-03T15:51:33.917Z",
"lists_checked": true,
"sanctions": [
{
"signal_id": "ofac-sanctioned",
"source": "OFAC SDN",
"jurisdiction": "US",
"listed_at": "2021-04-15",
"programs": [
"CYBER2",
"ELECTION-EO13848"
],
"basis": "direct"
}
],
"is_sanctioned": true
}
OFAC Sanctioned and Token Blacklisted
An address that is both OFAC sanctioned and token blacklisted by multiple providers.curl -G "https://api.range.org/v1/risk/sanctions/0x8576acc5c05d6ce88f4e49bf65bdf0c62f91353c" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "0x8576acc5c05d6ce88f4e49bf65bdf0c62f91353c",
"network": null,
"is_token_blacklisted": true,
"is_ofac_sanctioned": true,
"checked_at": "2025-12-01T16:06:07.870004Z",
"token_status_summary": [
{
"token": "USDC",
"issuer": "Circle",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2022-03-29",
"last_event_date": "2022-03-29",
"last_event_type": "blacklist"
},
{
"token": "USDT",
"issuer": "Tether",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2023-12-09",
"last_event_date": "2023-12-09",
"last_event_type": "blacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDC",
"issuer": "Circle",
"network": "ethereum",
"date": "2022-03-29",
"block_number": 14481178,
"block_timestamp": "2022-03-29 14:49:03",
"transaction_hash": "5906c3dac2d75f141b72baa61842a9881e9d31ee36f761ffc7059ffc86c7e452",
"token_account": null
},
{
"event_type": "blacklist",
"token": "USDT",
"issuer": "Tether",
"network": "ethereum",
"date": "2023-12-09",
"block_number": 18750100,
"block_timestamp": "2023-12-09 18:17:11",
"transaction_hash": "dbd24a66f187242bf3a8f8ce4a50a4b9143889dc988c7113d2e1069165332534",
"token_account": null
}
],
"ofac_info": {
"is_sanctioned": true,
"name_tag": "ANDREYEV, Anton Nikolaeyvich",
"category": "OFAC Sanctioned",
"entity": "OFAC",
"address_role": "Individual",
"first_sanctioned_date": "2020-09-10",
"sanction_url": "https://ofac.treasury.gov/recent-actions/20200910"
},
"attribution": {
"name": "USDP Blacklisted Address (353c)",
"category": "Multi-Provider Blacklist",
"role": "Blacklisted Address",
"entity": "OFAC",
"tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
"malicious": true
}
}
OFAC Sanctioned and Token Blacklisted on Tron
A Tron address that is both OFAC sanctioned and blacklisted by Tether and Circle.curl -G "https://api.range.org/v1/risk/sanctions/TMGLqRQ4twjW8wJhVH1mQR7nUThpGHUsN3" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "TMGLqRQ4twjW8wJhVH1mQR7nUThpGHUsN3",
"network": "tron",
"is_token_blacklisted": true,
"is_ofac_sanctioned": true,
"token_status_summary": [
{
"token": "USDT",
"issuer": "Tether",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2024-03-20",
"last_event_date": "2024-03-20",
"last_event_type": "blacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDT",
"issuer": "Tether",
"network": "tron",
"date": "2024-03-20",
"block_number": 60102381,
"block_timestamp": "2024-03-20T15:20:36.000Z",
"transaction_hash": "f2b566756308e42275b570dc8ecaeae7d63babb1b936810887e87d5c5bcecec2"
}
],
"ofac_info": {
"is_sanctioned": true,
"name_tag": "Gambashidze Ilya Andreevich",
"category": "OFAC Sanctioned",
"entity": "OFAC",
"address_role": "Individual",
"first_sanctioned_date": "2024-03-20",
"programs": [
"RUSSIA-EO14024"
],
"aliases": [
"Gambachidze Ilya Andreievitch"
]
},
"attribution": {
"name": "Gambashidze Ilya Andreevich",
"category": "Multi-Provider Blacklist & OFAC Sanctioned",
"malicious": true
},
"checked_at": "2026-10-03T15:51:34.059Z",
"lists_checked": true,
"sanctions": [
{
"signal_id": "ofac-sanctioned",
"source": "OFAC SDN",
"jurisdiction": "US",
"listed_at": "2024-03-20",
"programs": [
"RUSSIA-EO14024"
],
"basis": "direct"
}
],
"is_sanctioned": true
}
Solana Blacklisted Address
A Solana address blacklisted by Tether. Note thetoken_account field which is specific to Solana.
curl -G "https://api.range.org/v1/risk/sanctions/6sEk1enayZBGFyNvvJMTP7qs5S3uC7KLrQWaEk38hSHH" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "6sEk1enayZBGFyNvvJMTP7qs5S3uC7KLrQWaEk38hSHH",
"network": null,
"is_token_blacklisted": true,
"is_ofac_sanctioned": false,
"checked_at": "2025-12-01T16:06:27.732211Z",
"token_status_summary": [
{
"token": "USDT",
"issuer": "Tether",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2022-11-12",
"last_event_date": "2022-11-12",
"last_event_type": "blacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDT",
"issuer": "Tether",
"network": "solana",
"date": "2022-11-12",
"block_number": 160590544,
"block_timestamp": "2022-11-12 07:26:36",
"transaction_hash": "5vQBXFxiSgufuLUpm6ugfxynd43P8tAa94SDeqtFvvvqzXa1DW8us4GRM3MS4QFnvcSHqD9DNPihuqnYJ9GbY7Qh",
"token_account": "EdP6JNB26MrKzfsieCPz593VUgrDrpziQKstzCAFvNBP"
}
],
"ofac_info": null,
"attribution": {
"name": "",
"category": "",
"role": "",
"entity": null,
"tags": ["BLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
"malicious": true
}
}
Previously Blacklisted (Now Unblacklisted)
An address that was blacklisted then unblacklisted.is_token_blacklisted is false but the full history is preserved.
curl -G "https://api.range.org/v1/risk/sanctions/0x9faf5515f177f3a8a845d48c19032b33cc54c09c" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "0x9faf5515f177f3a8a845d48c19032b33cc54c09c",
"network": null,
"is_token_blacklisted": false,
"is_ofac_sanctioned": false,
"checked_at": "2025-12-01T16:06:37.232941Z",
"token_status_summary": [
{
"token": "USDT",
"issuer": "Tether",
"is_currently_blacklisted": false,
"first_blacklisted_date": "2017-11-28",
"last_event_date": "2017-11-28",
"last_event_type": "unblacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDT",
"issuer": "Tether",
"network": "ethereum",
"date": "2017-11-28",
"block_number": 4638805,
"block_timestamp": "2017-11-28 17:39:10",
"transaction_hash": "17ce88e3e2417f6c13db93f619423cc4c5f51e89660587631dc34c823fac54a8",
"token_account": null
},
{
"event_type": "unblacklist",
"token": "USDT",
"issuer": "Tether",
"network": "ethereum",
"date": "2017-11-28",
"block_number": 4638882,
"block_timestamp": "2017-11-28 17:59:39",
"transaction_hash": "520a66112467b4b79016c2a62658b56e8f78049bae8bf6f4ce4bf39ec2d75ba8",
"token_account": null
}
],
"ofac_info": null,
"attribution": {
"name": "USDT Unblacklisted Address (0x9fa)",
"category": "USDT Blacklist",
"role": "Unblacklisted Address",
"entity": null,
"tags": ["UNBLACKLISTED", "STABLECOIN-ISSUER", "COMPLIANCE"],
"malicious": true
}
}
Clean Address
An address with no sanctions or blacklist history.curl -G "https://api.range.org/v1/risk/sanctions/0x1234567890abcdef1234567890abcdef12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "0x1234567890abcdef1234567890abcdef12345678",
"network": null,
"is_token_blacklisted": false,
"is_ofac_sanctioned": false,
"checked_at": "2025-12-01T16:07:06.387337Z",
"token_status_summary": null,
"blacklist_event_history": null,
"ofac_info": null,
"attribution": null
}
Compatibility Parameter: include_details=false
include_details is accepted but ignored. Setting it to false still returns token status, event history, OFAC information, and attribution when available.
curl -G "https://api.range.org/v1/risk/sanctions/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a" \
--data-urlencode "include_details=false" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
"network": "eth",
"is_token_blacklisted": true,
"is_ofac_sanctioned": true,
"token_status_summary": [
{
"token": "USDC",
"issuer": "Circle",
"network": "eth",
"is_currently_blacklisted": true,
"first_blacklisted_date": "2021-04-21",
"last_event_date": "2021-04-21",
"last_event_type": "blacklist"
}
],
"blacklist_event_history": [
{
"event_type": "blacklist",
"token": "USDC",
"issuer": "Circle",
"network": "eth",
"date": "2021-04-21",
"block_number": 12285873,
"block_timestamp": "2021-04-21T21:04:36.000Z",
"transaction_hash": "0x72959622df120df8cfe27fa371c5b82542cda695d09568975259c0cf70430bf9"
}
],
"ofac_info": {
"is_sanctioned": true,
"name_tag": "Secondeye Solution",
"category": "OFAC Sanctioned",
"entity": "OFAC",
"address_role": "Entity",
"first_sanctioned_date": "2021-04-15",
"programs": [
"CYBER2",
"ELECTION-EO13848"
],
"aliases": [
"Forwarderz"
]
},
"attribution": {
"name": "Secondeye Solution",
"category": "Multi-Provider Blacklist & OFAC Sanctioned",
"malicious": true
},
"checked_at": "2026-10-03T15:51:34.195Z",
"lists_checked": true,
"sanctions": [
{
"signal_id": "ofac-sanctioned",
"source": "OFAC SDN",
"jurisdiction": "US",
"listed_at": "2021-04-15",
"programs": [
"CYBER2",
"ELECTION-EO13848"
],
"basis": "direct"
}
],
"is_sanctioned": true
}
Errors
| HTTP Code | Cause | Recommended Action |
|---|---|---|
| 400 | Invalid address format | Validate the address format before making the request |
| 429 | Rate limit exceeded | Implement exponential backoff and retry |
| 5xx | Internal server error | Retry after a short delay; contact support if persists |
Case Auto-Creation
When the request uses a workspace-scoped key andcase_auto_create is enabled in the workspace risk configuration, a hit opens a sanctions_screen case:
- OFAC or an issuer blacklist: a
severecase, always. - Any other government sanctions list: a case only when that list’s signal is enabled in the workspace’s
attribution_signals, at the severity the workspace configured for it. When the address is on several such lists, the case takes the highest configured severity. - Israel NBCTF and FBI IC3 entries: no case, since they do not set
is_sanctioned.
Best Practices
- Gate on the right flags: For sanctions screening across every government list, check
is_sanctionedandis_token_blacklisted. Checkis_ofac_sanctionedonly when a policy is OFAC-specific. - Fail closed: Treat
lists_checked: falseoris_sanctioned: nullas unknown, not clean. Block or retry. - Decide on indirect listings: Use
sanctions[].basisto routeindirectentries to review if your policy treats Range attribution differently from a list naming the address. - Real-time checks: Blacklist status can change; avoid caching for high-risk use cases.
- Read available details: Event history is returned when available;
include_detailsdoes not change the response. - Addresses are case-insensitive: Both
0x1DA5...and0x1da5...return identical results.
Use Cases
- Pre-transaction screening: Check counterparty addresses before processing payments or transfers.
- Exchange compliance: Screen addresses during deposit/withdrawal flows.
- DeFi integration: Add sanctions checks to smart contract interactions or front-ends.
- Audit trails: Generate compliance reports with full event history.
Authorizations
Authorization method required to allow user to access the api endpoints.
Path Parameters
Blockchain address to check (EVM, Solana, or Tron format)
"0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"
Query Parameters
Does not narrow the check: the address is looked up across every network, so an EVM address frozen on any network is flagged. Only echoed in the response network when the address has no record.
ethereum, tron, solana, base, arbitrum, optimism, polygon, avalanche Include detailed event history and attribution (default: true)
Response
Blacklist and sanctions check result
The queried blockchain address
"0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"
Network filter applied (null if all networks checked)
"ethereum"
Whether address is currently blacklisted by any token issuer
true
Whether address is on OFAC sanctions list
false
UTC timestamp when check was performed (ISO 8601)
"2025-11-28T12:53:24Z"
Whether the address is on any government sanctions list: OFAC, UK, EU, EU Russia packages, France, Japan. Israeli NBCTF seizure orders and FBI IC3 advisories appear in sanctions but do not set this. Indirect designations count (see sanctions[].basis). null when a list could not be read (lists_checked: false) and none was found: treat it as unknown, not as clean.
true
Whether every sanctions and blacklist store answered. false means the result may be incomplete: a caller gating on it should fail closed or retry.
true
Every list the address is on, one entry per list, including OFAC (empty when none)
Show child attributes
Show child attributes
Current blacklist status per token and network (when include_details=true)
Show child attributes
Show child attributes
Chronological list of blacklist/unblacklist events (when include_details=true)
Show child attributes
Show child attributes
OFAC sanction details (when sanctioned)
Show child attributes
Show child attributes
Known attribution/label for the address
Show child attributes
Show child attributes
Was this page helpful?