hackquest logo

Mandate

One sentence becomes a self-enforcing tree of agent permissions: NL → Venice (private LLM) → ERC-7715/7710 delegation tree → gasless 1Shot execution, gas in USDC. On Base.

Videos

Project image 1
Project image 2
Project image 3
Project image 4

Tech Stack

Next
React
Web3
Node
TypeScript
viem

Description

Mandate turns a plain-English treasury policy into a self-enforcing tree of agent permissions.

Giving an AI agent access to your treasury is terrifying — too much power, no granular limits, no off-switch. Mandate gives you a third option: delegate exactly enough, and not an inch more.

How it works

1. You write a treasury policy in plain English.

2. Venice (a private LLM) decomposes it into a strict, validated JSON intent — nothing about your finances leaves the enclave.

3. The MetaMask Smart Accounts Kit builds a delegation tree: an ERC-7715 advanced permission, granted once from your own MetaMask, narrows into ERC-7710 redelegations — Principal → Manager → Payroll / DCA workers — each agent strictly weaker than its parent (capped, scoped, time-boxed on-chain).

4. Execution rides the 1Shot permissionless relayer: agents pay gas in USDC, hold zero ETH, and a single relayer task settles every payee — or a real Uniswap V3 swap — in one transaction.

5. A scheduler makes the agent pay the team AND dollar-cost-average surplus into ETH by itself, every period.

6. Kill any single branch (it stops, the rest keeps running), or pull the root from your own wallet — and the entire tree goes dark in one transaction.

What's real

- Payroll: one transaction settles every teammate, gas in USDC.

- DCA: an actual USDC→WETH swap on Uniswap V3 (Base Sepolia), sized to a live % of surplus, delivered under the mandate.

- An autonomous scheduler (period accelerated for the demo).

- A two-level kill-switch (granular per-worker revoke + a root nuke that cascades).

- The 1Shot relayer is verified on Base mainnet too (gas in USDC, zero ETH).

Sponsor tracks

- A2A Coordination — the delegation tree: agents redelegate ERC-7710, each strictly narrower than its parent.

- Venice — private NL→JSON planning; the mandate never leaves the enclave.

- 1Shot relayer — a multi-hop chain redeemed by the relayer, gas in USDC, agents hold zero ETH; verified on Base mainnet.

Repo: github.com/RaYYeR220/mandate · Demo: youtu.be/NdVUhqobUXc

Progress During Hackathon

Built end-to-end during the hackathon:

- Engine — config, a Venice NL→JSON planner with a hardened caveat/safety core, and MetaMask Smart Accounts Kit wrappers. Proved an ERC-7710 delegation chain redeems on Base Sepolia, then via the 1Shot relayer (gas in USDC) — verified on-chain.

- The ERC-7715 → ERC-7710 seam — a real MetaMask Flask advanced-permission grant narrows into worker redelegations; the whole cycle moves real USDC from the grantor down the chain.

- Dashboard — the "organic grove" Tree + Inspector UI, wired to live Venice planning + on-chain execution.

- Native 1Shot Run — discovered (against an earlier wrong conclusion) that the relayer redeems a multi-hop 7715-rooted chain; the main Run executes via 1Shot, gas in USDC, zero ETH.

- Honest treasury balance, an autonomous scheduler (gasless, with periodic-cap reset), and real DCA (2-hop: deliver under the mandate → Uniswap V3 swap) — all autonomous, with a granular two-level kill-switch.

- 1Shot on Base mainnet — a verified transaction, gas in USDC, zero ETH.

28 unit tests, type-safe end-to-end, clean production build.

Fundraising Status

Not fundraising. Independent hackathon project — no token, no raise.

Team Leader
YYehor Ivashchenko
Project Link
Deploy Ecosystem
BaseBase
Sector
DeFiAIInfra