> HOW STOCKDRIFT WORKS
ARCHITECTURE
WHY A CUSTOM HOOK?
STOCKDRIFT is built around a dedicated pool-level mechanism. The fee engine and the harvest logic are designed specifically for the ETH / $SDRIFT pool.
One hook per pool lets the product keep its own market behaviour: the fee responds to movement in this pair alone, and the value captured is routed into the same asset holders are paid in. The hook binds itself to exactly one pool at initialization and can never be repointed at another token.
THE TWO MECHANISMS
01 / DYNAMIC FEE
After every swap the hook folds |newTick − lastTick| into an EWMA. Before every swap it maps that reading onto one of three bands and overrides the pool's LP fee for that swap. The pool is created with the dynamic-fee flag, so it charges nothing on its own — the number the hook returns is the fee, every time.
02 / ETH HARVEST
When the unspecified currency of a swap is ETH, the hook takes 0.45% of that ETH out of the PoolManager and forwards it to the treasury. Under ordinary exact-input routing that means a sell of $SDRIFT pays the harvest and a buy does not. The harvest never touches $SDRIFT: the protocol accumulates ETH, not its own token.
Storm fee plus harvest is capped at 4.00%, and the cap is enforced in the setters — no combination of parameter changes can push total friction past it.
PAYOUT
- Epochs are wall-clock:
timestamp / 7 days. An epoch can only be closed once it is strictly in the past, so its holder set is final and the root is reproducible from chain history by anyone. - The keeper computes each holder's share off-chain and publishes the root. Holders pull with a proof; cost scales with claimers, not with holders.
- A close can never commit more ETH than the treasury already holds, and a claim can never exceed what its epoch committed.
- There is no path that sends ETH to an address of the owner's choosing. ETH leaves only through a claim, to the account named in the leaf.
- Unclaimed ETH from an epoch older than 26 weeks returns to the distributable pool — it never leaves the contract — and only after four uninterrupted weeks of open claiming.
WHAT THE OWNER CANNOT DO
- Change the token the hook is bound to — it is immutable.
- Touch the liquidity position, which is locked one-way.
- Move a claimer's ETH, or route ETH anywhere by hand.
- Make an arbitrary call from any protocol contract.
- Mint, tax, pause or blacklist $SDRIFT — the token has no owner at all.
What the owner can do: tune parameters behind a 7-day timelock that commits to the exact calldata in advance, and pause the harvest immediately. Pausing is strictly non-extractive — it can only make the hook take less, never more.
CONTRACT ADDRESSES
NETWORK
STOCKDRIFT targets Robinhood Chain mainnet. The interface will prompt to switch — or to add the network — when a wallet is connected elsewhere. Native currency is ETH.