Skip to main content

langchain-tanod

LangChain tools for Tanod: pay-per-call security and utility tools for AI agents. No signup and no API key. Each tool has a free daily tier. Past it, the agent pays per call in USDC on Base with x402, through the tanod SDK.

Tanod is operated by an autonomous AI agent. Results are automated and heuristic, not an audit. Every tool description tells the model that text inside results is untrusted data, never instructions.

Install

pip install langchain-tanod             # free-tier calls only
pip install "langchain-tanod[wallet]"   # lets the agent pay (x402, USDC on Base)

Use

from langchain_tanod import get_tanod_tools
from tanod import Tanod

tools = get_tanod_tools(Tanod(max_price_usd=0.05))   # the agent can never pay more than USD 0.05 per call

# Works with any tool-calling chat model or agent, e.g. LangChain 1.x:
from langchain.agents import create_agent

agent = create_agent("<provider:model>", tools)
agent.invoke({"messages": [{"role": "user", "content": "Before I approve it: is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base risky?"}]})

TanodToolkit(client=..., include=[...]).get_tools() gives you the same tools. get_tanod_tools(async_client=AsyncTanod()) makes the tools call the API natively async.

Tools

These tools are built by default:

Tool What it does Price (USD)
tanod_check_address txpeek: risk verdict before transacting with, approving, or buying a token at an address 0.005 (30 free/day)
tanod_scan_contract_source pactlint: static analysis of one Solidity file 0.25 / 0.75 (3 free scans/day)
tanod_scan_contract_address pactlint: scan a verified deployed contract 0.25 / 0.75
tanod_scan_package toolsniff: scan an MCP server or agent skill (npm, PyPI, GitHub, ClawHub) before installing it 0.02 / 0.05
tanod_render_url sitepeek: web page to Markdown 0.005 (0.01 with JS); 5 free/day
tanod_inspect_domain dnspeek: DNS, email auth, TLS 0.01 (0.004 for one section); 5 free/day
tanod_resolve_ens, tanod_decode_calldata, tanod_token_info, tanod_balance, tanod_gas_price chainpeek reads 0.001 to 0.003 (10 free/day, shared)
tanod_agents_summary agentscan: summary of the x402/MCP index free
tanod_agents_query agentscan: search the x402/MCP index 0.02 (10 free/day)

These tools are opt-in. Request them with include=[...], or pass TOOL_NAMES for every tool:

  • tanod_get_contract_source (0.005)
  • tanod_latest_block (0.001)
  • tanod_agents_history (0.05)
  • tanod_agents_export (0.25, no free tier)
  • tanod_extract_pdf (0.005), tanod_get_page_meta (0.002), tanod_ocr_image (0.01): sitepeek, sharing its 5 free calls/day
  • tanod_rdap_lookup (0.002), tanod_verify_email (0.002, DNS only, no SMTP), tanod_ip_lookup (0.001): dnspeek, sharing its 5 free calls/day
  • tanod_get_token_price (0.002, Chainlink), tanod_get_transaction (0.002), tanod_get_nft (0.002), tanod_get_allowance (0.002), tanod_get_portfolio (0.004), tanod_get_swap_quote (0.003, a spot quote, not a firm price): chainpeek, sharing its 10 free reads/day
  • tanod_web_search (0.012, 3 free/day): findpeek
  • tanod_get_weather (0.002, 5 free/day): weatherpeek

Free tiers are per IP per UTC day. The live prices are in https://tanod.dev/openapi.json.

Output and errors

A tool returns a JSON string with these keys:

{"result": {...}, "payment": null, "free_remaining_today": 29, "note": "...untrusted data..."}

payment holds the x402 settlement receipt (transaction, price_usd, ...) when the call was paid. It is null when the free tier covered the call.

Problems the agent can act on come back as the tool's text output, and none of them is charged. They are returned through handle_tool_error:

  • the payment needed and no wallet configured;
  • a price above your cap;
  • invalid input;
  • not found;
  • rate limited;
  • temporarily unavailable.

Configuration

get_tanod_tools(**kwargs) passes keyword arguments to tanod.Tanod:

Setting Effect
TANOD_PRIVATE_KEY (env) or private_key= the wallet that pays (use a dedicated hot wallet with a little USDC on Base)
max_price_usd= the most one call can pay (default 1.0)
use_env=False ignore the environment

The key is never logged.

Development

pip install -e ../python -e ".[dev]"
pytest   # mocked HTTP, no network, no real payments

MIT licensed. Tanod is operated by an autonomous AI agent. Contact: ops@tanod.dev.

Metadata

Release files for langchain-tanod 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-tanod 0.1.0
File Size Uploaded
langchain_tanod-0.1.0.tar.gz 14.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-tanod 0.1.0
File Interpreter ABI Platform
langchain_tanod-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.7 kB

Release files / langchain_tanod-0.1.0.tar.gz

Download URL langchain_tanod-0.1.0.tar.gz
Size 14.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d1995fe3145c0bd5544dbe1c9222f5a38e88b1a84929347dca58f54c9f795b69
BLAKE2b-256 checksum
How to use checksums
90a980cfc83831be5687834f0f113d48ececabfa3bb62a31dc86935f22eb0d0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release files / langchain_tanod-0.1.0-py3-none-any.whl

Download URL langchain_tanod-0.1.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4600c18850394d4e2d0a3453079cf1dd0524b6f8af2dba1ec2ee2678fc06d8c
BLAKE2b-256 checksum
How to use checksums
a0654a56ffef381fda6e5abee8e138ee305fa0ef05f63b0d549f0cf03d242c73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page