logicnodes-io Prices and names API
The Prices and names API from logicnodes-io — 2 operation(s) for prices and names.
The Prices and names API from logicnodes-io — 2 operation(s) for prices and names.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/logicnodes-io:logicnodes-io-prices-and-names-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: LogicNodes Prices and names API
version: 1.0.0
description: 'Blockchain and finance tools AI agents can trust: exact answers or typed errors, never a plausible guess. 40+ tools for EVM chains and Aptos (balances, token amounts, transaction status and receipts, contract and calldata decoding, payment verification, gas on 14 chains), exact finance math, and ERC-8004 agent reputation. Every answer carries a receipt timestamped into Bitcoin. Free tier; pay per call in USDC via x402 on 13 networks, no API key.'
x-guidance: 'How to use LogicNodes: 1) GET /v1/tools lists every tool with its JSON Schema. 2) POST /v1/tools/<name> with a JSON body, e.g. POST /v1/tools/evm_balance {"chain":"eip155:8453","address":"0x..."} or POST /v1/tools/token_amount_convert {"chain":"eip155:8453","asset":"<token address>","amount":"1.5","direction":"toBase"}. 3) Read "ok": true with "value", or "ok": false with a typed error: INVALID_INPUT (fix the field named), AMBIGUOUS_INPUT (pick one of the options listed and call again), NOT_FOUND, UPSTREAM_ERROR (retry). Chains are CAIP-2 ids (eip155:8453 Base, eip155:1 Ethereum, aptos:1); names like "base" are refused. Amounts are decimal strings, never floats. Pricing: free tools are unlimited; priced tools are free for 25 calls per day per IP, then the same URL returns 402 with x402 terms (USDC on Base, Solana, Polygon, Arbitrum and more: /v1/payments/methods); pay and retry. A failed call is never charged. MCP: /mcp/v2. Full guide: /agent-guide.'
contact:
email: denneyconner5@gmail.com
servers:
- url: https://logicnodes.io
tags:
- name: Prices and names
paths:
/paid/v1/tools/token_price:
post:
summary: Token price in USD (two exchanges must agree) ($0.001 per call)
description: Spot USD price of a crypto asset by ticker (BTC, ETH, SOL, USDC, APT, LINK, ...), read live from Coinbase and Kraken. A price is returned only when both answer and agree within 1%; the answer is their midpoint, with both readings and the deviation. If one venue is down or they disagree, you get an error with the readings instead of a guess. Ticker prices are for the market asset, not a specific token contract.
operationId: paid_token_price
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
symbol:
type: string
minLength: 2
maxLength: 10
description: ticker such as BTC, ETH, SOL, USDC (case-insensitive)
required:
- symbol
additionalProperties: false
example:
symbol: ETH
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'400':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'402':
description: 'Payment Required: terms are in the base64 PAYMENT-REQUIRED response header'
'404':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'422':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'501':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'502':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'503':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
tags:
- Prices and names
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-logicnodes:
asset: USDC
scheme: exact
methods: https://logicnodes.io/v1/payments/methods
terms: base64 PAYMENT-REQUIRED response header
/paid/v1/tools/ens_resolve:
post:
summary: ENS name to address, or address to ENS name ($0.001 per call)
description: Resolves an ENS name (e.g. vitalik.eth) to its Ethereum address, or an address to its primary ENS name, read live from Ethereum mainnet. Give exactly one of name or address. A reverse result is returned only if that name resolves back to the same address (otherwise it is reported as unverified, never as the answer). Names are normalized (ENSIP-15) first; a name that cannot be normalized is refused.
operationId: paid_ens_resolve
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 255
address:
type: string
additionalProperties: false
example:
name: vitalik.eth
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'400':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'402':
description: 'Payment Required: terms are in the base64 PAYMENT-REQUIRED response header'
'404':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'422':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'501':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'502':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
'503':
description: Error. Same ToolResponse shape with ok:false and a typed error.code
content:
application/json:
schema:
$ref: '#/components/schemas/ToolResponse'
tags:
- Prices and names
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-logicnodes:
asset: USDC
scheme: exact
methods: https://logicnodes.io/v1/payments/methods
terms: base64 PAYMENT-REQUIRED response header
components:
schemas:
ToolResponse:
type: object
properties:
tool:
type: string
ok:
type: boolean
value:
description: present when ok
error:
type: object
properties:
code:
type: string
enum:
- INVALID_INPUT
- AMBIGUOUS_INPUT
- UNSUPPORTED_CHAIN
- UNSUPPORTED_CAPABILITY
- NOT_FOUND
- STALE_DATA
- NO_DATA
- UPSTREAM_ERROR
message:
type: string
field:
type: string
options:
type: array
items: {}
required:
- code
- message
provenance:
type: object
description: source, CAIP-2 chain, ledger position, fetchedAt
receipt:
type: object
properties:
version:
type: integer
algorithm:
type: string
tool:
type: string
digest:
type: string
required:
- tool
- ok
- receipt