Agentic finance infrastructure

The financial operating system for AI agents.

Tally gives the agents you build USDC wallets, scoped spending permissions, and per-agent analytics — without ever custodying your users' funds.

$ npm install @tally/sdk

server.ts
import { Tally } from "@tally/sdk";

const tally = new Tally(process.env.TALLY_API_KEY);

await tally.pay({
  agent_id: "research-bot",
  to: "0x7a3f…b21c",
  amount_usdc: 4.50,
  memo: "arxiv API access"
});

Agents that spend money need wallets, permissions, and accountability. Building that yourself means becoming a custodian, a compliance team, and a ledger — before you ship a single feature.

The product

Three primitives. One API key.

01

Wallets

Every user gets a USDC wallet. Every agent gets its own.

User treasury wallets are embedded and user-controlled. Agent wallets are server-signed but bounded by on-chain permission grants. Tally never holds the keys to either.

Treasury wallet1,240.00 USDC
0x9c4e…a83f 
research-bot0x7a3f…b21c24.50
procurement-agent0x3d9b…e102312.00
support-bot0x5f12…cc410.00
02

Permissions

Users decide what each agent can spend.

Permissions are signed on-chain by the user, scoped per agent, and revocable at any time. Agents start with zero authority. Nothing moves until the user grants it.

research-botRevoke
Allowance50.00 USDCSpent24.50 USDC · 49%
Granted 2 days ago · 0x4a…c2 ↗
03

Analytics

See exactly what every agent earned and spent.

Per-agent inflows, outflows, counterparties, and transaction history — indexed from the chain and surfaced in a dashboard your users can actually understand.

research-botlast 30 days
Spent124.50 USDC↓ 18 txnsReceived45.00 USDC↑ 3 txnsNet−79.50 USDC 
How it fits

You build the agent. Tally handles the money.

Tally is a financial layer, not an agent platform. Bring your own stack — LangChain, custom Python, n8n, OpenAI, Anthropic, whatever. Drop in the SDK, pass an agent_id on every call, and your agents can hold funds, spend within limits, and report back.

YOUR APP
TALLY
BASE
Dashboard(your UI)
Auth · AgentsPermissions
User signspermission grant
Your agent(your infra)
Authorize · SignBroadcast
transferFromexecutes on-chain
IndexerAnalytics
Wallets(treasury + agents)

Funds move user → chain → recipient. Never through Tally.

Trust

Tally never touches your users' money.

User wallets are provisioned through Privy's MPC infrastructure. The keys live with the user. Agent wallets can only move funds the user has explicitly authorized on-chain — and only up to the limit they signed for.

If Tally disappeared tomorrow, your users would still control their wallets, their balances, and their permission grants. That's the whole point.

01Keys held in Privy MPC — not by Tally
02Permission grants signed by the user, enforced on-chain
03Allowances revocable in a single transaction
Developer experience

Built for the way you actually ship.

01 — Register an agent

One API key per account. Register each agent with a stable string ID — that's the handle for everything downstream: permissions, payments, analytics.

register-agent.ts
await tally.agents.upsert({
  id: "research-bot",
  display_name: "Research Bot"
});
02 — Spend within limits

Every payment is checked against the user's on-chain grant for that agent. Over the limit, it fails — with a specific, actionable error, not a generic 403.

pay.ts
await tally.pay({
  agent_id: "research-bot",
  to: "0x7a3f…b21c",
  amount_usdc: 4.50
});
TallyError: insufficient_allowance
agent_id:research-bot
granted:50.00 USDC
spent:48.20 USDC
requested:4.50 USDC
remaining:1.80 USDC
03 — Receive funds

Agent wallets can receive USDC directly. Tally indexes inbound transfers and attributes them to the right agent in your dashboard.

receive.ts
const agent = await tally.agents.get("research-bot");

// share `agent.wallet_address` to receive payments
console.log(agent.wallet_address);
// → 0x7a3fA1B9c4D2e6F8a0B1c2D3e4F5a6B7c8D9e0b21c
Who this is for

If your agents handle money, you need Tally.

research

Research and data agents that pay for API access, papers, datasets.

commerce

Commerce and procurement agents that buy on a user's behalf.

earning

Earning agents — content, services, micropayments — that need to receive and report.

Get started

Start building.

One key. One SDK. Your agents on-chain in an afternoon.

Currently on Base Sepolia. Mainnet rolling out soon.