How Euthyna works
Everything you need to understand the agent and put your own treasury on it. It runs on Arc testnet, so it uses free test USDC, but the bills, decisions and on-chain records are real.
Overview
Euthyna is an AI treasurer for small businesses. It pays your bills in USDC, keeps enough cash on hand for what's coming due, and parks the rest in a reserve.
Most AI agents get a spending limit from a config file, which means trusting whoever wrote it. Euthyna's limit lives in a smart contract and moves only with the agent's own track record, which the contract checks itself. It's an AI treasurer on probation.
How it works
- 01You own a vaultA smart contract that holds your USDC, your approved payees and your bills. Your wallet is the owner. The agent has its own Circle wallet and can act only through the vault.
- 02The agent pays billsBefore each bill is due, the agent pays it, but only to payees you approved and only within limits the contract enforces. It has no function that sends money to an address of its choosing.
- 03It makes commitmentsWhen cash sits idle, the agent moves some into reserve and commits on-chain: “every bill due before time T will still be paid on time from liquid cash.”
- 04The contract grades itAfter T (plus a short grace period), anyone can call settle(). The contract checks its own records: if every covered bill was paid on time, it's a hit; otherwise, a miss.
- 05The limit movesA hit raises the agent's score, and with it the amount it can pay on its own. A miss halves the score and freezes sweeps for 24 hours.
- Autonomous limit
- min(owner ceiling, base limit + rate × score)
- Base limit (new vault)
- 25 USDC
- Daily cap
- min(owner daily ceiling, 3 × limit)
- Hit
- score += min(avg reserve, bills paid on time) × window / 30 days
- Miss
- score ÷ 2, sweeps frozen 24h
Get started (5 min)
[ Before you start ]
- a.Install MetaMask.
- b.Get free test USDC from faucet.circle.com. Choose Arc Testnet and paste your address. On Arc, USDC is also the gas token.
- c.Pick one real bill (hosting, a subscription, a supplier) and get the payee's wallet address. Keep it at 25 USDC or less so the agent can pay it on its own.
[ Set up: 3 signatures ]
- 01Create your vaultOpen Onboard and connect your wallet; Arc Testnet is added automatically. Optionally enter a business name (shown publicly), then click Create. You get your own vault and agent wallet.
- 02Add a payeePaste the payee's address and a name. Keep or lower the default limits. The page then shows when the payee goes live, about 1 hour later.
- 03Register the billEnter the amount and an invoice number. The due date defaults to 1 hour after go-live, and earlier dates are refused, because the agent couldn't pay them in time.
- 04Fund the vaultSend test USDC to your vault address, from the faucet or from MetaMask. Send enough to cover the bill, plus a little extra.
[ What happens next ]
The agent checks your vault every 30 minutes and whenever a new bill arrives, and pays the bill before it's due. Your business shows up in Live businesses on the home page.
Using the console
- Treasury
- Balance, reserve, the agent's current limit, upcoming bills, expected inflows and owner alerts.
- Trust
- The limit over time and every commitment with its hit or miss.
- Decisions
- Every agent run: what it proposed, what policy allowed, what was sent.
- Replay
- Re-hash a decision record in your browser and compare it with the on-chain hash.
- Escalations
- Bills over the agent's limit wait here for you to approve (paid from your wallet) or cancel.
- Onboard
- Create a vault, add payees, register bills.
- Public stats
- Totals across all real (non-test) vaults.
Connect your wallet and the console opens your vault automatically. Any vault can be viewed with ?vault=0x… in the URL.
Safety rules
- +Allowlist only. The agent can pay only payees you added, and only bills that exist.
- +Payee delay. A new payee goes live after a delay (1 hour on production vaults, never under 10 minutes), so nobody can add an address and get paid instantly.
- +Per-payee caps. Each payee has a max per invoice and a max per month.
- +Limits in the contract. Bills above the agent's limit or daily cap are escalated to you, not paid.
- +A cash floor. The agent can't sweep cash below the vault's minimum liquid balance.
- +The model never decides a number. Code computes every amount; the policy layer rejects or clamps anything outside the rules, and the contract has the final word.
FAQ
cancelObligation) or replace or remove the agent (setAgent). Escalations has a Cancel button for bills waiting on you; anything else can be called on your vault's page on Arcscan.Use with AI assistants (MCP)
Euthyna ships an MCP server, so you can ask Claude, Cursor or any Model Context Protocol client about a vault in plain English: its cash, the agent's decisions, its trust record. It can also verify any decision's hash for you. It is read-only and holds no keys, so it can't move money.
[ Set up (Claude Code) ]
git clone https://github.com/theyuvan/Euthyna cd Euthyna/mcp && npm install claude mcp add euthyna -- node "$(pwd)/dist/index.js"
Claude Desktop, Cursor and HTTP setup are in the MCP guide.
[ Then ask ]
- +“What's the state of the Euthyna production vault?”
- +“What did the agent decide in its last 5 runs, and why?”
- +“Has the agent kept its promises? Show its trust history.”
- +“Verify the agent's last decision that moved money.”
- Read
- get_public_stats, list_businesses, list_vaults, get_vault, list_bills, list_payees, list_commitments, get_trust_history, list_decisions, get_decision
- Verify
- verify_decision: re-hashes a decision record locally and checks it against the chain
- Build (unsigned)
- build_settle_tx, build_add_payee_tx, build_register_bill_tx: you sign them in your own wallet
- Resources
- how-it-works docs, contract addresses, euthyna://vault/{address}
- Prompts
- treasury_report, audit_decision, explain_trust
For developers
- Network
- Arc testnet · chain 5042002
Deeper docs live in the repository:
- +contract.md: mechanism, scoring, the 22-attack loophole audit, deployed addresses
- +backend.md: the agent loop, LLM chain, setup, full API reference
- +frontend.md: pages, wallets, running and deploying the console
- +mcp/README.md: the MCP server, its tools and client setup