Helico

Your Funds, on Autopilot

Your funds keep earning while prices move.

sys
connected · Arbitrum One · mandate armed
>
helico·nitro · us-west-2key sealed

A walkthrough, not a live account. The numbers are ones the project recorded.

Built on

  • ETHGlobal
  • Chainlink CRE
  • 1inch Aqua
  • The Graph
  • Aave v3
  • Ethereum
  • FREE-PI
  • One Dollar Audit
Your Rules

A Program That Cannot Break Your Rules

You set the rules. The program decides. The contract checks. Nothing moves otherwise.

helico · account · Arbitrum One · deployed
Your rules · example
The rules for your funds, and what each one stops
example
  1. Who may move itthe one you name nobody else, eversetAgent ↗
  2. Where it may gomarkets you allow-list and nowhere elsepermitVenue ↗
  3. Putting money to workinto a permitted market no recipient in the callsupplyIdle ↗
  4. Taking it backeven from one you revoked so revoking never traps itwithdrawIdle ↗
  5. Who the account admitsyou, or the one you named and no one else_requireOwnerOrAgent ↗
  6. The way outeverything, to you no upgrade can remove itescape ↗
  7. How much a swap may takea ceiling you set per token, on the way outmaxOut ↗
  8. Until whena date you choose then the mandate is deadexpiry ↗

Break any of these and the contract rejects the move. There is no other way in.

An example account, not a live one. The contracts are deployed on Arbitrum One, and every rule above links to the line that enforces it.

Rules for every style.

Keep more on hand or put more to work. Move on small differences or only on large ones. You pick once, and the contract stops everything else.

About the Rules
Earns the most

Active

Keeps only what a swap needs on hand, and puts the rest to work.

90% at workmoves on small gaps
Moves the least

Relaxed

Moves only when the difference is clearly worth its own gas.

70% at workmoves rarely
Keeps the most

Cautious

Holds a wide buffer, so a swap never waits on a lending market.

50% at workwide buffer
For builders

Built in the Open

Every line is public: the Aqua app, the program that decides, and the tests for both.

For builders · contracts/src/HelicoMandateSwap.sol · _requireReceiptFor · open on GitHub ↗
function _requireReceiptFor(address pool, address receipt, address token) private view {
    if (receipt == address(0)) return;
    require(IReceiptToken(receipt).UNDERLYING_ASSET_ADDRESS() == token, ReceiptIsNotFor(receipt, token));
    require(ILendingVenue(pool).getReserveAToken(token) == receipt, ReceiptIsNotFrom(receipt, pool));
}

Open by default.

The code above is the actual check our Aqua app runs, read from the source when this page is built. Every count below points at the code that proves it.

Docs for Builders
HelicoMandateSwap186 tests

An Aqua app of our own, live on Arbitrum One. The mandate is the strategy, and every refusal has a name.

Read the source ↗
@helico/plugin-thegraph28 tests

Asks the index what Aqua cannot be asked: which mandates a wallet holds, and what is left in each.

Read the source ↗
@helico/plugin-cre211 tests

Decides and sizes inside the enclave. Chainlink's network writes the move.

Read the source ↗
Helico

Your Money Stays Yours

It can move your funds. It can never keep them.

Never held

Your funds stay in your wallet.

The contract moves them for one step, and proves it kept none before that step ends.

Never outside your rules

Break a rule and the move is refused.

The contract checks every rule itself. 428 assertions run against it on every change.

Nothing hidden

All of the code is public.

Ten contracts, each proxy counted once, are deployed on Arbitrum One with their source verified. Twelve automated reviewers went over the Aqua contracts, which is not a professional audit.

80% went to work.

In a rehearsal on a copy of the real market, 50,000 USDC was funded and 40,000 went into Aave v3. That is the share the rules asked for, to the unit, and it left a 10,000 buffer. The agent ended holding none of it. A rehearsal, not the live network.

See the Record

FAQs

What is Helico, in plain words?

Money sitting in a wallet earns nothing. Money you have lent out cannot be spent. Helico keeps the balance between the two: an agent moves idle funds into a lending market you allow-listed, and pulls them back when you need cash. You set the terms once. How much stays spendable, which markets it may use, and which agent may act. The account holding your money cannot send it anywhere else, because the code has no way to.

What do I need to start?

A wallet and some stablecoins on Arbitrum. You get an account of your own at an address that is known before it is built, so you can fund it before it exists, and whatever arrives there was always yours. Ten contracts — each proxy counted once, superseded deployments not — are deployed on Arbitrum One with their source published. One account is open on the live chain, and on 11 September the program moved its idle stablecoins into Morpho — the first move made because the program said so, carried to the chain by Chainlink's network rather than by any key of ours.

Who holds my money?

An account that is yours and nobody else's. One contract per owner, not a pool everyone shares. It has a way out that no upgrade can remove: a function on the account that sends everything back to you and answers to nobody else. When it trades, the tokens go from your account to the buyer directly. The exchange keeps a record of what may be spent and never holds anything itself.

What can the automation do to it?

Two things. Put idle money into a market you allow-listed, and take it back out. Neither call has anywhere to put an address, so there is no way to write an instruction that sends your money somewhere else. An agent that was completely taken over could shuffle your money between the markets you chose, and nothing more.

When does it do nothing?

Most of the time. Interest builds every block, so the balance drifts constantly, and chasing it would mean a transaction every few minutes to move a rounding error. A move has to be worth making twice over: big enough that gas is not most of it, and big enough to matter against the size of your account. Small accounts and large ones are stopped by different halves of that.

What stays private?

How the decision is made. The program that decides runs inside a sealed environment that Chainlink's network provides. Whose funds it watches, when it looks, and how it sizes a move never leave that environment. The rules themselves are public on the chain, so anyone can check that a move followed them.

Is it live? Is it audited?

Live, but not audited. Ten contracts — each proxy counted once, superseded deployments not — are deployed on Arbitrum One with their source published, and the program that decides runs on Chainlink's network every five minutes. Two accounts are open on the live chain, the first opened on 10 September and the second on 13 September from one sentence typed into the chat, and on 11 September the program moved the first one's idle stablecoins into Morpho: the network signed the decision and wrote it to the chain, the account's own event says what moved, and no key of ours was in the transaction. Before that, the whole flow was rehearsed on a copy of the real market — an account opened at an address predicted before it existed, real stablecoins moved into the real lending market, the decision made inside a simulated sealed environment. Twelve AI reviewers went over the Aqua contracts. That is not a professional audit, and this page does not call it one.

Read the Helico docs

Stay Updated

The contracts are live on Arbitrum One. Hear what happens next.