Skip to main content

LangChain tools for BoltzPay — pay for API data with AI agents

Project description

PyPI Python 3.10+ License: MIT

langchain-boltzpay

LangChain tools for BoltzPay -- pay for API data with AI agents.

Install

pip install langchain-boltzpay

Prerequisites

  • Node.js 20+ (nodejs.org) -- the CLI bridge calls npx @boltzpay/cli under the hood
  • Coinbase CDP keys (docs) -- only needed for fetch (paid requests)

Quick Start

from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
from langchain_boltzpay import (
    BoltzPayFetchTool,
    BoltzPayDiagnoseTool,
    BoltzPayDiscoverTool,
)

tools = [BoltzPayDiscoverTool(), BoltzPayDiagnoseTool(), BoltzPayFetchTool()]
llm = ChatOpenAI(model="gpt-4o-mini")

prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a researcher. Use BoltzPay to access paid APIs."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)

result = executor.invoke({"input": "Diagnose the endpoint invy.bot/api"})

Tool Reference

Tool Name Description Credentials?
BoltzPayFetchTool boltzpay_fetch Fetch data from a paid API, auto-pay with USDC Yes
BoltzPayQuoteTool boltzpay_quote Get price quote without paying No
BoltzPayDiscoverTool boltzpay_discover Browse available paid APIs No
BoltzPayBudgetTool boltzpay_budget Show remaining spending budget No
BoltzPayHistoryTool boltzpay_history Show payment history No
BoltzPayWalletTool boltzpay_wallet Show wallet and config info No
BoltzPayDiagnoseTool boltzpay_diagnose Full endpoint diagnostic (protocol, health, latency) No

No Credentials Needed

Most tools work without any credentials -- perfect for exploration:

from langchain_boltzpay import BoltzPayDiscoverTool, BoltzPayDiagnoseTool

# Discover available APIs
discover = BoltzPayDiscoverTool()
print(discover._run())

# Diagnose an endpoint (protocol, health, latency)
diagnose = BoltzPayDiagnoseTool()
print(diagnose._run(url="https://invy.bot/api"))

With Credentials

To actually fetch paid data, set Coinbase CDP environment variables:

export COINBASE_API_KEY_ID="your-key-id"
export COINBASE_API_KEY_SECRET="your-key-secret"
export COINBASE_WALLET_SECRET="your-wallet-secret"
from langchain_boltzpay import BoltzPayFetchTool

fetch = BoltzPayFetchTool()
result = fetch._run(url="https://invy.bot/api")
print(result)  # Paid API response with payment receipt

Error Handling

All tools set handle_tool_error=True, so LangChain agents handle errors gracefully. You can also catch errors directly:

from langchain_boltzpay import BoltzPayFetchTool
from langchain_boltzpay.errors import (
    BoltzPayBridgeError,
    BoltzPayNodeNotFoundError,
    BoltzPayTimeoutError,
)

try:
    tool = BoltzPayFetchTool()
    tool._run(url="https://example.com/api")
except BoltzPayNodeNotFoundError:
    print("Install Node.js 20+ from https://nodejs.org")
except BoltzPayTimeoutError:
    print("CLI command timed out (default: 30s)")
except BoltzPayBridgeError as e:
    print(f"CLI error [{e.code}]: {e.message}")

Jupyter Notebook

See notebooks/getting-started.ipynb for a complete walkthrough: discover APIs, check prices, and create an agent.

MCP Alternative

If you're using CrewAI or another MCP-compatible framework, you can use the BoltzPay MCP server directly instead of this LangChain package:

npx @boltzpay/mcp

This exposes the same 7 tools via the Model Context Protocol.

Links

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_boltzpay-0.3.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

langchain_boltzpay-0.3.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file langchain_boltzpay-0.3.0.tar.gz.

File metadata

  • Download URL: langchain_boltzpay-0.3.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for langchain_boltzpay-0.3.0.tar.gz
Algorithm Hash digest
SHA256 666a1e08ac3d11020b815901b2ae6946d5e3e699d43ab96dae17717abdadb2c9
MD5 f5a510b7ae8e045cb0dcdce8640b72af
BLAKE2b-256 e87ffb4b124c64de2a50dfa1cfd5359d8dcb603009b6c43d4c59a83def7a27f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_boltzpay-0.3.0.tar.gz:

Publisher: release.yml on leventilo/boltzpay

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file langchain_boltzpay-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_boltzpay-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a75cf2f118db0d5df0014a1f6551fe40a965e785ef3e969b7f7bce6df7aec0b
MD5 1b334f1d3d5b7e5903da592504277c0f
BLAKE2b-256 8019d6be7d26083ced321493b898db0b45465c1fd377941246f3b27c9ace77e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_boltzpay-0.3.0-py3-none-any.whl:

Publisher: release.yml on leventilo/boltzpay

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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