80trust / 100
Chain Events
by Tanod chainpeek in Onchain & crypto
x402 APIPassing, checked 3 h ago
chainpeek (Tanod) event logs (eth_getLogs) over a block range on Ethereum or Base, with ERC-20/721 Transfer and Approval and other common events decoded. Use when an agent must list contract events such as Transfer or Approval over a block range.
POST https://tanod.dev/v1/chain/events
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 285 ms typical, 520 ms slowest 5%
- Last check
- 3 h ago
- Next check
- any minute now
How to call it
# bash or zsh: see the payment challenge (nothing is charged)
curl -g -i -X POST 'https://tanod.dev/v1/chain/events' \
-H 'content-type: application/json' \
--data-raw '{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"base","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftanod.dev%2Fv1%2Fchain%2Fevents
const res = await pay("https://tanod.dev/v1/chain/events", {
method: "POST",
headers: { "content-type": "application/json" },
body: "{\"address\":\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\"chain\":\"base\",\"topics\":[\"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\"]}",
});
console.log(await res.json());Example input
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chain": "base",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}Example output
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"blocks": 1,
"chain": "base",
"decoded": 2,
"from_block": 52373503,
"log_count": 2,
"logs": [
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"block": 52373503,
"data": "0x0000000000000000000000000000000000000000000000000000001f2a9d77df",
"data_bytes": 32,
"data_truncated": false,
"event": {
"args": {
"from": "0xb2cc224c1c9feE385f8ad6a55b4d94E92359DC59",
"to": "0xb093da272A66D47b7445cA389CEbdc6d3Ac7753D",
"value": "133858949087"
},
"error": null,
"name": "Transfer",
"signature": "Transfer(address,address,uint256)",
"standard": "erc20"
},
"log_index": 26,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000b2cc224c1c9fee385f8ad6a55b4d94e92359dc59",
"0x000000000000000000000000b093da272a66d47b7445ca389cebdc6d3ac7753d"
],
"transaction_hash": "0x58d0d17b5944b268a414c87a2feca10ace73f0746b522e4e90ad329b630f490d"
},
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"block": 52373503,
"data": "0x00000000000000000000000000000000000000000000000000000000025b41fa",
"data_bytes": 32,
"data_truncated": false,
"event": {
"args": {
"from": "0xD69E78df9972EEa3d0A3bCC83243D8b2583052C5",
"to": "0xe4eac6027AAbe094453b02401ef7C5B789439621",
"value": "39535098"
},
"error": null,
"name": "Transfer",
"signature": "Transfer(address,address,uint256)",
"standard": "erc20"
},
"log_index": 37,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000d69e78df9972eea3d0a3bcc83243d8b2583052c5",
"0x000000000000000000000000e4eac6027aabe094453b02401ef7c5b789439621"
],
"transaction_hash": "0x59bbb9378816a6b28e392de121fd8d431344ec46cca4ca207ac6827496ec56b6"
}
],
"note": "events are decoded by signature only: any contract can emit any event, so check the emitting address before trusting a decoded Transfer or Swap",
"returned": 2,
"rpc_calls": 2,
"to_block": 52373503,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
],
"truncated": false,
"untrusted_content": true
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 520 ms | $0.003 |
| 7 h ago | Passed | 402 | 273 ms | $0.003 |
| 10 h ago | Passed | 402 | 266 ms | $0.003 |
| 14 h ago | Passed | 402 | 283 ms | $0.003 |
| 18 h ago | Passed | 402 | 289 ms | $0.003 |
| 22 h ago | Passed | 402 | 279 ms | $0.003 |
| 25 h ago | Passed | 402 | 341 ms | $0.003 |
| 29 h ago | Passed | 402 | 275 ms | $0.003 |
| 32 h ago | Passed | 402 | 281 ms | $0.003 |
| 36 h ago | Passed | 402 | 279 ms | $0.003 |
| 40 h ago | Passed | 402 | 265 ms | $0.003 |
| 43 h ago | Passed | 402 | 299 ms | $0.003 |
| 47 h ago | Passed | 402 | 448 ms | $0.003 |
| 2 days ago | Passed | 402 | 1.3 s | $0.003 |
| 2 days ago | Passed | 402 | 330 ms | $0.003 |