How Arden works

Written so it can be checked against the code and against the chain. Every address and every number below is live on Robinhood Chain mainnet.

Status. 62 markets are live. Deposits and withdrawals work and have been exercised against the deployed contracts on a fork of mainnet. Nothing has been deposited yet, so every position is still worth exactly one unit of its asset. The contracts pass a full test suite and have not been through a third-party audit.

Markets

A market holds one asset. You deposit that asset and receive a position token back: an ordinary ERC-20 with a symbol, visible in your wallet, transferable without asking Arden for permission. Its value is what the market holds divided by how many positions exist.

value per position = (assets + 1) / (positions + 1)

The + 1 on each side is a virtual asset and a virtual position. Without it, the very first depositor could deposit one wei, donate a large amount to the market, and round the second depositor down to nothing.

Withdrawing burns the position and returns the asset at the value it is worth in that block. There is no epoch, no queue and no withdrawal delay written into the contracts.

The levy

An asset sitting in a market earns nothing by itself, and Robinhood Chain has no borrow demand for tokenized equities to lend it into. So Arden charges the pressure instead of the asset.

Every market keeps a signed, decaying measure of net flow, as a fraction of its own size. Deposits count positive, withdrawals negative, and they cancel. A market where equal money arrives and leaves is not under pressure, however much passes through it.

flow      = flow · window / (window + elapsed)     // decays toward zero
levy      = floor + (ceiling − floor) · min(|flow|, 1)

The levy is charged only to the side whose sign matches the flow. If everyone is leaving, withdrawing is expensive and depositing costs the floor. If everyone is arriving, the reverse. Moving against the crowd is always the floor rate, which is what keeps a market balancing itself instead of merely being expensive.

What is collected does not leave. It stays in the market while no new positions are issued against it, so the only thing it can do is raise the value of the positions that were already there. Arden takes a cut of the levy and never of anyone's capital.

This is not new. Open-ended funds have used it for two decades under the name swing pricing, or an anti-dilution levy: when money rushes one way, the cost of accommodating it is billed to the people rushing rather than spread across the people who stayed. What is different here is that the rate is set by a measurable quantity rather than a manager's judgement, and that only one side pays.

What is guaranteed

PropertyHow it is enforced
The levy can never dilute a holderIt is never paid out, so the value per position is non-decreasing across every deposit and every withdrawal. Proven by test_Levy_NeverDilutes and a 256-run fuzz test, and again against the live contracts on a fork.
Going against the flow is freeThe levy applies only when the sign of your action matches the sign of the net flow. test_AgainstTheFlow_PaysFloor.
A round trip cannot profitIn and straight out always returns less than went in. test_RoundTrip_CannotProfit.
The ceiling cannot be raisedMAX_LEVY_BPS is a constant in the contract, checked in the constructor and in setParams. The owner cannot exceed it.
A donation cannot reprice anyoneAssets are tracked in storage, not read from the token balance. Sending tokens to a market changes nothing for holders.
The owner cannot take principalskim can only move assets above what holders are owed.
A market cannot be taken overEach market is a proxy initialised once, guarded by owner == address(0). test_CannotInitializeTwice.

What is not

You keep the market risk. A position in a tokenized equity rises and falls with that equity. Arden changes how accessible the position is, not how risky the asset is.

Returns are not promised. For the equity markets the levy is a toll on crowded flow, not payment for a real trading cost. When nobody is trading it sits at the floor and earns nothing. Only the dollar market has income from outside the protocol.

The contracts are unaudited. They pass a full test suite, including tests run against the deployed contracts on a fork of mainnet. That is not the same as review by a third party.

Settlement is onchain. Deposits and withdrawals are transactions you sign and pay gas for in ETH, and access depends on the chain being available.

The dollar market

ad-USD is the exception. It does not rely on a levy: it forwards deposited USDG into Steakhouse USDG, an ERC-4626 vault on Morpho Blue, and holds only its shares. What that source earns is reflected in the value of your position.

Arden takes 2% of the gain there, not 10%, because the dollar market is the way in and should not be over-taxed. Fees are settled before every deposit and withdrawal, so they accrue at the price you transact at.

Many contracts on this chain use the symbol steakUSDG. The one Arden routes into reports the official USDG as its asset() and holds several hundred million dollars. Verify that before trusting any address claiming the name.

Addresses

ContractAddress
Market registry0x137C4197A29DDb62539522e71Ea0280e699D6c5d
Market implementation0x20249157Ff76B2CD143a2144F17Bce66076dE2F0
ad-USD (dollar market)0xb14304a780ECFbD02E96fFc03C40B5859afD5f8d
Deposit in dollars, one transaction0xCDB12964E253D2CF12D09Dcb917a30193734c87E

The app lists markets by calling allVaults() on the registry, so a new market appears without the site being redeployed. Every market address is in DEPLOYMENTS.md in the repository.

Why every market is 45 bytes

The chain charges 200 gas for every byte of deployed code. Putting a full copy of the market contract on chain costs about 1.71 million gas; an EIP-1167 minimal proxy pointing at one shared implementation costs about 329,000. Listing sixty-one markets the naive way costs roughly five times what it needs to. The price is one extra DELEGATECALL per call, paid by whoever transacts.

Numbers

ParameterValue
Levy floor0.50%
Levy ceiling5.00%, and a constant in the contract
Decay window1 hour. The measure halves after one window.
Arden's cut of the levy10%, capped at 20% in the contract
ad-USD performance fee2% of the gain only
Deposit or withdrawal feeNone. The levy is the only charge.
LockupNone

Check it yourself

Nothing here has to be taken on trust. On any market:

The site reads all of it from the contracts on load. There is no database behind it.