Onyx AML
Crypto address risk checks for agents: USDT/USDC blacklists, sanctions, scam lists, poisoning
Should I use this
Quality & Safety
Findings (1)
- LOWin onyx_balance
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"onyx-aml": {
"url": "https://onyxprotocol.trade/mcp"
}
}
}Remote endpoints
https://onyxprotocol.trade/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
⚪onyx_decide(address, amount_usd, policy)
Return allow / review / deny for a counterparty address against your own risk policy, with the reasons named. Use this before every outbound transfer. Checks issuer blacklists (USDT, USDC), sanctions across six EVM chains plus the OFAC list, open scam databases, community reports and behavioural patterns. Costs credit.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
},
"amount_usd": {
"type": "number",
"description": "Amount you intend to send, in USD. Used only if your policy caps amounts."
},
"policy": {
"type": "object",
"description": "Optional. Omit for a conservative default that returns review for anything unknown.",
"properties": {
"deny_zones": {
"type": "array",
"items": {
"type": "string"
}
},
"review_zones": {
"type": "array",
"items": {
"type": "string"
}
},
"min_age_days": {
"type": "integer"
},
"max_amount_usd": {
"type": "number"
}
}
}
},
"required": [
"address"
]
}⚪onyx_screen(address)
Return the raw risk markers for one address: risk zone, issuer blacklists, sanctions coverage, scam databases, community reports, address age, balance and exchange attribution where known. Use this when you want the facts rather than a decision. Costs credit.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
}
},
"required": [
"address"
]
}⚪onyx_screen_batch(addresses)
Screen up to 50 addresses in a single call, for example before a mass payout. Priced per address, and only addresses actually screened are charged. Each result carries facts_complete so you can tell whether the behavioural facts finished loading.
Input Schema
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
},
"maxItems": 50
}
},
"required": [
"addresses"
]
}🟢onyx_preflight(address, known_addresses)
Operational safety check for a payment, separate from risk screening. Detects address poisoning (a lookalike planted in your history so it gets copied instead of the real address), contract recipients that would swallow the tokens, and addresses that behave differently on different chains. Pass known_addresses (the counterparties you already use) to enable poisoning detection. In our live-traffic sample this class of loss came up far more often than sanctioned counterparties. Dedicated transaction-security services cover part of it; no AML screening does. Run this together with onyx_decide before every payment.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
},
"known_addresses": {
"type": "array",
"items": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
},
"maxItems": 200,
"description": "Addresses you have used before, so a lookalike can be spotted. Strongly recommended."
}
},
"required": [
"address"
]
}⚪onyx_trace(address)
Multi-hop trace of outgoing flows from an address, with attribution where a node is known (exchange labels, deposit addresses). Use it to establish provenance after receiving funds. Costs more than a screening call.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
}
},
"required": [
"address"
]
}🟡onyx_watch(address, callback_url)
Subscribe to an address. When it enters an issuer blacklist, a sanctions list or a scam database, we POST a signed event to your callback URL. A one-off check cannot warn you about a freeze that has not happened yet. Billed per address per day. The callback must be public https.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Blockchain address (TRON, Ethereum or other EVM, Solana)"
},
"callback_url": {
"type": "string",
"description": "Public https URL to receive events"
}
},
"required": [
"address",
"callback_url"
]
}⚪onyx_balance
How much credit your API key has left, and the current prices. Free.
Input Schema
{
"type": "object",
"properties": {}
}⚪onyx_payment_info
Machine-readable payment terms: which asset and network to send, the address, prices per operation, and how to claim an API key from the address you paid from. No account or signup is involved. Free, and works without a key.
Input Schema
{
"type": "object",
"properties": {}
}Community
Evidence