nodeflare
On-chain intelligence for AI agents — one call, 23 EVM chains.
nodeflare gives your agent the on-chain answers it actually needs — is this token a
scam, what does this wallet hold, what will this transaction do — across 23 EVM chains
in a single call, including young chains (Robinhood, Plasma, Ink, Zircuit) that
Alchemy, Moralis and revoke.cash leave as empty shells.
It ships framework-native tool packs for LangChain, CrewAI and LlamaIndex, plus a plain Python client. Get a free API key (2M compute units/month, no card) at nodeflare.app.
pip install nodeflare # plain client, stdlib-only, zero deps
pip install "nodeflare[langchain]" # + LangChain tools
pip install "nodeflare[crewai]" # + CrewAI tools
pip install "nodeflare[llamaindex]"# + LlamaIndex tools
Why
Agents that touch money need on-chain judgment, not raw JSON-RPC. Wiring that up per-chain — an indexer here, a token-safety API there, none of which cover the new chains — is the tax. NodeFlare collapses it into six tools that already speak 23 chains and return decisions, not hex.
| Tool | Answers |
|---|---|
token_safety |
Is this ERC-20 safe to trade? (ownership, upgradeable proxy, holder concentration, honeypot sim → risk score) |
wallet_report |
Everything about a wallet in one call: balances + USD total + top holdings + active approvals |
token_allowances |
What has this wallet approved, and which approvals are unlimited/risky? |
multichain_balances |
Native + ERC-20 balances (USD-priced), optionally auto-discovering every token held |
simulate_transaction |
Will this tx revert? How much gas? What tokens move? |
onchain_answer |
Plain-English question → cited verdict (the Onchain Answer Engine) |
The light path (metadata, balances, revert/gas) works without a key. The deep checks
— approvals, holder concentration, asset-change tracing, and the Answer Engine — need a
free NODEFLARE_API_KEY.
Plain client
from nodeflare import NodeFlareClient
nf = NodeFlareClient(api_key="nf_live_…") # or set NODEFLARE_API_KEY
# Risk-check a token before an agent buys it
print(nf.token_safety("base", "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"))
# One-call wallet report across all 23 chains
print(nf.wallet_report("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"))
# Natural-language verdict
print(nf.onchain_answer("Is token 0xdAC17F958D2ee523a2206206994597C13D831ec7 on eth safe?"))
LangChain
from nodeflare.langchain import get_nodeflare_tools
from langchain.chat_models import init_chat_model
tools = get_nodeflare_tools() # uses NODEFLARE_API_KEY
llm = init_chat_model("claude-opus-4-8").bind_tools(tools)
# ... hand `tools` to any LangChain agent / AgentExecutor
CrewAI
from crewai import Agent
from nodeflare.crewai import get_nodeflare_tools
analyst = Agent(
role="On-chain risk analyst",
goal="Vet tokens and wallets before the crew acts on them",
tools=get_nodeflare_tools(),
)
LlamaIndex
from llama_index.core.agent import ReActAgent
from nodeflare.llamaindex import get_nodeflare_tools
agent = ReActAgent.from_tools(get_nodeflare_tools(), llm=llm)
Auth
Every get_nodeflare_tools() and NodeFlareClient() reads NODEFLARE_API_KEY from the
environment, or takes api_key="nf_live_…" explicitly. Grab a free key at
nodeflare.app — 2M compute units/month, no card, crypto or card
top-ups when you outgrow it.
Links
- Site & keys — https://nodeflare.app
- Remote MCP server (Claude / ChatGPT connectors) —
https://mcp.nodeflare.app - npm (
nodeflare-mcp,nodeflare-agentkit) — https://www.npmjs.com/package/nodeflare-mcp
MIT © NodeFlare
Metadata
Release files for nodeflare 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nodeflare-0.1.0.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nodeflare-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.8 kB
Release files / nodeflare-0.1.0.tar.gz
| Download URL | nodeflare-0.1.0.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c38ef8e4966728987b8a7abb49f5fd0d9528d03f8235c51d4c206360bdefe6b
|
|
BLAKE2b-256 checksum How to use checksums |
e2a8fabbb06c1adda90e9db3e0ec3237c5dfadfd143f7e1fde6c32a37fc64a07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.
Transparency logRelease files / nodeflare-0.1.0-py3-none-any.whl
| Download URL | nodeflare-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
15a4607f65f0c6c87ad0a37eae44733e67b67d466c66cd1a405e9ebc871c5561
|
|
BLAKE2b-256 checksum How to use checksums |
dfe574600a7899d5ff27ba0e2507e39190b439a9485e51c74d3c6fa7f571a4da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.
Transparency log