Odel
publicaml examples

publicaml examples

@saloprjPythonUpdated 1w ago

Free crypto AML/KYT screening for BTC/ETH/BSC/TRON — risk score, sanctions, source of funds.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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.

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 — treat true as 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

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: true should override softer category labels.

License

MIT — use these snippets freely.