Agent wallet infrastructure
Managed wallets
for agents
Policy enforcement. Multi-tenant isolation. Webhook-driven approvals. One SDK call to go from raw keys to governed wallets.
The problem
AI agents need wallets.
Raw private keys are unacceptable.
Every agent platform solves key management differently. Most get it wrong. Hot keys with no limits. No audit trail. No way to stop a rogue agent before it drains a wallet. Steward fixes this at the infrastructure layer.
How it works
Request
Agent submits a transaction through the SDK. Includes destination, value, and calldata.
Evaluate
Policy engine checks spending limits, approved addresses, rate limits, and time windows.
Decide
Auto-approve, queue for manual review, or reject. Webhook fires on state change.
Sign
Approved transactions are signed from the agent's managed wallet and broadcast to Base.
SDK
Three calls.
Full control.
The Steward SDK handles wallet creation, policy-checked signing, and rule management. TypeScript-first. Works with any agent framework.
bun add @steward/sdk// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2b// 0x7a3f...4e2bb// result.txHash or result.status === "pending_approval"// result.txHash or result.status === "pending_approval"// result.txHash or result.status === "pending_approval"// result.txHash or result.status === "pending_approval"ng_approval"const policies = await steward.getPolicies("agent-alpha")
await steward.setPolicies("agent-alpha", [
{
id: "spend-limit",
type: "spending-limit",
enabled: true,
config: {
maxPerTx: "1000000000000000", // 0.001 ETH
maxPerDay: "10000000000000000", // 0.01 ETH
},
},
])For platforms
Multi-tenant by default
Run one Steward instance for thousands of agents across isolated tenants. Each tenant gets its own API key, policies, and webhook endpoints. No per-transaction rent. No vendor lock-in.