LogicNodes docs
Routes
| Method | Path | What it does | Price |
|---|---|---|---|
| GET | /gasprices/blockprices | Gas price estimates for 14 EVM chains, Blocknative-compatible | free |
| GET | /v2/gas | Gas API v2: any EVM chain, multi-block horizon, confidence levels, USD cost (two-exchange cross-check), inputs echoed, receipt. Params: chain, confidenceLevels, blocks, usd | free |
| GET | /v2/gas/history | Base fee and tip percentiles over the last 1-720 hours (one sample per minute, 30-day retention) | free |
| GET | /v2/gas/accuracy | How the tip quoted at each confidence level compared with what blocks then contained | free |
| GET | /docs/gas-method | Exactly how the estimates are computed, reproducible from the response | free |
| GET | /a2a/health | Service health and per-chain data freshness | free |
| GET | /healthz | Deep health for monitors: 200 only when every critical dependency is fine | free |
| GET | /status | Human-readable status page (JSON at /status.json) | free |
| POST | /mcp | MCP server (Streamable HTTP): get_gas_prices, list_supported_chains | free |
| POST | /a2a | A2A JSON-RPC: message/send | free |
| GET | /premium/snapshot | All-chains gas snapshot: Gas price estimates for every supported chain in a single call. | x402 |
| GET | /premium/curve | Extended confidence curve: A dense gas-price curve (20 confidence points, 5-99%) for one chain, beyond the free tier's 12-level cap. | x402 |
| GET | /premium/forecast | Next-blocks fee forecast: Deterministic worst/best-case base-fee bound for the next 1-10 blocks (EIP-1559's 12.5%-per-block cap), not a statistical prediction. | x402 |
| GET | /v1/tools | List the 81 tools with their JSON Schemas | free |
| POST | /paid/v1/tools/{name} | Pay-per-call version of the priced tools ($0.001-$0.005 USDC via x402). Errors are never charged | x402 |
| POST | /v1/tools/{name} | Call a tool (JSON body = tool input). Same tools over MCP at /mcp/v2 | free |
Quickstarts
Gas prices (free, no key)
curl
curl "https://logicnodes.io/gasprices/blockprices?chainid=8453"TypeScript
const res = await fetch("https://logicnodes.io/gasprices/blockprices?chainid=8453");
const gas = await res.json();
console.log(gas.blockPrices[0].estimatedPrices[0]); // 99% confidence, gweiPython
import requests
gas = requests.get("https://logicnodes.io/gasprices/blockprices", params={"chainid": 8453}, timeout=10).json()
print(gas["blockPrices"][0]["estimatedPrices"][0]) # 99% confidence, gweiGas API v2 (multi-block, USD, history)
curl
curl "https://logicnodes.io/v2/gas?chain=eip155:8453&confidenceLevels=99,90&blocks=3"TypeScript
const r = await fetch("https://logicnodes.io/v2/gas?chain=eip155:8453&blocks=3");
const { ok, value, provenance, receipt } = await r.json();
console.log(value.estimates[0], value.usd.costs[0]);Python
import requests
r = requests.get("https://logicnodes.io/v2/gas", params={"chain": "eip155:8453", "blocks": 3}, timeout=10).json()
print(r["value"]["estimates"][0], r["value"]["usd"]["status"])MCP: connect an agent
curl
curl -s https://logicnodes.io/mcp -H "content-type: application/json" -H "accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'TypeScript
// any MCP client; the server is stateless Streamable HTTP
{ "mcpServers": { "logicnodes": { "url": "https://logicnodes.io/mcp" } } }Python
# MCP Python SDK (pip install mcp)
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
async with streamablehttp_client("https://logicnodes.io/mcp") as (r, w, _):
async with ClientSession(r, w) as s:
await s.initialize()
print(await s.list_tools())Multi-chain and Aptos tools (REST)
curl
curl -s https://logicnodes.io/v1/tools/aptos_asset_resolve -H "content-type: application/json" -d '{"query":"USDC"}'TypeScript
const r = await fetch("https://logicnodes.io/v1/tools/gas_estimate", {
method: "POST", headers: { "content-type": "application/json" },
body: JSON.stringify({ chain: "aptos:1" }),
});
const { ok, value, error, provenance, receipt } = await r.json();Python
import requests
r = requests.post("https://logicnodes.io/v1/tools/gas_estimate", json={"chain": "aptos:1"}, timeout=15).json()
print(r["ok"], r.get("value") or r["error"])Paid endpoints with x402 (when payments are live)
curl
# 1. unpaid call returns HTTP 402 and a base64 "Payment-Required" header describing price, asset, network and payTo
curl -i https://logicnodes.io/premium/snapshotTypeScript
import { x402Client } from "@x402/core/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
const client = registerExactEvmScheme(new x402Client(), { signer: yourViemAccount });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://logicnodes.io/premium/snapshot");Python
# Plain HTTP flow any language can implement:
# 1) GET the URL -> 402 + Payment-Required header (base64 JSON: accepts[] with network, asset, amount, payTo)
# 2) sign a payment for one of the accepts[] entries with your wallet
# 3) retry the GET with the signed payload in the payment header; success returns 200 + Payment-Response
# See https://x402.org for client libraries.
Tools
| Name | What it does |
|---|---|
chain_info | Chain info |
gas_estimate | Gas / fee estimate |
address_validate | Validate an address |
token_amount_convert | Convert token amounts |
tx_status | Transaction status |
aptos_address_validate | Validate an Aptos address |
aptos_name_resolve | Resolve an Aptos name (.apt) |
aptos_asset_resolve | Resolve an Aptos asset |
aptos_amount_convert | Convert an Aptos amount |
aptos_balance_get | Aptos balances at a ledger version |
aptos_fee_estimate | Aptos fee estimate |
aptos_tx_simulate | Simulate an Aptos transaction |
aptos_tx_decode | Decode an Aptos entry-function call |
aptos_tx_status | Aptos transaction status |
aptos_view | Call an Aptos view function |
decimal_calc | Exact decimal arithmetic |
table_calc | Exact math over a table (sums, averages, per-group totals) — no hallucinated numbers |
verify_answer | Check numbers before you send them (correct / wrong + the right value) |
quote_check | Does the source really say this? (quote and citation check) |
text_facts | Exact counts, limits and differences for text |
reconcile | Reconcile two lists (bank vs ledger, invoices vs payments): matched, mismatched, missing |
json_check | Is this JSON valid and does it match the schema? (exact errors with paths) |
invoice_check | Compute or check an invoice exactly (lines, discounts, tax, shipping, total) |
timesheet_calc | Hours, overtime and pay from clock-in/out entries (exact) |
list_ops | Exact list operations: dedupe, sort, union, intersection, difference, compare |
contact_normalize | Clean and dedupe emails and phone numbers (E.164) |
find_free_slots | Meeting times that work for everyone (time zones and DST handled) |
date_series | Recurring dates: every 2nd Tuesday, last business day of the month, every 2 weeks |
table_join | Join two tables on a key (VLOOKUP done exactly) |
pii_redact | Find and redact personal data and secrets in text before it is logged or shared |
id_check | Validate identifiers by their check digits (IBAN, routing number, barcode, ISBN, VIN, NPI, EIN) |
table_profile | Profile a spreadsheet: what every column holds and what is wrong with it |
holiday_calendar | Public holidays by rule: US federal, England and Wales bank holidays (with observed dates) |
fx_rate | Currency conversion at official ECB reference rates (dated, never guessed) |
slippage_bounds | Slippage bounds in base units |
swap_price_impact | Constant-product swap output and price impact |
money_calc | Currency-aware money math |
interest_calc | Simple and compound interest |
loan_calc | Level-payment loan |
unit_convert | Exact unit conversion |
address_format_check | Cross-chain address format check |
time_convert | Time zone conversion |
business_days | Business-day arithmetic |
evm_balance | EVM balances at one block |
evm_nonce | EVM account nonce |
evm_block | EVM block summary |
evm_tx_receipt | EVM transaction receipt |
evm_token_metadata | ERC-20 token metadata |
evm_allowance | ERC-20 allowance |
evm_contract_type | Classify an EVM address |
evm_logs | EVM event logs (bounded) |
evm_calldata_decode | Decode calldata with your ABI |
evm_log_decode | Decode an event log with your ABI |
payment_verify | Verify a token payment from a receipt |
random_from_block | Verifiable randomness from a finalized block |
erc8004_agent | ERC-8004 agent identity |
erc8004_reputation | ERC-8004 reputation evidence |
evm_spend_report | Wallet token spend report (CSV) |
x402_settlement_verify | Did this agent really pay me? (x402 settlement check) |
token_price | Token price in USD (two exchanges must agree) |
ens_resolve | ENS name to address, or address to ENS name |
tx_safety_check | Is this transaction safe to sign? (simulate + risk check) |
sanctions_check | Sanctions screening for a crypto address |
counterparty_check | Can I trust this counterparty? (sanctions, history, identity, verified deals) |
wallet_watch_create | Watch a wallet for 30 days (signed webhooks) |
wallet_watch_status | Status and recent events of a wallet watch |
wallet_watch_cancel | Cancel a wallet watch |
audit_log_create | Create a tamper-evident audit log |
audit_log_append | Append an entry to an audit log |
audit_log_export | Export an audit log with its integrity check |
deal_dispute_review | Advisory ruling on a notarized deal (dispute review) |
operator_verify_start | Start verifying the domain behind an agent |
operator_verify_check | Check and issue the verified-operator badge |
agent_register_prepare | Prepare an agent's ERC-8004 registration (free) |
agent_register_publish | Host the agent's files and build its ERC-8004 registration transaction |
x402_service_search | Find a paid API for a task (ranked x402 services) |
x402_provider_report | Everything measured about one x402 provider |
x402_monitor_create | Monitor an x402 provider for 30 days (signed webhooks) |
x402_monitor_status | Status and recent alerts of a provider monitor |
x402_monitor_cancel | Cancel a provider monitor |
x402_provider_claim | Claim your provider listing (free) |
Schemas: /v1/tools. Aptos guide: /aptos.
Supported EVM chains
| Chain | chainid | Native |
|---|---|---|
| Ethereum | 1 | ETH |
| Base | 8453 | ETH |
| Arbitrum One | 42161 | ETH |
| OP Mainnet | 10 | ETH |
| Polygon PoS | 137 | POL |
| BNB Chain | 56 | BNB |
| Avalanche C-Chain | 43114 | AVAX |
| Linea | 59144 | ETH |
| Scroll | 534352 | ETH |
| zkSync Era | 324 | ETH |
| Gnosis | 100 | xDAI |
| Blast | 81457 | ETH |
| Mantle | 5000 | MNT |
| Celo | 42220 | CELO |
https://logicnodes.io