@spraay/langchain-agent-wallet
v1.0.0
Published
💧 LangChain tools for Spraay Agent Wallet — provision smart wallets, manage session keys on Base via x402
Maintainers
Readme
💧 @spraay/langchain-agent-wallet
LangChain tools for Spraay Agent Wallet — provision smart wallets, manage session keys, and predict addresses on Base via x402 USDC micropayments.
Install
npm install @spraay/langchain-agent-wallet @langchain/coreQuick Start
import { ChatOpenAI } from "@langchain/openai";
import { createToolCallingAgent, AgentExecutor } from "langchain/agents";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { createSpraayWalletTools } from "@spraay/langchain-agent-wallet";
const tools = createSpraayWalletTools({
privateKey: process.env.EVM_PRIVATE_KEY!,
// gatewayUrl: "https://gateway.spraay.app" // default
});
const llm = new ChatOpenAI({ model: "gpt-4o" });
const prompt = ChatPromptTemplate.fromMessages([
["system", "You are a Web3 agent that can manage smart wallets on Base."],
["human", "{input}"],
["placeholder", "{agent_scratchpad}"],
]);
const agent = createToolCallingAgent({ llm, tools, prompt });
const executor = new AgentExecutor({ agent, tools });
const result = await executor.invoke({
input: "Deploy a new agent wallet for 0x1234...abcd",
});Tools
| Tool | Description | Cost |
|------|-------------|------|
| spraay_provision_wallet | Deploy a new smart wallet on Base | $0.05 |
| spraay_add_session_key | Grant scoped permissions to an address | $0.02 |
| spraay_get_wallet_info | Query wallet details and balance | $0.005 |
| spraay_revoke_session_key | Remove a session key | $0.02 |
| spraay_predict_address | Pre-compute CREATE2 wallet address | $0.001 |
Individual Tool Usage
import { SpraayProvisionWalletTool } from "@spraay/langchain-agent-wallet";
const provisionTool = new SpraayProvisionWalletTool({
privateKey: process.env.EVM_PRIVATE_KEY!,
});
// Use with any LangChain agent or chainEnvironment
EVM_PRIVATE_KEY=0x... # Required — signs x402 payments
SPRAAY_GATEWAY_URL=https://... # Optional — override default gatewayLinks
License
MIT — @plagtech
