コピー&ペーストスニペット
自律的なL402支払いを有効にするには、任意のエージェントのシステムプロンプトに以下を追加してください:You have access to paid APIs via the L402 protocol.
When you call an API that returns HTTP 402, use the L402Client from l402-kit
to pay automatically with Bitcoin Lightning.
Budget limit: {BUDGET_SATS} sats per session. Never exceed this limit.
Report spending at the end of each session.
{BUDGET_SATS} をセッションの予算に置き換えてください(例:~$0.50の場合は1000)。
LangChain
from langchain.agents import AgentExecutor
from l402kit import L402Client
from l402kit.langchain import L402Tool
wallet = BlinkWallet(api_key=os.environ["BLINK_API_KEY"])
client = L402Client(wallet=wallet, budget_sats=1000)
tools = [L402Tool(client=client, name="paid_api")]
system = """You have access to paid APIs via the L402 protocol.
Budget: 1000 sats per session. Use the paid_api tool when you need data."""
agent = AgentExecutor(agent=..., tools=tools, system_message=system)
OpenAI Agents SDK
from agents import Agent, Runner
from l402kit import L402Client
from l402kit.wallets import BlinkWallet
wallet = BlinkWallet(api_key=os.environ["BLINK_API_KEY"])
client = L402Client(wallet=wallet, budget_sats=1000)
agent = Agent(
name="DataFetcher",
instructions="""You have access to paid APIs via the L402 protocol.
When an API returns 402, call pay_and_fetch() with the URL.
Budget: 1000 sats per session.""",
tools=[client.as_openai_tool("pay_and_fetch")]
)
CrewAI
from crewai import Agent, Task, Crew
from l402kit import L402Client
client = L402Client(wallet=wallet, budget_sats=500)
researcher = Agent(
role="API Researcher",
goal="Fetch data from paid APIs autonomously",
backstory="""You can access paid APIs using Bitcoin Lightning micropayments.
When you encounter a 402 response, pay with the l402_fetch tool.
Budget: 500 sats.""",
tools=[client.as_crewai_tool()]
)
Vercel AI SDK
import { l402Client } from "l402-kit/agent";
import { tool } from "ai";
const client = l402Client({ wallet: blinkWallet, budgetSats: 1000 });
const systemPrompt = `You have access to paid APIs via the L402 protocol.
When you need data from a paid source, use the fetchPaid tool.
Budget: 1000 sats per session.`;
const tools = {
fetchPaid: tool({
description: "Fetch data from an L402-protected API",
parameters: z.object({ url: z.string() }),
execute: async ({ url }) => client.fetch(url),
}),
};
ヒント
budgetSatsは控えめに設定してください — エージェントはAPIコールを急速に積み重ねることがあります- セッション終了時に使用状況を記録するには
spendingReport()を使用してください - 本番環境では、ユーザーごとの上限を設定できる BudgetManager を使用してください