Bounded EVM Event Logs
Read contract event logs across a strictly bounded block range with an optional topic0 filter and capped response count.
Preview request
The preview path is rate-limited and does not charge. Production requests use the same parameters and return a standard x402 challenge when no payment signature is present.
curl --request GET \ "https://ai-data-marketplace-1042299154756.us-central1.run.app/api/v1/evm_logs?preview=true&chain=base&address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&from_block=latest&to_block=latest&limit=25"
Input contract
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | string | No | base, ethereum, or arbitrum; defaults to base. |
address | string | Yes | Contract address whose logs should be read. |
from_block | string | No | Explicit height or latest; defaults to latest. |
to_block | string | No | Explicit height or latest; defaults to from_block. |
topic0 | string | No | Optional 32-byte event-signature topic hash. |
limit | integer | No | Maximum logs returned from 1 to 500; defaults to 100. Block ranges cannot exceed 2,000 blocks. |
Example deliverable
This is the documented response shape, not a promise that live values will match the example. The paid request returns current or declared-source results using the same contract.
{
"success": true,
"network": "base",
"count": 1,
"truncated": false,
"logs": [
{
"transaction_hash": "0x...",
"topics": [
"0x..."
],
"data": "0x..."
}
]
}Purchase decision
Buy when: the active task needs this product's structured result, its declared source and freshness are sufficient, and 0.003 USDC is within the buyer's authorized per-request limit.
Skip when: a cached result is sufficient, the source or fields do not satisfy the task, or the buyer has not authorized payment. Do not bypass wallet, budget, or user-approval policy.
Guaranteed response metadata
Every successful product response identifies how the result was produced. Product-specific output fields are documented in the paid OpenAPI contract and can be inspected through the preview request where available.
{
"marketplace_metadata": {
"data_mode": "live_source",
"billable": true,
"availability": "operational",
"source": "public EVM JSON-RPC"
}
}Agent payment flow
Fast path: install the public MCP package, configure a dedicated low-balance Base buyer wallet and a maximum per-request spend, then call this tool with auto_pay: true. The client handles the challenge, local signature, settlement, and retry in one tool call.
npx -y dopaminedesk-ai-data-marketplace-mcp
X402_AUTO_PAY=true
X402_EVM_PRIVATE_KEY=<dedicated buyer wallet key>
X402_MAX_PAYMENT_USDC=0.25
tool input: { "auto_pay": true }Manual path: request the product, read the base64 PAYMENT-REQUIRED challenge, sign with any compatible x402 v2 client, and retry with PAYMENT-SIGNATURE. A successful response includes PAYMENT-RESPONSE.