BlockHelix

The execution risk layer for automated finance

Every trade checked against your written policy, every check logged, every exception documented.

Colosseum hackathon 3rd out of 454 projects

For licensed and structured fund operators. We onboard in small batches.

Policy checksimulated

POST /v1/vaults/0x8f3a/position/lever

lever USDC carry · +1,500,000 notional

The missing layer

No institutional manager trades without pre-trade compliance. On-chain, almost everyone does.

Charles River checks every order against the mandate before it leaves the desk, across roughly 300 managers and $36 trillion in assets.

Every trade can pass and the book can still be wrong. Three different tokens can all resolve to the same balance sheet, so a position that reads as diversified is 100% concentrated in a single issuer. No allowlist catches that.

LayerTraditional financeOn-chain
CustodyState Street, BNY, Northern TrustFireblocks, Anchorage, Fordefilive
Fund administrationCitco, SS&CVeda, Lagoon, Enzyme, IPORlive
Pre-trade complianceCharles River, Aladdin, SimCorpAllowlistsgap
Execution cost analysisVirtu, Abel Noser, BloombergNothinggap
Exposure and concentrationMSCI, AxiomaNothinggap

// The API

Every trade returns the numbers it passed on.

bash
$ curl -X POST https://api.blockhelix.tech/trade/loop \
  -H "Authorization: Bearer <api-key>" \
  -d '{ "deploymentId": "dep_a7a0108e", "turns": 30, "targetLtvBps": 9000,
       "maxImpactBps": 30, "maxDislocationBps": 50, "maxTicksCrossed": 2 }'

# the limits are measured against live state, not trusted from the caller

$ curl https://api.blockhelix.tech/trade/trd_784418f3
# 200 OK
# {
#   "status": "confirmed",
#   "txHash": "0x93d6cfb4…092631c2",
#   "execution": {
#     "legs": 276,
#     "impactBps": 0,
#     "dislocationBps": 0,
#     "uniTicksCrossed": 0,
#     "slippage": { "curveBps": 1, "uniswapBps": 1, "mintBps": 1 },
#     "attempt": 1, "retries": [],
#     "projectedLeverage": 9.618
#   }
# }

// Between trades

The engine re-checks liquidity, prices, and exposure around the clock.

Scheduled sweeps re-price every position between trades, and every trade is re-checked against the bounds at build time. A vault outside them cannot submit the next trade.

MONITOR vault 0x8f3a · scheduled sweep
12:04:02exit liquidityunwind 38 bpsok
12:04:14oracle vs poolUSDe 0.9994ok
12:04:26aave utilization88%ok
12:04:38borrow rate5.6%ok
12:11:07exit liquidityunwind 74 bpswarning · widening
12:11:19aave utilization96%warning · near 100%
12:11:31oracle vs poolUSDe 0.9871 · -129 bpsbreach · peg
12:11:31unwind queued · exposure capped · depositors notified

// Attribution modelling

Debug your yield.

A NAV line tells you how much. It cannot tell you why. We model every move into named drivers, each tied to its on-chain source, so you see what earned and what bled.

// NAV · 0x8F3A · JUN 12–JUL 1210,16010,0009,838REBAL9,838JUN 12JUL 12
carry+$182.00
yield accrued
slippage−$221.00
9 rebalance swaps
borrow cost−$89.00
interest · Aave
price move−$34.00
PT mark to oracle
net · residual $0.00−$162.00
Analyst

The strategy held its carry. Slippage was the largest cost, not the market.

// The checks

What we test before you sign.

Your strategy proposes a trade. These run against it first, on your own vault, and the measured values are written down whether the trade passes or not.

Execution

Price impact

Simulated at the size actually being traded, marginal against effective, both fee-inclusive. Refuses above the bound instead of discovering the cost afterwards.

Measured pre-trade
Pricing

Oracle dislocation

Spot mid against the TWAP, fee-exclusive on both sides so the comparison means something. A good quote on a dislocated book is refused.

Measured pre-trade
Liquidity

Depth and ticks crossed

How far a fill sweeps the book before it lands. Over the limit, the order is refused rather than sliced blindly at whatever the pool offers.

Measured pre-trade
Position

Leverage and health

Projected LTV against the market liquidation threshold, forward across every leg of a multi-step trade, not just the one being signed.

Projected pre-trade
Concentration

Issuer look-through

A wrapper hides its issuer. sUSDe is an ERC-4626 over USDe, so holding it is holding Ethena — and a position with sUSDe collateral against a USDtb borrow is three tokens and one balance sheet.

Coming
Contagion

Correlated liquidation

If your collateral depegs, every other borrower in that market is liquidated at the same moment and the exit liquidity you were counting on is gone. We measure how much of the market looks like you.

Coming

// The loop

Bounded on-chain.
Tuned by agents.

Every trade settles against the invariants. Simulated and live outcomes feed back into the bounds. Updates adopt through the 24-hour timelock.

BACKPROP · POLICY UPDATESBLOCKCHAINBASE · ERC-4626SIMULATIONMONTE CARLO PATHSINVARIANTSBOUNDS ON EVERY TRADEAIAGENT OPERATORS

// Talk to us

Bring your own vault.

We scope the policy against your existing mandate and wire it to the vault you already run. Onboarding is hands-on and deliberately small.

Live on Ethereum mainnet and Base.