MetaMask Hackathon 2026

Revolutionizing Corporate Expense Cards.

One company smart account holds the funds. Employees get signed spending permissions. AI agents get scoped sub-permissions. The contract enforces every limit before any ETH moves.

View on GitHub
Allocard model card
MetaMask Smart AccountsERC-7710 RedelegationERC-4337 Account AbstractionVenice AIETH Sepolia

The Problem

Spend violations are found after the money is gone.

Corporate cards pre-load funds. Employees and agents get access to more than any single transaction needs. Rules get checked in audits, days after the spend.

Funds are pre-loaded

The employee has access to more money than any one purchase needs.

Agents have no built-in limits

A funded AI wallet has no on-chain constraint. Nothing reverts an overspend.

Rules live in the provider

The provider can change limits or be compromised. There is no proof the rules were followed.

How Allocard Works

Delegation, not pre-loading.

The company keeps the funds. Employees receive a signed permission to spend up to defined limits. That permission is checked by the contract on every transaction. Nothing moves until every caveat passes.

Every corporate card feature, enforced on-chain

Per-user spending limit

nativeTokenTransferAmount — lifetime ETH cap

Monthly allowance reset

nativeTokenPeriodTransfer — resets on a schedule

Per-transaction cap

valueLte — maximum ETH per transaction

Merchant restrictions

allowedTargets — whitelist of recipient addresses

Card cancellation

Delegation revocation — instant, cascades to sub-delegations

Virtual cards for agents

Agent delegations — scoped and revocable

Three spending modes using ERC-7710

Pattern 1

Company → Employee → Agent

Redelegation. Agent executes.

The employee redelegates a portion of their budget to an agent. The agent executes independently within its scoped limits.

Pattern 2

Company → Agent → Employee

Agent pays the employee.

The company delegates a reimbursement budget to the agent. The agent pays the employee directly on approved claims.

Pattern 3

Company → Employee (direct)

Employee redeems directly.

The employee spends from their delegation to pay a merchant. Venice checks the purpose before the transaction executes.

Venice AI

Policy enforcement before every transaction.

Every agent request passes through Venice before execution. Venice reads on-chain caveats, the company's expense policy, and delegation-specific rules together, then returns a pass or reject decision with reasoning.

Venice and the contract check independently. Neither can override the other. Venice does not retain data between requests.

Three-layer policy context

Layer 1

On-chain caveats

Hard numeric limits from the delegation: lifetime cap, allowance, per-transaction max, allowed addresses.

Layer 2

Company expense policy

Natural language rules the employer sets. Applied to every agent request across the company.

Layer 3

Per-delegation rules

Agent-specific additions set when the employee creates the delegation.

Agent System

Three agents. Every expense workflow covered.

Each agent holds a smart account, receives a scoped delegation, and executes on-chain. No human approves individual transactions.

Travel AgentEmployee redelegates → Agent executes

Books travel within the delegated budget.

Submit a destination and dates. Venice proposes an itinerary within the caveat limits. Approve, and the agent pays.

Venice: Reads the request, caveat limits, and policy. Returns an itinerary with estimated ETH cost.

Procurement AgentEmployee redelegates → Agent executes

Buys software. Checks for duplicates first.

Submit a tool category and team size. Venice checks existing subscriptions, picks a vendor, and executes on approval.

Venice: Checks existing tools for overlap, compares vendors against the delegation limit.

Reimbursement AgentCompany delegates → Agent pays employee

Pays employees back for out-of-pocket expenses.

Submit a description, amount, and optional receipt. Venice checks the claim. ETH transfers to the employee's wallet if it passes.

Venice: Vision model reads the receipt. Text model checks the claim against company policy.

Delegation Canvas

The full spending authority tree, at a glance.

Every delegation renders as a node. Company is the root. Employees branch from it. Agent redelegations branch from employees. Revoking any node revokes its entire subtree.

Delegation Canvas — Company delegation tree
Allocard delegation canvas

Employer view

Drag employees onto the canvas to issue a delegation. Configure caveats or revoke from the node.

Employee view

See your inbound delegation and every agent you have redelegated to. Open each agent's drawer from the canvas.

Cascading revocation

Revoking an employee node revokes every agent below it. One action, full subtree.

Tech Stack

What it runs on.

Next.js 15, MetaMask Smart Accounts Kit, Venice AI, and Neon Postgres. Deployed on Vercel. Network is ETH Sepolia.

Next.js 15 + React 19

Framework

MetaMask Smart Accounts

ERC-7710 / ERC-4337

Venice AI

openai-gpt-4o-2024-11-20

Neon + Drizzle ORM

Database

React Flow

Delegation canvas

ETH Sepolia

Network

Open demo. No setup required.

See it run on ETH Sepolia.

Connect a wallet. Issue a delegation. Redelegate to an agent. Watch ETH move under contract-enforced rules.

View on GitHub