LlamaIndex tools for 2s.io — pay-per-call AI agent APIs on Base via x402.
Project description
llama-index-tools-twosio
LlamaIndex tools for 2s.io — pay-per-call AI agent APIs on Base via the x402 protocol.
No signup. No API keys. No monthly fees. Just a USDC-funded EVM wallet on Base mainnet. Each call settles per-request in USDC.
pip install llama-index-tools-twosio
import os
from llama_index_tools_twosio import get_twosio_tools
from llama_index.core.agent import ReActAgent
from llama_index.llms.openai import OpenAI
tools = get_twosio_tools(private_key=os.environ["EVM_PRIVATE_KEY"])
agent = ReActAgent.from_tools(tools, llm=OpenAI(model="gpt-4o-mini"))
response = agent.chat("Find recent patents for 'neural network beamforming'.")
print(response)
The agent picks the right 2s.io endpoint, calls it, pays in USDC, and returns the result — transparent to your model.
What's in the box
Each tool wraps one 2s.io endpoint with a clear description and a typed pydantic schema. The curated set covers the highest-leverage workflows:
| Tool | Endpoint | What it does | Price |
|---|---|---|---|
twosio_patents_search |
patents.search |
USPTO patent application search | $0.0018 |
twosio_papers_search |
papers.search |
Unified arXiv + PubMed + Semantic Scholar search | $0.0024 |
twosio_law_case_search |
law.case-search |
US court opinion discovery (~9M opinions) | $0.0036 |
twosio_law_case_verify |
law.case-verify |
Citation anti-hallucination check | $0.006 |
twosio_law_sanctions_check |
law.sanctions-check |
OFAC SDN screening (KYC/AML) | $0.0048 |
twosio_wikipedia_summary |
wikipedia.summary |
Wikipedia REST API summary | $0.001 |
twosio_weather_zip |
weather.zip |
US NWS current weather by ZIP | $0.0012 |
twosio_geocode_address |
geocode.address |
Address → lat/lon (LocationIQ) | $0.001 |
twosio_ai_summarize |
ai.summarize |
URL → concise summary (Tier 2, LLM-backed) | $0.0225 |
twosio_crypto_gas_oracle |
crypto.gas-oracle |
Live EVM gas oracle | $0.001 |
The full 2s.io catalog has 39 endpoints. To use one not in the curated set, build a tool manually:
from llama_index_tools_twosio import twosio_tool
from llama_index_tools_twosio._endpoints import EndpointSpec, Param
from twosio import TwoS
client = TwoS(private_key=os.environ["EVM_PRIVATE_KEY"])
custom = twosio_tool(client, EndpointSpec(
name="twosio_dns_lookup",
short_name="dns.lookup",
description="Resolve a hostname against public DNS resolvers.",
sdk_path=("dns", "lookup"),
params=[
Param("name", str, "Hostname to resolve."),
Param("type", str, "Record type (A | AAAA | MX | TXT | NS).", required=False),
],
))
The full live catalog: https://2s.io/api/directory · OpenAPI: https://2s.io/api/openapi.
Filters
# Only the legal tools:
tools = get_twosio_tools(private_key=KEY, include=["law.case-search", "law.sanctions-check"])
# Everything except the LLM-backed (Tier 2) ones:
tools = get_twosio_tools(private_key=KEY, exclude=["ai.summarize"])
How payment works
Every tool call runs through the underlying 2sio SDK, which:
- Hits the 2s.io endpoint.
- Receives
HTTP 402 Payment Requiredwith an x402 envelope (price + recipient + EIP-3009 challenge). - Signs the
transferWithAuthorizationwith your private key. - Retries with the signed payload.
- Returns the response. The
meta.settlementblock in each result includes the on-chain tx hash.
You only pay for successful calls.
License
MIT.
Links
- 2s.io: https://2s.io
- Source: https://github.com/2s-io/sdk
- Issues: https://github.com/2s-io/sdk/issues
- Underlying SDK:
2sioon PyPI
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_index_tools_twosio-0.1.2.tar.gz.
File metadata
- Download URL: llama_index_tools_twosio-0.1.2.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4479ea7c2a1acccfaba331a4a039417fe4810be66e4f6827bada77a3107d3ada
|
|
| MD5 |
77faa711d27242fff6a506010547bce7
|
|
| BLAKE2b-256 |
a7009a763e9e6ca66ba8785e1a619115c64c2cf5686542ba9ad0070f2bd6f2f2
|
File details
Details for the file llama_index_tools_twosio-0.1.2-py3-none-any.whl.
File metadata
- Download URL: llama_index_tools_twosio-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8a07cb8cb3927a89def3d3d9f1cfa926f9270ebfb71c0b886d6fccb335b99ec
|
|
| MD5 |
53df3a6ec2abf9e7e54fc190133a8fd8
|
|
| BLAKE2b-256 |
698b4a4f5d9d4dd29ee0226f2f1d819c84d70f843e4324d8527b4468a2af5fde
|