Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Treasury that plans ahead, on Arc.
Translation pending
FinanceTypeScript · SolidityGitHub @FatihX1XOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
An AI-run treasury for small businesses, settled in USDC on Arc.
Hodd keeps a business's money ahead of what it owes. It tracks bills and their due dates, protects the cash they need, puts what is left to work in a Morpho vault, pays bills from the owner's own wallet, and keeps a record of every decision. A separate agent wallet, Autopilot, runs that loop on a budget the owner sets.
Built for the Tameion Agents Hackathon (Canteen × Circle, on Arc, Sep 27 – Oct 17, 2026).Read the full README ↗An AI-run treasury for small businesses, settled in USDC on Arc.
Hodd keeps a business's money ahead of what it owes. It does five things:
Autopilot runs that loop from the owner's own vault contract. The owner's wallet owns it; Hodd's agent is only its operator. The agent may invest the whole balance. An AI advisor decides how much goes into Morpho and how much into USYC, when to move between them and when to bring money back to cash for upcoming bills, and writes down why. Each bill the owner approved is paid on its payment day whatever the advisor did. The only limit on the agent is where money can go, and the contract enforces that list.
Built from scratch for the Tameion Agents Hackathon (Canteen × Circle, on Arc, Sep 27 – Oct 17, 2026). The first commit is the first day of the event.
| Live app (Arc Testnet) | app.hoddfinance.xyz |
| Landing page | hoddfinance.xyz |
| Network | Arc Testnet (chain ID 5042002), USDC for value and gas |
| Contracts | contracts/ (Foundry). HoddieVaultFactory 0x3115…e389 creates each user's vault; HoddUSYCVault 0x97A7…0b76 is allowlisted by Circle. Both verified on ArcScan |
| Contact | [email protected] |
A small business's money is never one balance. Some is cash in a wallet earning nothing, some is owed on bills coming due, and some is a reserve that should earn while it waits. The decisions are small and constant, which is exactly the work an agent can do, as long as its authority ends somewhere it cannot talk its way past.
Hodd makes the protected amount the first number, not the last:
protected capital = bills due within 30 days + safety buffer + pending transactions
deployable capital = max(total treasury - protected capital, 0)
Only deployable capital can be invested. Bills are always funded first.
Every page reads live balances from Arc Testnet, and every money movement ends with a receipt that the server verifies onchain.
| Page | What you can do there |
|---|---|
| Overview | See where the money sits: liquid cash, Morpho and USYC holdings with the protected line drawn through them, coverage and the next 30 days of bills. The USDC on every chain card shows the wallet's USDC on 12 Circle Gateway testnets as one balance. Bring USDC to Arc moves it to Arc with one button. |
| Invest | Deposit into, withdraw from or fully redeem an allowlisted Morpho vault through Circle's App Kit. Deposit USDC into USYC through Hodd's pooled vault and take USDC back, with no allowlisting needed for the user. |
| Obligations | Add bills with due dates and Arc recipients, and see them on a payment calendar and weekly outflow bars. Pay a bill from the connected wallet; it becomes PAID only after the USDC transfer is verified. A bill can also be paid from another chain through Gateway. |
| Policy | Set the safety buffer, the minimum liquidity coverage, the cap per strategy, the planning horizon (3 to 30 days) and how early bills are protected. Today's checks are shown as meters and the policy is stated in plain language. |
| Autopilot | Invest N USDC creates the owner's vault on first use and funds it. Approve a bill once with Let Autopilot pay, and the agent pays it from the vault on its payment day (a day before it is due). Return everything brings it all back through the agent; Take everything back yourself does it from the owner's wallet without Hodd. A progress rail follows each step to the verified receipt. History shows every run: what triggered it, what the engine proposed, what the AI advisor decided and why. |
| Hoddie | A treasury assistant in English and Turkish. It answers from the engine's own numbers ("Can I pay tomorrow's bills?") and drafts bills, policy changes and payment or Earn requests for the owner to approve. It never moves money. |
| Activity | A timeline of everything that happened. Local audit records are kept apart from onchain receipts. |
| Connections | Connect Hodd to Claude as a remote MCP connector with 25 tools that reach every page above (see Claude connector). Reads are instant. Every write is previewed, approved by the user in Claude and recorded, and a connection can be revoked in one click. |
Actions that send money with one tap ask once: the first press turns the button into Confirm? and the second press sends.
Wallets: MetaMask and Rabby are verified end to end on the live host. Circle Passkey (Modular Wallets, gas sponsored by the Gas Station paymaster) and Circle Embedded (PIN) are built into the app; PIN stays switched off on the live host until it is verified there. Before any live operation the owner proves control of the wallet with a free signed message.
Add https://app.hoddfinance.xyz/api/mcp as a custom connector in Claude and sign in with your Hodd account. Claude then sees the same live numbers as the app: wallet USDC, Morpho, the USYC pool and the Autopilot vault.
Every change takes two steps. hodd_prepare_change returns a preview and changes nothing. After the user approves it in the chat, Claude calls the write tool with the same values and a single-use confirmation. Claude never moves money: payment, Morpho, USYC and Autopilot requests appear under Agent requests on Overview and open the right page prefilled, and the user finishes them with their own wallet.
| Kind | Tools |
|---|---|
| Read | hodd_whoami, hodd_get_overview, hodd_list_obligations, hodd_get_obligation, hodd_check_payment ("Can I pay tomorrow's bill?"), hodd_get_allocation_preview, hodd_list_vaults_and_positions (Morpho and the USYC pool), hodd_get_autopilot (vault balances, which bills it will pay, what needs the owner, recent runs), hodd_get_unified_balance (USDC on every Gateway testnet), hodd_get_policy, hodd_list_activity, hodd_list_payments, hodd_list_requests |
| Preview | hodd_prepare_change |
| Change, applied after approval | hodd_create_obligation, hodd_update_obligation, hodd_delete_obligation (bills without payment history), hodd_update_policy (including the protection window), hodd_set_allocation_targets, hodd_pause_autopilot |
| Request, finished in Hodd with the owner's wallet | hodd_request_payment, hodd_request_earn (Morpho), hodd_request_usyc, hodd_request_autopilot (invest, approve a bill, return everything, withdraw all from the vault, lift old vault limits), hodd_dismiss_request |
flowchart LR
T["Trigger<br/>every 6 hours, a policy change, a bill's<br/>protection window, payment day or due date"] --> E["Treasury Engine<br/>due bills, top-ups and a default plan, from live balances"]
E -->|"bills and safety:<br/>pay approved bills, top up the owner, return all"| S["Runner re-checks fresh state"]
E -->|"invest or hold"| A["AI advisor (Groq, gpt-oss-120b)<br/>invest all or part, split Morpho / USYC,<br/>bring cash back for bills, and say why"]
A --> S
S --> W["Circle agent wallet signs"]
W --> R["Receipt verified on Arc<br/>run, trigger, engine proposal and rationale logged"]
withdrawAll, even with Hodd offline.setLimits.The destinations are enforced onchain by HoddieVault: an allowlist of strategies, owner-approved recipients with a cap each, and slippage bounds on every strategy call. Hodd's server and database add a second layer: owner-only row-level security, single-use quotes, a per-wallet lease, and a payment ledger that never lets two payments of the same bill run at once.
| Piece | Used for |
|---|---|
| Arc Testnet + USDC | Settlement in USDC, with USDC as gas |
| Circle Wallets, user-controlled | Circle Passkey (Modular Wallets) and Circle Embedded (PIN) for the owner's own wallet, alongside MetaMask and Rabby |
| Circle agent wallet | One Autopilot agent wallet per user, on Circle's developer-controlled Wallets through the App Kit Circle Wallets adapter. It is the vault's operator and signs every Autopilot step |
| Gas Station paymaster | Sponsored passkey transactions on Arc Testnet |
| Circle App Kit (Earn) | Vault discovery, Morpho deposits, withdrawals and redemptions |
| Circle Gateway + Forwarding Service | Unified USDC balance across 12 testnets. One button brings USDC to Arc: the shortfall is deposited with an EIP-2612 permit in a single depositWithPermit transaction, and a burn intent signed up front is submitted once Gateway credits it. Paying bills from another chain |
| USYC | Yield on reserve cash through HoddUSYCVault. Circle allowlisted this one pooled contract, so users deposit and withdraw plain USDC and never need allowlisting themselves |
| Contracts | HoddieVaultFactory (one CREATE2 vault per owner and agent) and HoddUSYCVault, both deployed and verified on Arc Testnet |
| Flow | Evidence |
|---|---|
| Autopilot, full cycle in production (2026-10-11) | Invest: approval 0x1dfe…8376, Morpho deposit of 8.955895 USDC 0xb784…d953. Return everything: withdrawal 0x81a6…bc96, then 14.973529 USDC back to the owner 0xd604…45b5 |
| Autopilot vault, full lifecycle (2026-10-14) | The owner creates the vault, funds it and approves a recipient; the Circle agent deposits into Morpho, withdraws, pays the bill and sends cash to the owner; the contract refuses a payment over the cap and to an unknown address; the owner runs withdrawAll. Pay: 0x6f25…6a01 |
| Autopilot vault with USYC, no amount limits (2026-10-14) | Limits lifted with one setLimits (0x0b34…cb1e). The Circle agent deposits 0.6 USDC into Hodd's USYC pool (0x0dfd…054d), redeems 0.2 USDC back into the vault as for a bill (0x5baa…dea6) and the rest straight to the owner () |
Details: Autopilot validation, Gateway validation, USYC validation, Hoddie validation.
Snapshot from the production database and ArcScan on 2026-10-16, 14:20 UTC. All values are testnet USDC.
| Accounts | 6: our own test business and 5 people from our circle |
| Arc transactions sent through Hodd | 150: 111 with a server-verified receipt in Hodd's database (Morpho Earn steps including approvals, bill payments and Circle agent steps), plus 39 calls to Hodd's own contracts and agent wallets found on ArcScan (vault creation and setup, USYC pool deposits and redemptions, agent test runs). 71 were signed by users' own wallets (MetaMask, Rabby) or Circle agent wallets, 79 by the development test signer used for regression and pilot runs. Contract deployments and admin calls are not counted |
| Autopilot runs | 30: 11 completed, 15 with nothing to do, 1 partial, 3 stopped safely |
| USDC moved by the agent in verified steps | 143.81 (20 verified steps) |
| Completed Morpho operations | 37: 19 deposits, 13 withdrawals, 5 redeem-all |
| Bills paid with a verified receipt | 19 (3 of them paid by Autopilot from the owner's vault) |
| Changes approved through Claude or Hoddie | 9 (6 Claude, 3 Hoddie) |
Each deposit or payment on the live host is capped at 1,000 testnet USDC. Gateway moves need MetaMask or Rabby.
| When | What was added |
|---|---|
| Sep 27 – Oct 2 | Treasury Engine and console, Circle wallets (Passkey, Embedded, MetaMask, Rabby), guarded Morpho Earn, payment ledger |
| Oct 6 – 9 | Live testnet host with kill switches, wallet ownership proofs, durable Earn and payment state machines, Claude connector (MCP), Hoddie assistant, landing page |
| Oct 10 – 11 | Autopilot agent wallet (one-click Invest and Return everything), Circle Gateway (unified balance, bring to Arc, pay from another chain), MetaMask verified live |
| Oct 12 – 13 | HoddieVault and factory, HoddUSYCVault deployed and allowlisted by Circle, USYC in the app, AI advisor with six-hourly and event triggers, one-button Gateway with permit deposits, a visual redesign of every page |
| Oct 14 | HoddieVaultFactory deployed; Autopilot runs from each owner's vault and pays approved bills through the payment ledger |
| Oct 15 – 16 | Landing page with the Claude connector, proof, use cases and FAQ; terms, risk and privacy pages; CI on GitHub Actions; hardened database write handling |
hoddfinance.xyz and the console on app.hoddfinance.xyz.src/lib/treasury): pure, deterministic functions over integer minor units.contracts/): Solidity 0.8 with Foundry and OpenZeppelin 5.Contracts are testnet-grade and unaudited. Everything runs on testnet.
pnpm install
pnpm dev
Copy .env.example to git-ignored .env.local:
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Supabase project |
SUPABASE_SECRET_KEY | Server only; writes verified payment and evidence records |
CIRCLE_API_KEY, CIRCLE_ENTITY_SECRET | Circle user wallets and the Autopilot agent wallet (server only) |
NEXT_PUBLIC_CIRCLE_APP_ID, NEXT_PUBLIC_CLIENT_KEY | Circle User-Controlled Wallets and Modular Wallets (client key restricted to your domain) |
GROQ_API_KEY | Autopilot advisor (falls back to Supabase Vault) |
GEMINI_API_KEY, OPENROUTER_API_KEY | Hoddie's command interpretation |
HODD_EARN_EXECUTION_ENABLED, HODD_PAYMENT_EXECUTION_ENABLED, HODD_AGENT_EXECUTION_ENABLED | Enable execution locally (next dev on loopback) |
Apply every migration in supabase/migrations. User wallets need no private key, seed phrase or entity secret; users connect through the browser, a PIN or a passkey.
Live mode opens only when all of these hold: a Vercel production deployment, the request host exactly app.hoddfinance.xyz, HODD_TESTNET_LIVE=true and the database's main switch on. Preview URLs stay closed.
update public.hodd_live_controls set enabled = false where key = 'EXECUTION'; pauses all live execution within 30 seconds. EARN, PAYMENTS, AGENT, AGENT_ADVISOR, USYC and PROVIDER:<name> pause one area.| Host | Serves |
|---|---|
hoddfinance.xyz, www.hoddfinance.xyz | Landing page and legal pages (/terms, /risk, /privacy) |
app.hoddfinance.xyz | Treasury console, sign-in and API routes (not indexed) |
| Any other host (previews, localhost) | The console; the landing page is at /landing |
Routing lives in src/proxy.ts, host lists in src/lib/site/hosts.ts.
| Topic | Document |
|---|---|
| Autopilot, vault mode, advisor and scheduler | docs/autopilot-validation.md |
| Circle Gateway | docs/gateway-validation.md |
| USYC and HoddUSYCVault | docs/usyc-validation.md, contracts/README.md |
| Hoddie | docs/hoddie-unified-validation.md |
pnpm typecheck
pnpm lint
pnpm test
pnpm build
pnpm test:e2e
cd contracts && forge test
MIT — see LICENSE.
0x5e98…7bb5| Autopilot pays a real bill in production (2026-10-14) | The owner approved the recipient once. Autopilot then paid the 2 USDC bill from the owner's vault, 0x35ca…796b. The bill is PAID through the payment ledger |
| AI advisor | A live Groq call returned a decision inside the envelope with its reason. The hourly scheduler tick answered 200 READY in production |
| MetaMask and Rabby | Wallet ownership proofs and verified bill payments with both; Morpho deposit, withdrawal and redeem-all with zero residual shares through Rabby |
| Bill payment with a verified receipt | 0.1 USDC, 0xf5df…6de7 |
| USYC through HoddUSYCVault | Deposit 1 USDC, then withdraw everything back to the same wallet |
| Gateway, one button | Shortfall deposited in one depositWithPermit transaction, the transfer signed before the deposit, minted on Arc |
| Claude connector | Dynamic registration, consent, all 19 tools, an approved write, a refused replay and revocation, on the production host |
| Claude connector, every feature (2026-10-20) | 25 tools in production. The connector reads the owner's live Morpho position and USYC pool position with its USDC price, and the Autopilot view matches the owner's real vault (balances, APYs, runs) |