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.
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
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
Authentication
Nodit uses X-API-KEY header auth.
Configure one API-key credential and bind it to web3.nodit.io:
CODEBLOCK0
Validate the active mapping when auth looks wrong:
CODEBLOCK1
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
- INLINECODE11
- 2. Inspect operation schema first:
-
nodit-openapi-cli post:/v1/multichain/lookupEntities -h
-
nodit-openapi-cli post:/v1/{chain}/{network}/native/getNativeBalanceByAccount -h
- INLINECODE14
- 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
- INLINECODE17
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.
- 4. Execute with key/value parameters:
-
nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'
- INLINECODE21
Operation Groups
Discovery
Account And Token Reads
- - INLINECODE23
- INLINECODE24
- INLINECODE25
- INLINECODE26
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. - INLINECODE37 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. - INLINECODE41 is equivalent to
uxc https://web3.nodit.io --schema-url <nodit_openapi_schema> <operation> ....
References
- - Usage patterns: INLINECODE43
- Curated OpenAPI schema: INLINECODE44
- Nodit introduction: https://developer.nodit.io/en/guides/overview/introduction
- Nodit entity lookup docs: https://developer.nodit.io/reference/multichain_lookupentities
- Nodit Web3 Data docs: https://developer.nodit.io/reference/gettransactionsbyaccount
Nodit Web3 数据 API 技能
使用此技能通过 uxc + OpenAPI 运行 Nodit Web3 数据 API 操作。
复用 uxc 技能以获取共享执行、身份验证和错误处理指导。
前提条件
- - uxc 已安装并可在 PATH 中使用。
- 可访问 https://web3.nodit.io 网络。
- 直接使用托管模式 URL 时,可访问 https://raw.githubusercontent.com 网络。
- 可访问精选的 OpenAPI 模式 URL:
- https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json
范围
此技能涵盖以读取为主的 Nodit Web3 数据 API 接口:
- - 多链实体查询
- 原生余额查询
- 账户交易历史
- 代币合约元数据查询
- 按合约查询代币价格
此技能不涵盖:
- - 交易提交
- 完整的 JSON-RPC 节点兼容性
- 所有 Nodit 产品接口
- 超出选定 v1 读取范围的广泛链特定 API
身份验证
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 NODITAPIKEY
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
核心工作流程
- 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. 首先检查操作模式:
- 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 TOOMANYREQUESTS,将其视为计划/层级速率限制信号,而非身份验证失败。当您已知目标网络时,暂停并继续执行链特定读取。
- 4. 使用键/值参数执行:
- 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
操作分组
发现
- - post:/v1/multichain/lookupEntities
账户和代币读取
- - post:/v1/{chain}/{network}/native/getNativeBalanceByAccount
- post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount
- post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts
- post:/v1/{chain}/{network}/token/getTokenPricesByContracts
防护措施
- - 保持自动化操作在 JSON 输出格式上;不要使用 --text。
- 首先解析稳定字段:ok、kind、protocol、data、error。
- 将此 v1 技能视为只读。
- Nodit 在某些账户和代币工作流程中与 Chainbase、Alchemy 和 Moralis 有重叠。当 Nodit 的多链操作便利性或端点形态更适合任务时优先使用,而非默认用于每个钱包查询。
- 一个具体的适用场景是 lookupEntities,Nodit 可以在您决定调用哪个链特定后续读取之前快速规范化输入字符串。
- lookupEntities 可能比其他读取更早遇到严格的计划限制。如果收到 HTTP 429 TOOMANYREQUESTS,请暂停,避免热循环重试,并在已知链的情况下直接跳转到链特定读取。
- 在 v1 中保持 contractAddresses 列表简短,并远低于文档规定的每次调用最大限制。
- 对于较长的交易历史,从小 limit 值开始,并谨慎分页。
- nodit-openapi-cli ... 等同于 uxc https://web3.nodit.io --schema-url openapischema> ...。
参考资料
- - 使用模式:references/usage-patterns.md
- 精选的 OpenAPI 模式:references/nodit-web3.openapi.json
- Nodit 介绍:https://developer.nodit.io/en/guides/overview/introduction
- Nodit 实体查询文档:https://developer.nodit.io/reference/multichain_lookupentities
- Nodit Web3 数据文档:https://developer.nodit.io/reference/gettransactionsbyaccount