nodit-openapi-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Nodit Web3 Data API Skill

Nodit Web3 Data API Skill

Use this skill to run Nodit Web3 Data API operations through
uxc
+ OpenAPI.
Reuse the
uxc
skill for shared execution, auth, and error-handling guidance.
使用此技能通过
uxc
+ OpenAPI运行Nodit Web3 Data API操作。
复用
uxc
技能来实现共享执行、认证和错误处理指引。

Prerequisites

前提条件

  • uxc
    is installed and available in
    PATH
    .
  • Network access to
    https://web3.nodit.io
    .
  • Network access to
    https://raw.githubusercontent.com
    when using the hosted schema URL directly.
  • Access to the curated OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json
  • A Nodit API key.
  • uxc
    已安装且可在
    PATH
    中访问。
  • 可访问
    https://web3.nodit.io
    的网络权限。
  • 直接使用托管schema URL时,需具备访问
    https://raw.githubusercontent.com
    的网络权限。
  • 可访问精心整理的OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json
  • 拥有Nodit API密钥。

Scope

适用范围

This skill covers a read-first Nodit Web3 Data API surface:
  • multichain entity lookup
  • native balance lookup
  • account transaction history
  • token contract metadata lookup
  • token price lookup by contracts
This skill does not cover:
  • transaction submission
  • full JSON-RPC node compatibility
  • every Nodit product surface
  • broad coverage of chain-specific APIs beyond the selected v1 reads
本技能覆盖以读取为主的Nodit Web3 Data API功能:
  • 多链实体查询
  • 原生代币余额查询
  • 账户交易历史查询
  • 代币合约元数据查询
  • 通过合约查询代币价格
本技能包含以下内容:
  • 交易提交
  • 完整的JSON-RPC节点兼容性
  • Nodit的全部产品功能
  • 除选定的v1读取接口外,广泛覆盖链特定API

Authentication

认证方式

Nodit uses
X-API-KEY
header auth.
Configure one API-key credential and bind it to
web3.nodit.io
:
bash
uxc auth credential set nodit \
  --auth-type api_key \
  --api-key-header X-API-KEY \
  --secret-env NODIT_API_KEY

uxc auth binding add \
  --id nodit \
  --host web3.nodit.io \
  --scheme https \
  --credential nodit \
  --priority 100
Validate the active mapping when auth looks wrong:
bash
uxc auth binding match https://web3.nodit.io
Nodit使用
X-API-KEY
头认证。
配置一个API密钥凭据并绑定到
web3.nodit.io
bash
uxc auth credential set nodit \
  --auth-type api_key \
  --api-key-header X-API-KEY \
  --secret-env NODIT_API_KEY

uxc auth binding add \
  --id nodit \
  --host web3.nodit.io \
  --scheme https \
  --credential nodit \
  --priority 100
当认证出现问题时,验证当前的映射关系:
bash
uxc auth binding match https://web3.nodit.io

Core Workflow

核心工作流

  1. Use the fixed link command by default:
    • command -v nodit-openapi-cli
    • If missing, create it:
      uxc link nodit-openapi-cli https://web3.nodit.io --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json
    • nodit-openapi-cli -h
  2. Inspect operation schema first:
    • nodit-openapi-cli post:/v1/multichain/lookupEntities -h
    • nodit-openapi-cli post:/v1/{chain}/{network}/native/getNativeBalanceByAccount -h
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts -h
  3. Prefer narrow reads before broader crawls:
    • nodit-openapi-cli post:/v1/multichain/lookupEntities input=near
    • nodit-openapi-cli post:/v1/{chain}/{network}/native/getNativeBalanceByAccount chain=ethereum network=mainnet accountAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'
If
lookupEntities
returns
HTTP 429 TOO_MANY_REQUESTS
, treat it as a plan/tier rate-limit signal rather than an auth failure. Back off and continue with chain-specific reads when you already know the target network.
  1. Execute with key/value parameters:
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'
    • nodit-openapi-cli post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount chain=ethereum network=mainnet accountAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 limit=20
  1. 默认使用固定链接命令:
    • command -v nodit-openapi-cli
    • 如果不存在,创建链接:
      uxc link nodit-openapi-cli https://web3.nodit.io --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json
    • nodit-openapi-cli -h
  2. 先查看操作schema:
    • nodit-openapi-cli post:/v1/multichain/lookupEntities -h
    • nodit-openapi-cli post:/v1/{chain}/{network}/native/getNativeBalanceByAccount -h
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts -h
  3. 优先使用窄范围读取而非广泛爬取:
    • nodit-openapi-cli post:/v1/multichain/lookupEntities input=near
    • nodit-openapi-cli post:/v1/{chain}/{network}/native/getNativeBalanceByAccount chain=ethereum network=mainnet accountAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'
如果
lookupEntities
返回
HTTP 429 TOO_MANY_REQUESTS
,将其视为套餐/层级速率限制信号而非认证失败。当已知目标网络时,暂停并继续使用链特定读取接口。
  1. 使用键值参数执行:
    • nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'
    • nodit-openapi-cli post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount chain=ethereum network=mainnet accountAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 limit=20

Operation Groups

操作分组

Discovery

发现类

  • post:/v1/multichain/lookupEntities
  • post:/v1/multichain/lookupEntities

Account And Token Reads

账户与代币读取类

  • post:/v1/{chain}/{network}/native/getNativeBalanceByAccount
  • post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount
  • post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts
  • post:/v1/{chain}/{network}/token/getTokenPricesByContracts
  • post:/v1/{chain}/{network}/native/getNativeBalanceByAccount
  • post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount
  • post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts
  • post:/v1/{chain}/{network}/token/getTokenPricesByContracts

Guardrails

防护机制

  • Keep automation on the JSON output envelope; do not use
    --text
    .
  • Parse stable fields first:
    ok
    ,
    kind
    ,
    protocol
    ,
    data
    ,
    error
    .
  • Treat this v1 skill as read-only.
  • Nodit overlaps with
    Chainbase
    ,
    Alchemy
    , and
    Moralis
    in some account and token workflows. Prefer Nodit when its multi-chain ergonomics or endpoint shape is a better fit for the task, not by default for every wallet query.
  • A concrete good fit is
    lookupEntities
    , where Nodit can quickly normalize an input string before you decide which chain-specific follow-up read to call.
  • lookupEntities
    may hit tight plan limits before other reads do. If you get
    HTTP 429 TOO_MANY_REQUESTS
    , back off, avoid hot-loop retries, and skip straight to chain-specific reads when the chain is already known.
  • Keep
    contractAddresses
    lists short in v1 and stay well under the documented per-call maximums.
  • For long transaction histories, start with small
    limit
    values and paginate deliberately.
  • nodit-openapi-cli <operation> ...
    is equivalent to
    uxc https://web3.nodit.io --schema-url <nodit_openapi_schema> <operation> ...
    .
  • 保持自动化基于JSON输出包,不要使用
    --text
    参数。
  • 优先解析稳定字段:
    ok
    ,
    kind
    ,
    protocol
    ,
    data
    ,
    error
  • 将此v1技能视为只读工具。
  • 在某些账户和代币工作流中,Nodit与
    Chainbase
    Alchemy
    Moralis
    存在功能重叠。当Nodit的多链操作便利性或端点格式更适合任务时优先选择它,而非默认用于所有钱包查询。
  • 一个典型的适用场景是
    lookupEntities
    ,在决定调用哪个链特定后续读取接口之前,Nodit可以快速规范化输入字符串。
  • lookupEntities
    可能比其他读取接口更早触发严格的套餐限制。如果收到
    HTTP 429 TOO_MANY_REQUESTS
    ,暂停操作,避免热循环重试,当已知链信息时直接使用链特定读取接口。
  • 在v1版本中,保持
    contractAddresses
    列表简短,远低于文档中规定的单次调用最大值。
  • 对于长交易历史,从小
    limit
    值开始并谨慎分页。
  • nodit-openapi-cli <operation> ...
    等同于
    uxc https://web3.nodit.io --schema-url <nodit_openapi_schema> <operation> ...

References

参考资料