Financial operations agent for Grok Bot — controlled wallets, budgets, and auditable payments for autonomous agents.
Tally gives Grok Bots a secure financial layer: restricted Bitcoin, EVM, and Solana wallets, workflow automation, agent-to-agent escrow, and signed receipts — without handing agents unrestricted access to human money.
Grok Bot gives agents their own computers, tools, and persistent workflows. Tally gives them controlled wallets and a financial system through which they can purchase resources, hire one another, and complete economic work.
Autonomous agents need to pay for API credits, cloud compute, contractor work, research bounties, and inter-agent services. Unrestricted wallet access is unsafe. Manual finance teams cannot approve every micro-transaction.
Tally sits between intent and settlement: agents propose payments, policies and humans approve consequential transfers, every outcome is recorded.
| Capability | Description |
|---|---|
| Persistent ops | Cloud computer, long-term memory, approved sites and financial tools |
| Workflow routines | Demonstrate a process once; Tally replays it independently |
| Restricted wallets | BTC, EVM, Solana with spend limits and destination allowlists |
| Pre-payment checks | Recipient verification, invoice review, policy simulation |
| Fraud guard | Duplicate invoices, address changes, unusual amounts, prompt injection |
| Signed receipts | Tx hash, purpose, evidence, approval history — fully auditable |
| Agent escrow | Research bot hires coding bot; funds release after verification |
| Budgets & grants | Subscriptions, contractor payments, team treasuries, performance rewards |
| Emergency freeze | Instantly halt wallets and active payment routines |
Human demo ──► routine recorder ──► scheduled replay
│
▼
policy engine (limits, allowlists, multisig)
│
┌──────────────┼──────────────┐
▼ ▼ ▼
BTC wallet EVM wallet SOL wallet
│ │ │
└──────────────┼──────────────┘
▼
verify + fraud guard + simulation
│
▼
approval inbox (if required)
│
▼
broadcast + signed receipt
│
▼
audit ledger
| Module | Role |
|---|---|
src/routine |
Observe workflows, save and run routines |
src/policy |
Spend limits, allowlists, multisig thresholds |
src/wallet |
Restricted BTC / EVM / Solana adapters |
src/verify |
Recipient, invoice, and agreement checks |
src/fraud |
Duplicate detection, injection resistance |
src/escrow |
Agent-to-agent agreements and release rules |
src/receipt |
Signed payment receipts |
src/budget |
Subscriptions, grants, team treasuries |
src/freeze |
Emergency wallet and routine halt |
apps/api |
HTTP API for agents and operators |
apps/cli |
Operator CLI for pay, routine, and freeze |
See docs/ARCHITECTURE.md.
Community token mint (Solana): DZTM8EasAFG5fz54JPKPa5L9f5DDwMDcH4TnAWDspump
This is Tally's official contract address for community funding, agent bounties, and contributor rewards on Solana.
Tally operates restricted treasuries — monitoring and intent only; signing keys are never loaded into agent context.
| Network | Address |
|---|---|
| Bitcoin | bc1qf554lrdvekm8wtykx6ah80sm4mt753v08nsxqe |
| Solana | CXWHLXpxCV93MEJJjeHzNegK6CKpxt69MgVPWEPrnJsV |
| EVM (Base) | 0x5Cd8A68215ef4Bc2D42569D28a72230451C2d01d |
| Setting | Default | Purpose |
|---|---|---|
DAILY_SPEND_LIMIT_USD |
500 | Cap total daily outflow |
SINGLE_TX_LIMIT_USD |
250 | Max per transaction without escalation |
REQUIRE_APPROVAL_ABOVE_USD |
100 | Human approval threshold |
REQUIRE_MULTISIG_ABOVE_USD |
1000 | Multisignature for high-value transfers |
SIMULATE_BEFORE_SEND |
true | Dry-run before broadcast |
FREEZE_ON_SUSPICION |
true | Auto-freeze on fraud signals |
- Demonstrate — finance team reviews an invoice, approves vendor payment once while Tally observes
- Save routine — steps stored as
invoice_review → verify → simulate → approve → pay → receipt - Replay — Tally runs the routine on future invoices within policy limits
- Escalate — amounts over threshold or unusual destinations route to approval inbox
- Receipt — signed record with tx hash, purpose, evidence, and approver identity
Research bot ──request──► Tally escrow ──fund──► Coding bot
│
Verification bot inspects
│
release on pass
Tally manages agreements, holds funds in escrow, and releases payment only after predetermined checks pass.
npm run start:api| Endpoint | Description |
|---|---|
GET / |
Service info |
GET /v1/token |
Official CA and mint metadata |
GET /v1/wallets |
Treasury addresses and balances |
POST /v1/pay/intent |
Propose payment (policy + fraud screened) |
GET /v1/approvals |
Pending human approvals |
POST /v1/routines/run |
Execute saved routine |
GET /v1/receipts/:id |
Signed payment receipt |
POST /v1/freeze |
Emergency halt (operator) |
npm install
cp .env.example .env
# Propose a payment
npm run dev -- pay --amount=75 --to=vendor_acme --purpose="API credits"
# Record a workflow from demonstration
npm run dev -- routine record --name=invoice_review
# Run saved routine
npm run dev -- routine run --name=invoice_review
# Emergency freeze
npm run dev -- freeze --reason=suspicious_address_change- Agents never receive unrestricted private keys or company treasury access
- Unknown addresses blocked unless explicitly allowlisted
- Duplicate invoices and destination changes flagged before send
- Prompt-injection attempts in payment messages detected and quarantined
- High-value flows require multisignature human approval
- Emergency freeze stops all wallets and active routines immediately
git clone https://github.com/harrietbrooke/tally.git
cd tally
npm install
npm test
npm run buildMIT — Aman Gottumukkala