Dashboard
Agentic DeFi Infrastructure

Let AI agents trade onchain, with a human on the big calls.

AegisNet binds every agent to an ENS identity, routes its trades through 1inch SwapVM and Uniswap v4, and pauses high-value moves for World ID proof of human.

See how it works
Why AegisNet

Autonomy for agents. Control for owners.

Agents with a raw private key can do anything. AegisNet gives each agent a named identity with hard limits, and brings a verified human in exactly when the stakes are high.

Scoped agent identity

Every agent gets its own ENS subname, bound to one address and owned by you. Revoke it and the agent is out.

agent1.aegisnet.eth

Enforced permissions

A whitelist of target contracts and a daily spend limit live onchain. Requests outside them are rejected before they are queued.

isAgentAuthorized()

Proof of human on big moves

Anything at or above the agent's threshold pauses until a World ID proof arrives. Each proof works only once, so it can't be replayed.

≥ $1,000 → biometric gate

Programmable routing

Strategies compile to 1inch SwapVM opcodes: direct swaps, split routes, Uniswap v4 hops, Aqua positions and a minimum-output check.

0x01 · 0x02 · 0x03 · 0x04 · 0x05 · 0x06

Agent-gated liquidity

A Uniswap v4 beforeSwap hook checks the caller's ENS permissions, so only registered agents can trade gated pools, and never around the biometric gate.

beforeSwap()

Owner veto

A pending high-value request can be cancelled by the agent's owner at any point before it executes. Nothing moves without the gate clearing.

cancelExecution()
ENSSubnames & access control
WorldWorld ID biometric 2FA
1inchSwapVM & Aqua routing
Uniswapv4 agent-gated hooks
How it works

Four phases, one request.

An agent asks to act. AegisNet checks who it is, builds the route, decides if a human must sign off, then settles it onchain.

  1. I

    Identity & delegation

    The agent's address resolves to its ENS subname in AegisSubnameRegistry, along with its whitelist, daily limit and biometric threshold.

  2. II

    Strategy & route

    The AI agent turns the goal into a SwapVM instruction list, including an agent-gated Uniswap v4 hop and a slippage guard, encoded for AegisSwapVMAdapter.

  3. III

    Biometric gate

    If the value meets the threshold, AegisExecutionManager holds the request. The owner verifies with World ID, or cancels.

  4. IV

    Onchain execution

    Once cleared, the manager calls the target route atomically and records the spend against the agent's daily limit.

request trace
# 1. Claude plans the trade
POST /api/agent/propose  { "amountUSD": 2500 }
← "Swap $2,500 USDC to ETH via 1inch"

# 2. agent wallet signs on Sepolia
requestExecution(adapter, calldata, 2500e18)
← ExecutionRequested  requiresBiometrics true

# 3. owner scans with World App
POST /api/worldid/attest  { proof, nullifier }
← relayer signature ✓

# 4. owner wallet approves + executes
verifyBiometricsWithRelayer(…)
executeVerifiedTransaction(requestId)
← ExecutionExecuted  EXECUTED
Use cases

Three situations, one safety net.

The same agent, three different trades. AegisNet decides, on its own, which ones can run, which need a human, and which get stopped.

Runs automatically

Treasury autopilot

A DAO's agent rebalances the treasury every day with small swaps. Each one is inside its limits, so it executes straight away and nobody has to wake up.

$250 swap→limits OK→executed
Needs a human

Whale-size trade

The agent spots an opportunity and wants to move $25,000. AegisNet holds the trade onchain until the owner proves they're a real person with World ID.

$25,000 swap→over threshold→waits for World ID
Blocked

Hacked or buggy agent

An attacker takes over the agent. It can't call contracts outside its whitelist or go past its daily limit, and the owner can revoke it in one click.

rogue call→not whitelisted→rejected
Live network

Deployed on Sepolia.

Every contract is live and verifiable on Etherscan. This list is loaded from the running backend when it's available.

ContractAddressRole
AegisSubnameRegistry0x09Ff…4625ENS subnames, permissions, text records
AegisExecutionManager0xC65d…594cRequest queue, biometric gate, execution
AegisSwapVMAdapter0xc2CA…19f11inch SwapVM opcode router
AegisUniswapV4Hook0x0F49…3B2eAgent-gated beforeSwap hook
WorldIDVerifier0xedd0…12BaWorld ID proof verification
Checking backend… Chain ID 11155111 Root name aegisnet.eth
Developers

Run it locally in minutes.

Hardhat contracts, a TypeScript API and this console, all in one repo.

Quickstart

  1. Test the contractscd contracts npm install npm test
  2. Add keys to backend/.envSEPOLIA_RPC_URL=… PRIVATE_KEY=… ENS_ROOT_NAME=aegisnet.eth WORLD_ID_APP_ID=app_…
  3. Start the API and consolecd backend npm install && npm run build npm start # → http://localhost:4000

REST API

Writes are signed by the user's wallet directly on the contracts. The API plans, verifies and indexes.

  • POST
    /api/agent/proposeClaude plans a strategy and returns the encoded calldata
  • POST
    /api/worldid/attestVerify a World ID proof and get the relayer attestation
  • GET
    /api/execution/requestsEvery trade request, indexed from chain events
  • GET
    /api/ens/agents?owner=0x…Agents an address owns
  • GET
    /api/ens/permissions/:agentAddressAn agent's live onchain limits
  • GET
    /api/uniswap/pools/:poolIdUniswap v4 agent-only gating
  • GET
    /api/healthChain, relayer, AI, World ID and indexer status
FAQs

Questions, answered.

What stops an agent from draining a wallet?
Three onchain checks. AegisExecutionManager rejects any request from an agent that isn't registered and active, or that targets a contract you didn't whitelist. Anything at or above the approval threshold waits for a World ID proof. The daily spend limit is enforced when the trade executes, and the console and backend refuse to submit or approve a trade that would break it.
What happens when a request needs biometrics?
The request is stored onchain as pending. The owner is prompted for a World ID check tied to that request ID. Once the proof is verified, the manager executes the route. Each World ID proof can be used once only, so it can't be replayed on another request.
Can I stop a request that's already pending?
Yes. The agent's owner, the agent itself or the protocol owner can call cancelExecution on any request that hasn't executed yet. In the console it's one click from the Activity tab.
Can I change an agent's limits later?
Yes. Set the biometric threshold and daily limit at registration, then update the threshold with updateBiometricThreshold, change allowed targets with setTargetContractWhitelist, or revoke the subname entirely.
Who signs the transactions?
You do. Registering, changing limits, trading, approving and cancelling are all signed by your own wallet on Sepolia. The backend never holds your keys and never spends on your behalf.
Which networks are supported?
The protocol is deployed on Ethereum Sepolia. You can also run everything against a local Hardhat node with npx hardhat node and npm run deploy.
Is the World ID check real?
Yes. The owner scans a QR code with World App. The backend checks the proof with World's Developer API, tied to that exact request, and signs an attestation that AegisExecutionManager verifies onchain. Each agent owner is bound to one verified human, so nobody else can approve their trades.

Give your first agent guardrails.

Register an agent, preview its route and run a guarded execution from the console.

Try an execution