API Documentation
Free access to nation-state crypto threat intelligence. Build compliance tools, research projects, or integrations.
Quick Links
Base URL
https://threats.osmansonmez.com/api/v1
Status
Getting Started
The NSCTIP API is free and open. No authentication required for public endpoints.
curl https://threats.osmansonmez.com/api/v1/nations No API Key Required
Public endpoints are free to use. For higher rate limits, contact [email protected].
Endpoints
/api/v1/nations Get overview of all tracked nations and global statistics.
{
"success": true,
"data": {
"nations": [
{
"code": "north_korea",
"name": "North Korea",
"flag": "🇰🇵",
"riskLevel": "critical",
"totalVolumeUsd": 5200000000,
"activeWallets": 207
}
],
"global": {
"totalTrackedWallets": 329,
"totalClusters": 15,
"totalVolumeUsd": 25700000000
}
}
} /api/v1/clusters List all identified wallet clusters.
Query params: nation, status
Example: /api/v1/clusters?nation=north_korea&status=active /api/v1/wallets List all tracked sanctioned wallets.
Query params: nation, blockchain, cluster
/api/v1/incidents List major crypto theft incidents by nation-state actors.
Query params: nation, status, limit
Address Check
Check if a cryptocurrency address is linked to sanctioned entities or nation-state threat actors.
/api/v1/check/{address} Returns risk assessment for the given address.
Example Request
curl https://threats.osmansonmez.com/api/v1/check/0x098B716B8Aaf21512996dC57EB0615e2383E2f96 Response (Sanctioned Address)
{
"success": true,
"data": {
"address": "0x098B716B8Aaf...",
"isSanctioned": true,
"riskScore": 100,
"riskLevel": "critical",
"nation": {
"code": "north_korea",
"name": "North Korea",
"flag": "🇰🇵"
},
"entity": {
"name": "Lazarus Group - Ronin Primary",
"threatActor": "lazarus",
"cluster": "DPRK-RONIN-2022"
},
"designation": {
"source": "ofac",
"date": "2022-04-14"
},
"recommendation": "DO NOT TRANSACT"
}
} Response (Clean Address)
{
"success": true,
"data": {
"address": "0x123...",
"isSanctioned": false,
"riskScore": 0,
"riskLevel": "unknown",
"recommendation": "Address not found in NSCTIP database."
}
} Disclaimer
Absence from NSCTIP database does not guarantee an address is safe. Always conduct proper due diligence.
Address Profile
Get comprehensive profile including cluster analysis, related wallets, and threat context.
/api/v1/profile/{address} Example Request
curl https://threats.osmansonmez.com/api/v1/profile/0x098B716B8Aaf21512996dC57EB0615e2383E2f96 Response
{
"success": true,
"data": {
"address": "0x098B716B8Aaf...",
"profile": {
"isSanctioned": true,
"riskScore": 100,
"entityName": "Lazarus Group - Ronin Primary",
"threatActor": "lazarus"
},
"nation": {
"code": "north_korea",
"name": "North Korea",
"flag": "🇰🇵"
},
"cluster": {
"id": "DPRK-RONIN-2022",
"name": "Ronin Bridge Cluster",
"walletCount": 86,
"totalVolumeUsd": 620000000,
"mixersUsed": ["Tornado Cash", "Sinbad"]
},
"relatedWallets": [...],
"relatedIncident": {
"name": "Ronin Bridge Hack",
"amountUsd": 620000000
}
}
} Alert Subscription
Subscribe to receive alerts when sanctioned wallets move funds or new designations occur.
/api/v1/alerts/subscribe Request Body
{
"email": "[email protected]",
"alerts": ["transactions", "designations", "incidents"],
"nations": ["north_korea", "iran", "russia"],
"addresses": ["0x123..."], // optional: specific addresses to watch
"frequency": "instant" // instant | daily | weekly
} Response
{
"success": true,
"data": {
"subscriptionId": "sub_1234567890",
"email": "[email protected]",
"alertTypes": ["transactions", "designations", "incidents"],
"status": "active"
},
"message": "Successfully subscribed to alerts."
} Webhook Integration
Receive real-time alerts via webhook to your own endpoint.
POST https://your-endpoint.com/webhook
Headers:
X-NSCTIP-Signature: sha256=...
Content-Type: application/json
Body:
{
"type": "transaction_alert",
"severity": "critical",
"timestamp": "2025-02-23T15:30:00Z",
"data": {
"address": "0x098B716B...",
"nation": "north_korea",
"threatActor": "lazarus",
"transactionHash": "0xabc...",
"amountUsd": 2500000,
"direction": "outbound"
}
} Webhook Event Types
transaction_alert Wallet movement detected new_designation New OFAC address added cluster_activity Cluster-wide movement major_incident New hack/breach detected Webhook integration available for Researcher and Enterprise tiers. Contact us for access.
Rate Limits
| Tier | Requests/Day | Features |
|---|---|---|
| Public | 100 | All endpoints, no auth required |
| Researcher | 1,000 | + Historical data, bulk queries |
| Enterprise | Unlimited | + Webhooks, SLA, priority support |
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 404 | Not Found - Resource doesn't exist |
| 429 | Rate Limit Exceeded |
| 500 | Internal Server Error |
Integration Examples
const response = await fetch(
'https://threats.osmansonmez.com/api/v1/check/0x098B716B...'
);
const data = await response.json();
if (data.data.isSanctioned) {
console.warn('⚠️ SANCTIONED ADDRESS:', data.data.entity.name);
} import requests
response = requests.get(
'https://threats.osmansonmez.com/api/v1/check/0x098B716B...'
)
data = response.json()
if data['data']['isSanctioned']:
print(f"⚠️ SANCTIONED: {data['data']['entity']['name']}")