For builders
The repository, how to run the whole flow on a fork, and where each piece lives.
Everything is in one repository: the contract, the two packages, the runnable CRE project, the landing, the blog API, the plans written before the code, and the log of AI assistance.
| Directory | What |
|---|---|
contracts/ | HelicoVault and its tests, Foundry |
packages/plugins/uniswap/ | Uniswap v4 on chain, @helico/plugin-uniswap |
packages/plugins/cre/ | the Chainlink CRE confidential workflow, @helico/plugin-cre |
apps/cre/ | what the CRE CLI compiles and simulates, and rehearse.sh |
apps/landing/ | helico.site, Astro |
apps/be/ | the blog API, Go and SQLite |
docs/plans/ | implementation plans, written before the code |
Run the whole flow
You need bun, Foundry (anvil, cast, forge), the cre CLI, and jq.
git clone https://github.com/0xHelico/helico && cd helico
bun install
cp apps/cre/.env.example apps/cre/.env
cd apps/cre && ./rehearse.shAbout two minutes. It forks Arbitrum One, deploys the vault onto the fork, mints a position that has drifted below the market, commits a mandate, and runs the workflow twice. The first run re-centres the position and reads it back; the second holds on the cooldown.
That proves the delivery path and the vault's execution. It does not prove authorisation by a decentralised oracle network: the simulator is not a TEE, and the mock forwarder verifies no signatures. Only the position moving counts as evidence; a transaction hash on this path does not, because the forwarder swallows a revert and still reports success.
The tests
cd contracts && ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc forge test # 100, 11 on the fork
bun run --filter @helico/plugin-cre test # 116
bun run --filter @helico/plugin-uniswap test # 52Counts as of 2026-09-06; the commands print the current ones. CI leaves the RPC unset, so the
fork suite reports SKIP there rather than a green tick for tests that did not run.
Read next
Contracts, Chainlink CRE, Uniswap plugin, Backend API, Evidence.