# LangChain Route402 Integration
Enable your LangChain agents to make autonomous USDC payments on Base blockchain.
## Installation
```bash
pip install langchain-route402
```
## Quick Start
```python
from langchain_route402 import Route402Toolkit
from langchain.agents import AgentExecutor, create_react_agent
from langchain_openai import ChatOpenAI
from langchain import hub
# Get Route402 API key from https://route402.com
toolkit = Route402Toolkit(api_key="apk_your_key_here")
# Create agent with payment capabilities
llm = ChatOpenAI(temperature=0)
prompt = hub.pull("hwchase17/react")
agent = create_react_agent(llm, toolkit.get_tools(), prompt)
agent_executor = AgentExecutor(agent=agent, tools=toolkit.get_tools(), verbose=True)
# Agent can now make payments autonomously
result = agent_executor.invoke({
"input": "Pay 0.05 USDC to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb for the premium signal"
})
```
## Features
- ✅ **Autonomous Payments**: Agents can send USDC without human intervention
- ✅ **Fast**: Payments confirmed in ~25 seconds
- ✅ **Reliable**: 0% failure rate (CONFIRMED status only)
- ✅ **Low Cost**: 0.5% fee (50 basis points)
- ✅ **Base Blockchain**: Native USDC on Base L2 (low gas fees)
## Use Cases
### 1. AI Trading Bot Buying Signals
```python
from langchain_route402 import Route402PaymentTool
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent
# Initialize tool
payment_tool = Route402PaymentTool(api_key="apk_your_key")
# Create agent
llm = ChatOpenAI(temperature=0)
agent = initialize_agent(
tools=[payment_tool],
llm=llm,
agent="zero-shot-react-description",
verbose=True
)
# Agent decides when to buy signals
agent.run(
"Monitor the market. If BTC drops below $95k, "
"buy the premium signal from 0x742d35... for 0.05 USDC"
)
```
### 2. Research Agent Paying for Data
```python
# Agent autonomously pays for premium data when needed
result = agent_executor.invoke({
"input": (
"Research the latest AI developments. "
"If you need premium research papers, pay 0.10 USDC to "
"the academic API at 0x55ee389d..."
)
})
```
### 3. Multi-Agent Marketplace
```python
from langchain.agents import Agent
# Seller agent
seller = Agent(
tools=[Route402CheckPaymentTool(api_key="apk_seller")],
llm=llm
)
# Buyer agent
buyer = Agent(
tools=[Route402PaymentTool(api_key="apk_buyer")],
llm=llm
)
# Autonomous negotiation + payment
buyer.run("Negotiate with seller, then pay for the service if price < 1 USDC")
```
## Tools
### `route402_payment`
Make USDC payments on Base blockchain.
**Inputs:**
- `seller` (str): Ethereum address receiving payment (0x...)
- `amount` (str): Amount in USDC (e.g., "0.05" = 5 cents)
- `reference` (str, optional): Tracking reference
**Returns:**
- Payment ID
- Transaction hash
- Confirmation status
**Example:**
```python
from langchain_route402 import Route402PaymentTool
tool = Route402PaymentTool(api_key="apk_your_key")
result = tool._run(
seller="0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
amount="0.05",
reference="signal-purchase-123"
)
print(result)
# ✅ Payment created successfully!
# Payment ID: pay_abc123
# Amount: 0.05 USDC
# Fee: 0.00025 USDC
# Net to seller: 0.04975 USDC
# Status: CONFIRMED
# ✅ Payment confirmed on blockchain
```
### `route402_check_payment`
Check payment status by ID.
**Inputs:**
- `payment_id` (str): Payment ID from route402_payment
**Returns:**
- Payment status
- Transaction hash
- Confirmation time
**Example:**
```python
from langchain_route402 import Route402CheckPaymentTool
tool = Route402CheckPaymentTool(api_key="apk_your_key")
result = tool._run(payment_id="pay_abc123")
print(result)
# Payment pay_abc123
# Status: CONFIRMED
# Amount: 0.05 USDC
# Seller: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb
# TX: https://basescan.org/tx/0x...
# ✅ Confirmed at 2025-01-15 10:00:25
```
## Integration with Existing Agents
### Add to OpenAI Functions Agent
```python
from langchain.agents import create_openai_functions_agent
from langchain_route402 import Route402Toolkit
toolkit = Route402Toolkit(api_key="apk_your_key")
agent = create_openai_functions_agent(
llm=ChatOpenAI(model="gpt-4", temperature=0),
tools=toolkit.get_tools(),
prompt=prompt
)
```
### Add to ReAct Agent
```python
from langchain.agents import create_react_agent
from langchain_route402 import Route402Toolkit
toolkit = Route402Toolkit(api_key="apk_your_key")
agent = create_react_agent(
llm=ChatOpenAI(temperature=0),
tools=toolkit.get_tools(),
prompt=prompt
)
```
### Add to Conversational Agent
```python
from langchain.agents import create_conversational_agent
from langchain_route402 import Route402Toolkit
toolkit = Route402Toolkit(api_key="apk_your_key")
agent = create_conversational_agent(
llm=ChatOpenAI(temperature=0),
tools=toolkit.get_tools(),
prompt=prompt
)
```
## Budget Control
Control agent spending with custom logic:
```python
class BudgetControlledAgent:
def __init__(self, api_key: str, daily_limit: float = 10.0):
self.toolkit = Route402Toolkit(api_key=api_key)
self.daily_limit = daily_limit
self.spent_today = 0.0
def can_spend(self, amount: float) -> bool:
"""Check if agent can spend this amount"""
return (self.spent_today + amount) <= self.daily_limit
def execute_payment(self, seller: str, amount: str, reference: str = None):
"""Execute payment with budget check"""
amount_float = float(amount)
if not self.can_spend(amount_float):
return f"❌ Budget exceeded. Spent: ${self.spent_today}, Limit: ${self.daily_limit}"
tool = Route402PaymentTool(api_key=self.toolkit.api_key)
result = tool._run(seller=seller, amount=amount, reference=reference)
if "✅ Payment created" in result:
self.spent_today += amount_float
return result
# Usage
agent = BudgetControlledAgent(api_key="apk_your_key", daily_limit=5.0)
agent.execute_payment(seller="0x742d35...", amount="0.05")
```
## Error Handling
```python
from route402.exceptions import APIError, ValidationError, PaymentError
try:
result = payment_tool._run(
seller="0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
amount="0.05"
)
except ValidationError as e:
print(f"Invalid input: {e}")
except APIError as e:
print(f"API error: {e.message} (status {e.status_code})")
except PaymentError as e:
print(f"Payment failed: {e}")
```
## Requirements
- Python 3.8+
- `route402>=0.1.0`
- `langchain>=0.1.0`
- `langchain-core>=0.1.0`
## Get Route402 API Key
1. Visit [route402.com](https://route402.com)
2. Connect your wallet
3. Generate API key
4. Fund your wallet with USDC on Base
## Links
- **Website:** https://route402.com
- **Documentation:** https://docs.route402.com
- **API Reference:** https://docs.route402.com/api
- **Base SDK:** https://pypi.org/project/route402/
- **GitHub:** https://github.com/route402/route402
- **Support:** hello@route402.com
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "langchain-route402",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "agents, ai, crypto, langchain, payments, route402, usdc",
"author": null,
"author_email": "Route402 <hello@route402.com>",
"download_url": "https://files.pythonhosted.org/packages/6c/e4/f1d7bf14749024de34f6ea73a29c439e687f7bfeb8433eaf86ef284bc138/langchain_route402-0.1.0.tar.gz",
"platform": null,
"description": "# LangChain Route402 Integration\n\nEnable your LangChain agents to make autonomous USDC payments on Base blockchain.\n\n## Installation\n\n```bash\npip install langchain-route402\n```\n\n## Quick Start\n\n```python\nfrom langchain_route402 import Route402Toolkit\nfrom langchain.agents import AgentExecutor, create_react_agent\nfrom langchain_openai import ChatOpenAI\nfrom langchain import hub\n\n# Get Route402 API key from https://route402.com\ntoolkit = Route402Toolkit(api_key=\"apk_your_key_here\")\n\n# Create agent with payment capabilities\nllm = ChatOpenAI(temperature=0)\nprompt = hub.pull(\"hwchase17/react\")\nagent = create_react_agent(llm, toolkit.get_tools(), prompt)\nagent_executor = AgentExecutor(agent=agent, tools=toolkit.get_tools(), verbose=True)\n\n# Agent can now make payments autonomously\nresult = agent_executor.invoke({\n \"input\": \"Pay 0.05 USDC to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb for the premium signal\"\n})\n```\n\n## Features\n\n- \u2705 **Autonomous Payments**: Agents can send USDC without human intervention\n- \u2705 **Fast**: Payments confirmed in ~25 seconds\n- \u2705 **Reliable**: 0% failure rate (CONFIRMED status only)\n- \u2705 **Low Cost**: 0.5% fee (50 basis points)\n- \u2705 **Base Blockchain**: Native USDC on Base L2 (low gas fees)\n\n## Use Cases\n\n### 1. AI Trading Bot Buying Signals\n\n```python\nfrom langchain_route402 import Route402PaymentTool\nfrom langchain_openai import ChatOpenAI\nfrom langchain.agents import initialize_agent\n\n# Initialize tool\npayment_tool = Route402PaymentTool(api_key=\"apk_your_key\")\n\n# Create agent\nllm = ChatOpenAI(temperature=0)\nagent = initialize_agent(\n tools=[payment_tool],\n llm=llm,\n agent=\"zero-shot-react-description\",\n verbose=True\n)\n\n# Agent decides when to buy signals\nagent.run(\n \"Monitor the market. If BTC drops below $95k, \"\n \"buy the premium signal from 0x742d35... for 0.05 USDC\"\n)\n```\n\n### 2. Research Agent Paying for Data\n\n```python\n# Agent autonomously pays for premium data when needed\nresult = agent_executor.invoke({\n \"input\": (\n \"Research the latest AI developments. \"\n \"If you need premium research papers, pay 0.10 USDC to \"\n \"the academic API at 0x55ee389d...\"\n )\n})\n```\n\n### 3. Multi-Agent Marketplace\n\n```python\nfrom langchain.agents import Agent\n\n# Seller agent\nseller = Agent(\n tools=[Route402CheckPaymentTool(api_key=\"apk_seller\")],\n llm=llm\n)\n\n# Buyer agent\nbuyer = Agent(\n tools=[Route402PaymentTool(api_key=\"apk_buyer\")],\n llm=llm\n)\n\n# Autonomous negotiation + payment\nbuyer.run(\"Negotiate with seller, then pay for the service if price < 1 USDC\")\n```\n\n## Tools\n\n### `route402_payment`\n\nMake USDC payments on Base blockchain.\n\n**Inputs:**\n- `seller` (str): Ethereum address receiving payment (0x...)\n- `amount` (str): Amount in USDC (e.g., \"0.05\" = 5 cents)\n- `reference` (str, optional): Tracking reference\n\n**Returns:**\n- Payment ID\n- Transaction hash\n- Confirmation status\n\n**Example:**\n```python\nfrom langchain_route402 import Route402PaymentTool\n\ntool = Route402PaymentTool(api_key=\"apk_your_key\")\nresult = tool._run(\n seller=\"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n amount=\"0.05\",\n reference=\"signal-purchase-123\"\n)\nprint(result)\n# \u2705 Payment created successfully!\n# Payment ID: pay_abc123\n# Amount: 0.05 USDC\n# Fee: 0.00025 USDC\n# Net to seller: 0.04975 USDC\n# Status: CONFIRMED\n# \u2705 Payment confirmed on blockchain\n```\n\n### `route402_check_payment`\n\nCheck payment status by ID.\n\n**Inputs:**\n- `payment_id` (str): Payment ID from route402_payment\n\n**Returns:**\n- Payment status\n- Transaction hash\n- Confirmation time\n\n**Example:**\n```python\nfrom langchain_route402 import Route402CheckPaymentTool\n\ntool = Route402CheckPaymentTool(api_key=\"apk_your_key\")\nresult = tool._run(payment_id=\"pay_abc123\")\nprint(result)\n# Payment pay_abc123\n# Status: CONFIRMED\n# Amount: 0.05 USDC\n# Seller: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\n# TX: https://basescan.org/tx/0x...\n# \u2705 Confirmed at 2025-01-15 10:00:25\n```\n\n## Integration with Existing Agents\n\n### Add to OpenAI Functions Agent\n\n```python\nfrom langchain.agents import create_openai_functions_agent\nfrom langchain_route402 import Route402Toolkit\n\ntoolkit = Route402Toolkit(api_key=\"apk_your_key\")\n\nagent = create_openai_functions_agent(\n llm=ChatOpenAI(model=\"gpt-4\", temperature=0),\n tools=toolkit.get_tools(),\n prompt=prompt\n)\n```\n\n### Add to ReAct Agent\n\n```python\nfrom langchain.agents import create_react_agent\nfrom langchain_route402 import Route402Toolkit\n\ntoolkit = Route402Toolkit(api_key=\"apk_your_key\")\n\nagent = create_react_agent(\n llm=ChatOpenAI(temperature=0),\n tools=toolkit.get_tools(),\n prompt=prompt\n)\n```\n\n### Add to Conversational Agent\n\n```python\nfrom langchain.agents import create_conversational_agent\nfrom langchain_route402 import Route402Toolkit\n\ntoolkit = Route402Toolkit(api_key=\"apk_your_key\")\n\nagent = create_conversational_agent(\n llm=ChatOpenAI(temperature=0),\n tools=toolkit.get_tools(),\n prompt=prompt\n)\n```\n\n## Budget Control\n\nControl agent spending with custom logic:\n\n```python\nclass BudgetControlledAgent:\n def __init__(self, api_key: str, daily_limit: float = 10.0):\n self.toolkit = Route402Toolkit(api_key=api_key)\n self.daily_limit = daily_limit\n self.spent_today = 0.0\n\n def can_spend(self, amount: float) -> bool:\n \"\"\"Check if agent can spend this amount\"\"\"\n return (self.spent_today + amount) <= self.daily_limit\n\n def execute_payment(self, seller: str, amount: str, reference: str = None):\n \"\"\"Execute payment with budget check\"\"\"\n amount_float = float(amount)\n\n if not self.can_spend(amount_float):\n return f\"\u274c Budget exceeded. Spent: ${self.spent_today}, Limit: ${self.daily_limit}\"\n\n tool = Route402PaymentTool(api_key=self.toolkit.api_key)\n result = tool._run(seller=seller, amount=amount, reference=reference)\n\n if \"\u2705 Payment created\" in result:\n self.spent_today += amount_float\n\n return result\n\n# Usage\nagent = BudgetControlledAgent(api_key=\"apk_your_key\", daily_limit=5.0)\nagent.execute_payment(seller=\"0x742d35...\", amount=\"0.05\")\n```\n\n## Error Handling\n\n```python\nfrom route402.exceptions import APIError, ValidationError, PaymentError\n\ntry:\n result = payment_tool._run(\n seller=\"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n amount=\"0.05\"\n )\nexcept ValidationError as e:\n print(f\"Invalid input: {e}\")\nexcept APIError as e:\n print(f\"API error: {e.message} (status {e.status_code})\")\nexcept PaymentError as e:\n print(f\"Payment failed: {e}\")\n```\n\n## Requirements\n\n- Python 3.8+\n- `route402>=0.1.0`\n- `langchain>=0.1.0`\n- `langchain-core>=0.1.0`\n\n## Get Route402 API Key\n\n1. Visit [route402.com](https://route402.com)\n2. Connect your wallet\n3. Generate API key\n4. Fund your wallet with USDC on Base\n\n## Links\n\n- **Website:** https://route402.com\n- **Documentation:** https://docs.route402.com\n- **API Reference:** https://docs.route402.com/api\n- **Base SDK:** https://pypi.org/project/route402/\n- **GitHub:** https://github.com/route402/route402\n- **Support:** hello@route402.com\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "LangChain integration for Route402 - USDC payments for AI agents",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/route402/route402/issues",
"Documentation": "https://docs.route402.com",
"Homepage": "https://route402.com",
"Repository": "https://github.com/route402/route402"
},
"split_keywords": [
"agents",
" ai",
" crypto",
" langchain",
" payments",
" route402",
" usdc"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0d06f40f2dcb22630057382c2eedd0465d855d7e4f6d77328483ba0351aedc7c",
"md5": "8646da351e37c03ff73c93ad67427e2f",
"sha256": "4f96fd8d4ad7afd755b4619db344afc1732a875a239bfcabaf840154a1ed180c"
},
"downloads": -1,
"filename": "langchain_route402-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8646da351e37c03ff73c93ad67427e2f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 6701,
"upload_time": "2025-10-06T09:54:08",
"upload_time_iso_8601": "2025-10-06T09:54:08.683426Z",
"url": "https://files.pythonhosted.org/packages/0d/06/f40f2dcb22630057382c2eedd0465d855d7e4f6d77328483ba0351aedc7c/langchain_route402-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6ce4f1d7bf14749024de34f6ea73a29c439e687f7bfeb8433eaf86ef284bc138",
"md5": "c02ff3e144f562162c4c2301059b2466",
"sha256": "5bf8664bf6cb9e8e7e4688d7ec9ce73cf2baa3b737e1a197927f3c8f36e1daa4"
},
"downloads": -1,
"filename": "langchain_route402-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c02ff3e144f562162c4c2301059b2466",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10372,
"upload_time": "2025-10-06T09:54:09",
"upload_time_iso_8601": "2025-10-06T09:54:09.967344Z",
"url": "https://files.pythonhosted.org/packages/6c/e4/f1d7bf14749024de34f6ea73a29c439e687f7bfeb8433eaf86ef284bc138/langchain_route402-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 09:54:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "route402",
"github_project": "route402",
"github_not_found": true,
"lcname": "langchain-route402"
}