Conversational treasury ops where AI agents and finance teams share the same on-chain policy engine
AgentBlox is a treasury workspace where finance teams and AI assistants operate the same wallet under the same rules - not separate tools with separate guardrails.
The stack has three clear layers. Dynamic holds the keys: a human wallet for ownership and a server wallet that submits approved transactions. ENS gives each treasury a readable name (e.g. treasury.acme.eth) so people and agents can find the right address. Bloxchain is the policy enforcement layer: a smart contract treasury on Ethereum Sepolia that defines roles (who can request, approve, and execute), allowlists (which destinations and actions are permitted), waiting periods for larger payments, and a full on-chain audit trail.
Users interact through a chat interface—check balances, request vendor payments, review pending items, or probe actions that should fail. Small payments can move quickly; larger ones wait for review. Unauthorized transfers are blocked in the app first, and Bloxchain blocks them on-chain if anything gets through.
The point is simple: wallets store keys, ENS names treasuries, and Bloxchain decides what anyone is allowed to trigger.
AgentBlox is a React + Vite frontend and a TypeScript API server. Users operate treasuries through a chat Copilot (natural language or slash commands). The server runs treasury tools: read chain state, validate requests against off-chain checks, and prepare signed approvals.
On-chain policy lives in Bloxchain Protocol. Each treasury is an AccountBlox smart contract on Sepolia - roles, spending allowlists, timelock workflows, and transaction records. We use @bloxchain/sdk and Viem to read state and submit approved actions. Bloxchain is the enforcement layer: nothing executes unless the contract’s rules pass.
Dynamic sits underneath for custody - embedded login for the owner, server wallet for broadcasting after approvals (signer and executor are separate keys). ENS resolves treasury names and can store policy hints in text records. LI.FI Composer is wired for future atomic rebalance flows that must also pass Bloxchain’s allowlist.
We use EIP-712 typed signatures, a server-side policy gate before signing, Docker for Dynamic’s Node SDK on Windows, and Vitest for tests. We did not modify Bloxchain core contracts - we built the ops layer on top of them.

