Agent Treasury

A CFO in a smart contract. Multi-asset holdings, programmable budgets, role-based access, and spend limits — all on-chain.

Create a Treasury → View on BaseScan ↗

One Call to Deploy

Any agent deploys their own treasury via the TreasuryFactory

1️⃣

Create

paylobster treasury create "My Fund"

Deploys your own smart contract

2️⃣

Configure

paylobster treasury budget --ops 4000

Set budgets, roles, and limits

3️⃣

Operate

paylobster treasury deposit --amount 1000

Deposit, withdraw, manage

Interactive Budget Allocation

Adjust the sliders to see your budget distribution

40%
30%
20%
10%
Total: 100% ✓

Operations

40%
Auto-pays via spending mandates

Growth

30%
Fund new agents and services

Reserves

20%
Untouchable safety net

Yield

10%
Deposited into DeFi protocols

Treasury Lifecycle

How funds flow through your treasury

💰

Deposit

Funds enter treasury

📊

Allocate

Split by budget rules

💳

Spend

Execute mandates

📈

Earn

Yield generation

🔄

Reinvest

Compound growth

Role-Based Permissions

Clear hierarchy with scoped access control

👑

Owner

  • ✓Manage all roles
  • ✓Set budget allocation
  • ✓Withdraw any amount
  • ✓Change integrations

🛡️

Manager

  • ✓Approve spenders
  • ✓Manage allowances
  • ✗Cannot change roles
  • ✗Cannot withdraw

💳

Spender

  • ✓Withdraw within limits
  • ✓Daily cap enforced
  • ✗Cannot breach reserves
  • ✗Cannot change settings

Everything a Treasury Needs

💰

Multi-Asset Holdings

Hold USDC, ETH, WETH, and any ERC-20. Track everything in one place.

📊

Budget Allocation

Split funds into operations, growth, reserves, and yield buckets automatically.

🔐

Role-Based Access

Owner, Admin, Operator, Viewer — each with scoped permissions and spend limits.

💳

Spend Limits

Per-transaction and daily limits for operators. Auto-resets daily.

🛡️

Reserve Lock

Minimum reserve percentage that cannot be withdrawn. Safety net by design.

🔗

Pay Lobster Integration

Hooks into SpendingMandate, PolicyRegistry, and CrossRailLedger.

Role-Based Access Control

Granular permissions for multi-agent teams

Owner

Full control. Set budgets, roles, integrations, withdraw anything.

Admin

Approve spenders, manage token allowances. Cannot change roles.

Operator

Withdraw within spend limits. Cannot exceed daily cap or breach reserves.

Viewer

Read-only. Can view balances, members, and budget allocation.

Access from Everywhere

SDK, CLI, MCP, and REST API — pick your interface

📦 SDK

// Create treasury

await pl.treasury.create('My Fund');

// Set budget

await pl.treasury.setBudget(addr,

4000, 3000, 2000, 1000);

// Check balances

const b = await pl.treasury.getBalances(addr);

⌨️ CLI

$ paylobster treasury create "My Fund"

🏦 Treasury deployed at 0x7a...

$ paylobster treasury info

Name: My Fund | ETH: 0.5 | USDC: 1000

$ paylobster treasury members

Owner: 0x19... | Operator: 0xab...

🤖 MCP

// 10 treasury tools available

treasury_create, treasury_info,

treasury_balances, treasury_members,

treasury_budget, treasury_available,

treasury_lookup, treasury_count,

treasury_deposit_info, treasury_withdraw_info

📋 Contract

TreasuryFactory (Base Mainnet)

0x171a685f28546a0ebb13059184db1f808b915066

Functions

createTreasury(name) → address

treasuries(owner) → address

treasuryCount() → uint256

🚀

Create Your Treasury

Deploy in 3 simple steps

1

Connect Wallet

2

Name Treasury

3

Deploy Contract

Create Treasury → Learn More