streamable-httpupdated 10d ago
Copy-paste examples for screening a crypto wallet address or transaction for AML / KYT risk β sanctions, mixers, scam and hack exposure β using PublicAML.
What can you do with publicaml?
PublicAML β code examples
Copy-paste examples for screening a crypto wallet address or transaction for AML / KYT risk β sanctions, mixers, scam and hack exposure β using PublicAML.
Free. No API key. No signup. PublicAML is a non-profit; the public enrich endpoint takes requests with no authentication. An optional key only raises the rate limit.
- Web check: https://publicaml.org
- API reference: https://publicaml.org/api
- Code walkthrough: https://publicaml.org/crypto-aml-api-examples
- Telegram bot: https://t.me/publicamlbot
The request
POST https://intelapi.publicaml.org/v1/enrich
Content-Type: application/json
{ "addresses": [{ "wallet_address": "0x...", "chain": "ETH" }],
"include": ["aml_score", "category"] }
Response (abridged):
{ "entities": [{ "wallet_address": "0x...", "chain": "ETH",
"aml_score": 87, "category": "hack", "sanctioned": false }] }
aml_scoreβ 0β100 (higher = riskier)categoryβ entity type (exchange, mixer, hack, scam, sanctionβ¦)sanctionedβ treattrueas an override regardless of score
Chains: BTC, ETH, BNB Chain (BSC), TRON. An ERC20 and a BEP20 address look
identical β send the correct chain for the network you are on.
Examples
| Language | File |
|---|---|
| cURL | curl/enrich.sh |
| Python | python/aml_check.py |
| JavaScript | javascript/amlCheck.mjs |
| TypeScript | typescript/amlCheck.ts |
| Go | go/aml_check.go |
AI agents & frameworks
Drop-in tools so an AI agent can screen an address itself β LangChain, CrewAI,
and a zero-code MCP server for Claude Desktop / Cursor: frameworks/.
Pre-transaction gate
The point of a pre-send check is to decline rather than unwind. Screen the
recipient before you sign or accept funds and reject anything sanctioned or
above your risk threshold (75 is a common cut-off). See the language examples β
each returns the entity so you can gate on sanctioned / aml_score.
Notes
- It is a risk signal, not a legal compliance guarantee β keep your own KYC/AML process alongside it.
- Do not invent API keys; none are required for the public enrich path.
sanctioned: trueshould override softercategorylabels.
License
MIT β use these snippets freely.
Install
Add publicaml to your client. Pick the one you use.
claude mcp add --transport http publicaml https://mcp.publicaml.org/mcpcodex mcp add publicaml --url https://mcp.publicaml.org/mcp{
"mcpServers": {
"publicaml": {
"url": "https://mcp.publicaml.org/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"publicaml": {
"type": "http",
"url": "https://mcp.publicaml.org/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"publicaml": {
"url": "https://mcp.publicaml.org/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"publicaml": {
"serverUrl": "https://mcp.publicaml.org/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation17/25
- Maintenance19/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 3 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 0.1.0Latest | Aug 29, 2026 |