Agents
Wallet Guard
Checks a swap or a send before you sign it.
Before a swap, it checks the token: contract risks (honeypot, taxes, mint/freeze/blacklist powers), the real price impact of the amount, holder concentration and market conditions. Before a send, it checks the recipient live on the chain: OFAC sanctions, scam and phishing flags, burn addresses, brand-new wallets and lookalikes of known addresses (address poisoning). Returns SAFE, WARN or STOP with one plain sentence for the user.
When to use it #
- A wallet app wants a safety check before the user signs.
- An agent is about to send funds to an address it has not seen before.
- A person wants to know if a token they are swapping into is safe.
Built for: AI wallets · Long-term holders · Newcomers
How it decides #
- Token: contract risks on its home chain (honeypot test, taxes, mint, freeze, blacklist, owner powers) and the real price impact of the amount.
- Recipient, read live: OFAC sanctions, GoPlus scam and phishing flags, burn addresses, brand-new wallets, and look-alikes of known exchange addresses (address poisoning).
- STOP on a sanctioned, flagged, burn or look-alike recipient, a dangerous contract, or more than 5% price impact.
- WARN on 2–5% impact, a serious market risk on the token, or a large send to a new wallet.
Verdicts #
| Verdict | Meaning |
|---|---|
| SAFE | Nothing risky found. |
| WARN | You can continue, but read the warning first. |
| STOP | Do not sign. |
Input #
/v1/agents/wallet-guardBody
tokenstringoptionalThe token being swapped into or sentamount_usdnumber (…–10000000000)optionalAmount in USDto_addressstringoptionalRecipient address (for a send)chain"eth" | "bsc" | "btc" | "sol" | "ada"optionalChain of the recipient address
Examples #
Real runs, captured from the live service.
SAFE: swap $5K into LINK, send to a Binance wallet
curl -X POST "https://coingraph.ai/api/v1/agents/wallet-guard" \
-H "content-type: application/json" \
-d '{"token":"chainlink","amount_usd":5000,"to_address":"0x28c6c06298d514db089934071355e5743bf21d60","chain":"eth"}'{
"object": "agent_run",
"id": "run_5890c2af60554b8d50f6",
"as_of": "2026-10-06T23:22:20.555Z",
"data": {
"run_id": "run_5890c2af60554b8d50f6",
"agent": "wallet-guard",
"agent_version": "1.0.0",
"as_of": "2026-10-06T23:22:20.555Z",
"verdict": "SAFE",
"summary": "SAFE: nothing risky found. LINK contract: No contract risks found on the ETH contract (home chain).",
"result": {
"token": {
"id": "chainlink",
"symbol": "LINK",
"check": "proceed",
"contract": "ok",
"price_impact_pct": 0.135,
"evaluation_id": "eval_529f14c353206c163ab8"
},
"recipient": {
"chain": "eth",
"address": "0x28c6c06298d514db089934071355e5743bf21d60",
"label": {
"entity": "binance",
"name": "Binance 14",
"kind": "exchange",
"confidence": "high"
},
"type": "exchange",
"tx_count": 58280204,
"screening": {
"risk": "none_found",
"sanctioned": false,
"burn_address": false,
"flags": []
},
"lookalike_of": null
}
},
"reasons": [
{
"text": "LINK contract: No contract risks found on the ETH contract (home chain)",
"source": "goplus:/token_security"
},
{
"text": "Recipient is a known Binance 14 exchange wallet",
"source": "coingraph:wallet_labels"
}
],
"warnings": [],
"links": {},
"disclaimer": "CoinGraph never trades, holds funds or gives financial advice. The caller decides.",
"hash": "31cb5d69167a3e405de6d81f52406ec32a84279be00426596e8e4f3987a04d5e",
"verify_url": "https://coingraph.ai/api/v1/verify/run_5890c2af60554b8d50f6"
},
"sources": []
}STOP: send to an address on the OFAC list
curl -X POST "https://coingraph.ai/api/v1/agents/wallet-guard" \
-H "content-type: application/json" \
-d '{"to_address":"0x0330070fd38ec3bb94f58fa55d40368271e9e54a","chain":"eth"}'{
"object": "agent_run",
"id": "run_eecd3b10501ac13279fb",
"as_of": "2026-10-06T23:24:16.899Z",
"data": {
"run_id": "run_eecd3b10501ac13279fb",
"agent": "wallet-guard",
"agent_version": "1.0.0",
"as_of": "2026-10-06T23:24:16.899Z",
"verdict": "STOP",
"summary": "STOP: Recipient is on the OFAC sanctions list.",
"result": {
"recipient": {
"chain": "eth",
"address": "0x0330070fd38ec3bb94f58fa55d40368271e9e54a",
"label": "unlabelled",
"type": "new or rarely used wallet",
"tx_count": 8,
"screening": {
"risk": "high",
"sanctioned": true,
"burn_address": false,
"flags": [
"On the OFAC sanctions list (ETH)",
"stealing attack"
]
},
"lookalike_of": null
}
},
"reasons": [
{
"text": "Recipient is on the OFAC sanctions list",
"source": "ofac"
},
{
"text": "Recipient flagged: stealing attack",
"source": "goplus:/address_security"
}
],
"warnings": [],
"links": {},
"disclaimer": "CoinGraph never trades, holds funds or gives financial advice. The caller decides.",
"hash": "eddf849df8d3d047d5676d32dc255bf354000d0d54ecbdaef2bf28ecdefa6791",
"verify_url": "https://coingraph.ai/api/v1/verify/run_eecd3b10501ac13279fb"
},
"sources": []
}Result fields #
Inside data.result:
| Field | Contents |
|---|---|
token | Symbol, the check's verdict, contract rating, price impact and proof id. |
recipient | Label, type, transaction count, screening and any look-alike match. |
Use it from Claude #
With CoinGraph connected (how), ask in plain words, or call the tool directly:
{
"name": "run_wallet_guard",
"arguments": {
"token": "chainlink",
"amount_usd": 5000,
"to_address": "0x28c6c06298d514db089934071355e5743bf21d60",
"chain": "eth"
}
}The proof for any run: https://coingraph.ai/proof/run_…