Skip to main content

langchain-oneshot

LangChain tools for OneShot — commercial actions for AI agents.

Provides 34 tools as LangChain BaseTool subclasses with automatic x402 payment handling via USDC on Base.

Installation

pip install langchain-oneshot

Quick Start

from langchain_oneshot import OneShotToolkit
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

toolkit = OneShotToolkit.from_private_key(
    private_key="0x...",
)

# Use all 34 tools with a LangGraph agent
tools = toolkit.get_tools()
llm = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(llm, tools)

result = agent.invoke({
    "messages": [("user", "Research the latest AI agent frameworks")]
})

Individual Tools

from langchain_oneshot import OneShotClient, ResearchTool

client = OneShotClient(private_key="0x...")
research = ResearchTool(client=client)
result = research.invoke({"topic": "AI agent frameworks 2026"})

Available Tools

Tool Description
oneshot_email Send emails
oneshot_voice Make phone calls
oneshot_sms Send SMS messages
oneshot_research Deep web research
oneshot_web_search Search the web
oneshot_web_read Read a web page as markdown
oneshot_people_search Search for people
oneshot_enrich_profile Enrich a profile
oneshot_find_email Find email address
oneshot_verify_email Verify email
oneshot_deep_research_person Full dossier on a person
oneshot_social_profiles Find all social accounts
oneshot_article_search Find articles about a person
oneshot_person_newsfeed Recent social posts
oneshot_person_interests Analyze interests
oneshot_person_interactions Map followers/following
oneshot_commerce_search Search products
oneshot_commerce_buy Purchase product
oneshot_build Build a website
oneshot_update_build Update a website
oneshot_browser Browser automation task
oneshot_browser_create_profile Create a browser profile
oneshot_browser_list_profiles List browser profiles
oneshot_browser_delete_profile Delete a browser profile
oneshot_inbox_list List inbox emails
oneshot_inbox_get Get email by ID
oneshot_sms_inbox_list List SMS inbox
oneshot_sms_inbox_get Get SMS by ID
oneshot_notifications List notifications
oneshot_mark_notification_read Mark read
oneshot_get_balance USDC balance
oneshot_list_domains Sending domains + reputation/rotation state
oneshot_pause_domain Take a domain out of rotation
oneshot_resume_domain Put a paused domain back into rotation

Paid tools are priced in USDC via x402. See Pricing for current rates.

How Payments Work

Paid tools use the x402 protocol. When a tool requires payment:

  1. The client POSTs to the tool endpoint
  2. The API returns 402 Payment Required with a quote
  3. The client signs a USDC TransferWithAuthorization (EIP-3009) using your private key
  4. The client re-POSTs with the signed payment header
  5. The API processes the request and returns the result

All payment signing happens locally — your private key never leaves your machine.

Read tools (inbox, SMS inbox, notifications, balance, browser profiles) additionally send a signed EIP-712 read proof (x-agent-proof) so the API can verify you control the X-Agent-ID wallet before returning private data. This is handled by the underlying oneshot-python client — no extra code. Requires oneshot-python >= 0.18.0 (already the dependency floor).

Configuration

toolkit = OneShotToolkit.from_private_key("0x...")

# Custom API URL
toolkit = OneShotToolkit.from_private_key("0x...", base_url="https://custom-api.example.com")

The SDK operates on Base Mainnet with real USDC. Fund your wallet before making paid tool calls.

Requirements

  • Python 3.10+
  • langchain-core >= 0.3.0
  • oneshot-python >= 0.18.0
  • pydantic >= 2.0

Links

License

MIT

Metadata

Release files for langchain-oneshot 0.12.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-oneshot 0.12.0
File Size Uploaded
langchain_oneshot-0.12.0.tar.gz 128.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-oneshot 0.12.0
File Interpreter ABI Platform
langchain_oneshot-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 150.6 kB

Release files / langchain_oneshot-0.12.0.tar.gz

Download URL langchain_oneshot-0.12.0.tar.gz
Size 128.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2d5d3ba1720997c2cc1120811cfacaec7cd53f4c4b29866b7db2df69b8978fd5
BLAKE2b-256 checksum
How to use checksums
461e8fba7c9f139930cf8f7a3c9756e528dc64b1a54b213f2b61e208d2b1435b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / langchain_oneshot-0.12.0-py3-none-any.whl

Download URL langchain_oneshot-0.12.0-py3-none-any.whl
Size 22.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e29e357bcf56268f88aa90f250b60107befd4a4ebe6d8592d859a315d9d881c
BLAKE2b-256 checksum
How to use checksums
aec35d27689ed47fc198626e393831e494ebfad2d1fa49c6779ed6cc543d34d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release history Release notifications | RSS feed

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

This release

0.12.0 This release

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

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