← Back

Protocol mechanics, parameters and current status.

Resident provides liquidity to tokenized equity pools on Robinhood Chain and earns a share of the fees paid there. Trading fees on $RES capitalize the positions. 15% of realized profit is distributed to holders; 85% is retained as working capital.

Every parameter below is the value the protocol runs with. Status, custody and risk are documented to the same standard.

Volatility-scaled ranges

Range width is derived from each pool's measured volatility. Calm markets get a tight range, volatile ones a wider one.

Risk-adjusted entry

High fee income does not make a position profitable. Resident opens only when expected fees exceed the expected cost of price movement.

Direct holder distributions

15% of realized profit, distributed in USDG. No staking, no claiming.

./

Capital flow

  1. 01

    Token fees

    A fee is charged on every $RES trade

  2. 02

    The vault

    One address holds every asset

  3. 03

    Selection

    Six conditions, all of which must hold

  4. 04

    Range

    Tight for calm pools, wide for volatile ones

  5. 05

    Entry test

    Opened only if fees are expected to beat the price move

  6. 06

    Management

    Re-centred when the price leaves the range

  7. 07

    Realized profit

    Fees collected, less what the price move cost

  8. 08

    Split

    Holders15%
    Working capital85%

The 85% is redeployed into new positions and absorbs losses on the pools; it is never paid out and holders have no claim on it. The 15% is owed to holders and carries forward until it is paid.

01

Protocol overview

Every swap trades against a pool of capital that someone committed. Whoever committed it receives a share of the fee on every trade that uses it. Resident is that capital, and that share is what it earns.

Liquidity does not have to cover every price. A position can be committed to a single band, say between $9 and $11. Inside that band it takes a much larger share of the trades, because the capital is concentrated where the trading happens. Outside it, the position earns nothing and holds whatever the pool left it with.

The protocol does three things: select pools worth being in, size a range the price will hold inside, and close a position once it no longer earns its keep.

This is not a position on price. It is rent, paid for making a market other people trade in.

02

Sources of capital

Every time someone buys or sells $RES, a fee is charged. That fee goes into the vault, and the vault is what buys the positions. There is no raise, no VC round, no treasury sitting on the side.

Capacity is therefore bounded by the token's own trading activity. Lower volume means less capital deployed and smaller distributions. The two are coupled by design, and nothing decouples them.

03

Pool selection

Seven conditions, evaluated continuously. All seven must hold; a pool that fails any one is not a candidate at any size.

The pool can be priced in dollars. Pools are quoted in USDG or in WETH, and every threshold below is a dollar figure, so a WETH pool is converted at the rate its own market against USDG is trading at. A quote the protocol cannot price is held rather than measured in the wrong unit, because eight ether an hour of volume looks like nothing against a $25,000 threshold and a hundred ether of depth looks like nothing against a $400,000 cap. The fee the pool charges reaches the position. The protocol reads the fee being charged now rather than the tier the pool was created with, so a pool that has quietly stopped paying its providers fails here. At least $25,000 has traded in it in the last hour, because a quiet pool pays nothing. No more than $400,000 of liquidity sits near the current price, because the more crowded a pool is, the smaller the share. The price is still within 40% of its 24-hour high, so the protocol is not providing liquidity into a fall. The pool is at least 20 minutes old, which excludes the first minutes of a launch. And the providers already in it are making money rather than losing it.

These are Uniswap v4 pools. Many of the best of them charge a dynamic fee that rises when the market is busy, and a dynamic fee is implemented with a hook. A rule that avoided hooks would therefore avoid the pools worth being in. What matters is not whether a pool has custom code attached, but whether the fee it charges still arrives, which is read from the pool directly.

A pool that stops qualifying remains on the board for 24 hours rather than disappearing, so activity that has already passed stays visible.

04

Range construction

A narrow range earns more per trade but the price escapes it sooner. A wide range earns less but holds on longer. There is no setting that is good at both, so the width is worked out per pool from how much that pool actually bounces around.

Halving the width roughly doubles the earnings and increases time spent out of range. Resident targets a width that holds the price inside approximately 91% of the time. Widening to 99.8% coverage would surrender about half the income for the remaining nine points, so it is not taken.

Ranges are bounded at 1% and 60% either side of the price.

05

Entry criteria

When the price moves while capital sits in a range, the position ends up holding more of whichever asset fell and less of the one that rose. That is a worse outcome than holding both and doing nothing, and the cost scales with how far the price travels.

A pool paying 3% a day into a book that moves 20% a day loses money while collecting fees. A board ranked on fee income recommends it every time.

Resident prices both sides before opening: expected fee income against the expected cost of price movement, at that pool's own volatility. A position is opened only when fees exceed that cost.

06

Position management

A position out of range earns nothing. It is not moved immediately, since prices cross an edge and return routinely, but a sustained move re-centres it on the new price.

A position closes when net earnings fall 35% below the capital committed, where net means fees collected less the cost of price movement. A pool that stays unprofitable is dropped rather than re-centred, because what has changed is the pool and not the position.

Positions that move against the protocol are held and re-centred rather than sold into thin liquidity, which usually deepens the loss. The trade-off is that capital can remain committed to a weak market for an extended period.

07

Execution

Choosing a position and taking one are different problems. A process reads the chains on a fixed interval, prices every pool it watches, decides, and writes down what it is about to do before it does it. If it stops halfway through, it restarts knowing there is a transaction it cannot account for, and it checks the chain rather than assuming either way. That is what prevents the same position being opened twice.

Each interval runs the same rules in the same order. Close anything that has stopped earning; collect fees that are worth collecting; re-centre anything that has drifted off the price; move money off a pool that still works but has been overtaken by a better one; put whatever is idle to work in the best pool that qualifies; and only then consider moving money to another chain, which is the one decision that cannot be undone within the interval.

That fourth rule is the one most desks do not have, and its absence does not look like anything. Every position is above its floor, nothing has stopped earning, and the money is sitting in the pool that was the best one when it was deployed rather than the one that is best now. A pool paying many times what a position currently earns is a reason to move, and the move has to clear three times what the round trip costs before it is taken.

Fees are collected once they reach $100, or after 15 minutes, whichever comes first. They are never collected when the amount would not cover several times the cost of collecting it, so a pool that has gone quiet stops being swept rather than being drained a few dollars at a time.

The process cannot change anything about the vault. It can move money between venues; it cannot change which venues exist, raise the payout cap, or allow a new bridge. It refuses to start if the key it has been given is the one that could.

Nothing is remembered that was not written down first.

08

Fee distribution

Realized profit splits at a fixed ratio enforced by the contract: 15% to $RES holders, 85% retained to fund new positions.

The holder share is distributed in USDG, pro-rata by balance. No staking, no claiming, no signature. A distribution runs at most every 15 minutes, and only once every holder is owed at least $5 and gas is under 2% of what goes out. Paying a holder six cents costs more than six cents to send, so a cadence fixed to the clock would spend the distribution on distributing it. Nothing is lost by waiting: what is not paid stays in the ledger and the next distribution is larger. The practical effect is that the interval widens with the holder count rather than the gas bill doing so.

The balance owed only increases until it is paid. Losses are absorbed by the retained share; profit already credited to holders is never reversed. Accrual pauses until the loss is recovered, so distributions go quiet in the interim.

The retained 85% is working capital, not a deferred holder claim. It funds positions, absorbs losses, and holders have no claim on it.

09

What gets reported

Almost every liquidity dashboard shows fees earned. Fees are the flattering half of the number: a position can be collecting handsomely while the money underneath it loses more than the fees bring in, and a page that shows fees alone will show that position as a winner for as long as it keeps losing.

Resident reports net over the same window, meaning fees less what the price move cost the capital committed, and reports it when it is negative. Both halves are shown alongside it, so the arithmetic is visible rather than asserted.

Positions are kept in a ledger that nothing leaves. What a closed position made is arithmetic on amounts that went in and came out, with the transactions listed; what an open one is worth is marked and reported separately, never added to the closed figure. Adding the two produces something that moves with the market and reads like a bank balance.

Where a figure has not been measured, the page says so instead of showing a zero. A pool with no comparable market elsewhere has no reference price, and a position without enough history has no six-hour net.

10

Status and limitations

Resident is pre-deployment. The vault contract is complete and covered by a test suite; it has not been externally audited and is not deployed. No vault holds assets, and the positions page displays example data, labelled as such.

The process described above runs, and it signs nothing. It reads chains, ranks pools, and records every position it would have opened. That record is worth having on its own, because it can be checked against what those pools actually paid before any capital is at risk. Two things stand between it and taking a position: a signing service, which does not belong in this code, and the venue-specific component that knows how to open a position on each venue.

Fee projections start at full capture: the formula credits a position with every unit of a pool's reported flow at its full share, and a pool's flow includes trades at prices the position does not cover. That figure is an upper bound and has never been what measurement returned. The protocol measures the gap instead of assuming it, taking one sample per sweep of what the model predicted against what arrived, and prices each pool at what it has actually been paying, its own history first, the desk's average second. Until a pool has been traded there is no measurement, and it is priced at a discount to the ceiling rather than at the ceiling.

#

Range placement

A position is placed in one of two shapes. The difference between them is where the capital sits relative to the current price.

standard

Two-sided range

a band around the current price

Capital on both sides of the current price, so the position earns whether price moves up or down. Width is set by the pool's own volatility.

  • Price leaves the range and stays out → the position is re-centred.
  • Net earnings fall 35% below the capital committed → the position is closed.
  • The pool stays unprofitable for long enough → dropped rather than re-centred.
ask-ladder

Ask ladder

entirely above the current price

Tokens the protocol already holds, placed entirely above the current price. Every tick up sells a slice higher than the last and earns the pool fee on the fill; a price that falls fills nothing and buys nothing.

  • The price rises through it → the inventory sells into the strength, at prices the protocol chose.
  • Most of it sells → picked up and re-placed above the new price.
  • The price falls away → left where it is. It is a resting sell order on tokens held anyway, and it costs nothing to rest.
single-sided

Bid-side range

entirely below the current price

Placed entirely below the current price, so it fills only if the price comes down to it. Used where the protocol would rather acquire the token at a level it selected than hold it on both sides.

  • The price falls through it → the protocol holds the token, at the level it selected.
  • The price runs away upward → nothing fills, and the position is closed and re-placed higher.

A position earns fees in exchange for absorbing the cost of price movement. Both sides are priced before entry, and a position that fails that test is not opened at any size. An ask ladder is judged differently and deliberately so: it is placed with tokens the protocol holds either way, so the question is not whether it beats cash but whether it beats holding, and the cost it carries is the part of a rise it sold into rather than any divergence loss.

#

Monitoring

Opportunity ranking

Pools ranked by what a $10,000 position would earn at current conditions. Share of flow is derived from the liquidity already sitting near the price, applied to trailing 5-minute, 1-hour, 6-hour and 24-hour volume.

Pools that stop qualifying fade over 24 hours rather than disappearing, so recent activity remains visible.

The board ranks candidates. It does not open positions, and every entry still has to clear the net test.

Liquidity provider analytics

Every add and remove on a tracked pool is attributed and valued at the price of that moment; every trade credits the positions in range. A seven-day score follows: withdrawals less deposits, plus open positions at current price, plus fees earned.

Only positions opened and closed inside the window count as wins or losses, so a wallet that simply holds is tracked but not scored. Contracts are tagged as bots and the protocol's own wallets as desk.

Consistent winners holding a position is a signal. Consistent winners exiting one is a stronger signal.

#

Distribution mechanics

Every dollar of realized profit splits the same way, and the contract is what enforces it.

Realized profit

Fees collected less the cost of price movement. Monotonic: it only increases.

Retained capital

Working capital. Funds the next positions and absorbs losses. Holders have no claim on it.

Holder allocation

Owed to holders, carried forward until paid. It does not reset.

Settlement

In USDG, pro-rata by balance, at most every 15 minutes, and only once every holder is owed at least $5.

Holder balances are reconstructed from the token's complete transfer history, maintained locally rather than read from a third-party indexer, and verified against chain state before any value moves. Pools, protocol contracts and desk wallets are excluded from the eligible supply.

#

Custody

All capital, including fee inflow, cash and inventory, is custodied by a single on-chain vault contract that is publicly auditable in real time. An autonomous keeper operates against that contract: it surveys venues, routes orders and triggers distributions, while the contract constrains every action it can take. The keeper holds nothing itself. Every balance sits at the vault address.

InvariantMechanism
Every asset sits at one addressPositions, cash and incoming fees are all held by the vault. The keeper's own wallet holds gas and nothing else
The keeper can only reach approved venuesAny other destination is rejected by the contract, not by policy
Spending permissions cannot leakToken approvals are limited to the same approved list
Reported profit cannot be walked backThe total can only increase, so a report cannot be retracted to strand holders
Only 15% can ever be paid outThe contract tracks the holder share separately and will not pay beyond it
A loss cannot reduce what is already owedAbsorbing a loss reduces the 85% and pauses new accrual. It never reduces what holders are already owed
Payouts are capped per dayA rolling 24-hour limit per asset, enforced by the contract
The keeper can be replaced in one transactionOne transaction swaps it out, and no asset moves
The owner can take everything[unconstrained]The deploying wallet can withdraw any asset at any time, without delay or governance. The keeper cannot. This is the protocol's principal risk, it is not mitigated by the contract, and it means Resident is not trustless

Protocol parameters

SettingValue
How wide the range isworked out per pool
Narrowest and widest it can go1% to 60%
Time the price stays in range, at that widthabout 91%
Minimum traded in the last hour$25,000
Maximum money already near the price$400,000
Size used to rank the board$10,000
Must still be within this much of the 24h high40%
Minimum age of the pool20 minutes
How long out of range before it is moved5 minutes
How long unprofitable before the pool is dropped2 hours
Loss that closes a position35% of what went in
Holders' share of profit15%
Minimum before a payout runs$300 owed
Fees are collected once they reach$100
Or after this long uncollected15 minutes
Readings under the floor before a position is retired10
Held back so the protocol can always pay for gas$250
Smallest position on a small-cap pool$250
Widest a Solana position is spread69 bins
A cross-chain edge is assumed to last12 hours
A cross-chain move must be worth1.5x its cost
Smallest amount worth moving between chains$2,500
Re-centring must be worth2x its cost
A pool counts as ranging if it held±35%
for at least this much of its history80%
Sweeps before a pool's capture counts as measured12
Capture assumed before anything is measured50%
A sweep counts half as much after24 hours
Rotating to a better pool must be worth3x its cost
Pool evaluation
constantly
Distribution cycle
at most every 15 minutes
Minimum payout per holder
$5
Board retention
24 hours
Analytics window
over 7 days

These are operating settings, not constants. They are published so the protocol's behaviour is predictable, and so that changing one is visible as a change.

#

FAQs

The deploying wallet can withdraw any asset at any time, without delay or governance. The keeper cannot: it is restricted to approved venues and to distributions. This is the protocol's principal risk, and the contract does not mitigate it.