Autopilot is a vault that deposits into other vaults - and vault-on-vault, done naively, breaks fees, timing, and capital efficiency. Here's what fixing each one actually took.

"One deposit, allocated across strategies, rebalanced as conditions change." That's the whole Autopilot pitch, and it sounds elegant and simple. Elegant products have a way of hiding the engineering bill.
Here's the part that's hardest to see from the outside: Autopilot is itself a vault — a vault that deposits into other vaults. And vault-on-vault, done naively, breaks three things by default. Fees stack. Timing rules built for humans strangle the allocator. And moving capital between strategies leaves it idle mid-flight.
We upgraded our program to fix each one. Here's what that actually took.
Stack vaults naively and users pay twice: once inside each strategy vault, and once again on the layer on top. Most products "solve" this with rebates or accounting adjustments — a policy promise that the double charge will be handed back later.
We went lower in the stack. Fee terms are set per depositor at the program level. The strategy vaults charge Autopilot's position exactly zero, and the only fee that exists anywhere in the structure is the one on the Autopilot layer — the one printed on the page.

Double charging isn't "avoided" by policy. The lower layer simply never assesses it.
If you're wondering how fee state can vary by depositor at all: it was already tracked per depositor — that's how individual high-water marks work. This extended machinery we'd already chosen to build.
Strategy vaults carry lockups and cooldowns, and those are tuned for human depositors. They're protections, and good ones.
But an allocator is not a human depositor. An allocator that has to wait out a cooldown can't respond to conditions — by the time it's allowed to move, the conditions have moved on.
Per-depositor withdrawal timing solves this the same way per-depositor fees did. Autopilot runs on tighter terms inside the underlying vaults, while every other depositor's published terms stay exactly as they are. Same lockups, same cooldowns, same page.

The result: Autopilot rebalances promptly instead of queueing behind protections designed for a different kind of depositor.
Reallocating from strategy A to strategy B used to mean three steps: withdraw, wait, redeposit. In between, capital sat idle — out of the market, earning nothing, in flight between two vaults. Call it the dead hop.
Now it's a single switch request. During batch processing, the source withdrawal settles directly into the target vault as a pending deposit, with a safe fallback if the target rejects it. Capital keeps working through the rotation.

And there's a custody detail worth underlining: at no point in the switch does capital leave the program. The walled garden holds even while money moves between gardens.
Builder codes. Revenue share for partners and distributors, enforced on-chain by the program rather than by invoices. A portal is on the way where partners can register, view referral analytics, and get API access.
Tokenization. Vault shares are becoming something you can do more with. Collateralize. Lend. That's all we'll say for now.

"One deposit, allocated across strategies, rebalanced as conditions change."
The product looks simple. This was the work.
Start earning with Autopilot →