Skip to main content

LangChain tools for OneShot — commercial actions for AI agents

Project description

langchain-oneshot

LangChain tools for OneShot — commercial actions for AI agents.

Provides 19 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

# Create toolkit (test mode uses Base Sepolia testnet)
toolkit = OneShotToolkit.from_private_key(
    private_key="0x...",
    test_mode=True,
)

# Use all 19 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...", test_mode=True)
research = ResearchTool(client=client)
result = research.invoke({"topic": "AI agent frameworks 2026"})

Available Tools

Tool Description Cost
oneshot_email Send emails ~$0.01
oneshot_voice Make phone calls ~$0.25/min
oneshot_sms Send SMS messages ~$0.035/segment
oneshot_research Deep web research $0.50–$2.00
oneshot_people_search Search for people ~$0.10/result
oneshot_enrich_profile Enrich a profile ~$0.10
oneshot_find_email Find email address ~$0.10
oneshot_verify_email Verify email ~$0.01
oneshot_commerce_search Search products Free
oneshot_commerce_buy Purchase product Price + fee
oneshot_build Build a website ~$10 base
oneshot_update_build Update a website ~$10 base
oneshot_inbox_list List inbox emails Free
oneshot_inbox_get Get email by ID Free
oneshot_sms_inbox_list List SMS inbox Free
oneshot_sms_inbox_get Get SMS by ID Free
oneshot_notifications List notifications Free
oneshot_mark_notification_read Mark read Free
oneshot_get_balance USDC balance Free

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.

Configuration

# Test mode (Base Sepolia — no real money)
toolkit = OneShotToolkit.from_private_key("0x...", test_mode=True)

# Production (Base Mainnet — real USDC)
toolkit = OneShotToolkit.from_private_key("0x...", test_mode=False)

Requirements

  • Python 3.10+
  • langchain-core >= 0.3.0
  • eth-account >= 0.13.0
  • httpx >= 0.27.0
  • pydantic >= 2.0

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

langchain_oneshot-0.2.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_oneshot-0.2.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file langchain_oneshot-0.2.0.tar.gz.

File metadata

  • Download URL: langchain_oneshot-0.2.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for langchain_oneshot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 424f56e7d24879092baec985684154303d914bb3c28aecc799eab7ec3eea9177
MD5 be274958e69a9054cf8e55a6559326e7
BLAKE2b-256 a4ffabe7eef2556fb145c6824362c1a7019392a267c0bb2062ad3512f313fbaa

See more details on using hashes here.

File details

Details for the file langchain_oneshot-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_oneshot-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5f7f80961cbf39578b8c0d1ffbbf20a8960a701b9da6dd32f0c627a78579f0
MD5 7283fce250df6a23657bb47c583e9812
BLAKE2b-256 5d952a8e35dd379f71f8c0c8cf2c482f60eb8c3c3341b58286675a5237549b27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page