Check out this quick demo showcasing the website and the app’s core functionality.
Provide liquidity. Hold the position as one plain token.
0xf51f6478d0fe88bc8504a73f91e57f65ce1b8c84
A liquidity position can't be collateral. A token can.
Nacre is a plain ERC-20 with no pause, no blocklist and no owner, the one property a venue needs before it'll hold something. Send it, sell it, split it, post it.
Nothing bespoke to integrate.
Every claim on our site carries its status, including the rows that say no.
Deployed. Read live. Never run on chain. None.
A project that won't say what it hasn't built isn't worth reading.
Orient does not remove impermanent loss.
You hold a liquidity position. Its two tokens can be worth less than what you put in, and compounding fees does not undo that. No vault design does.
It makes the position fungible. It does not make it safe.
Nobody has to keep Orient running.
secrete() and accrete() are permissionless, anyone can harvest the fees and compound them. They move nothing out of the vault except the protocol cut, so gating them would buy nothing and cost a dependency: a keeper who can stop, forget, or be paid to.
The first deposit into an Orient vault burns 1,000 shares to the zero address.
A vault whose share price can be walked up by donating to it while it's empty is the oldest bug in this shape of contract. A floor nobody owns is the cheapest thing that closes it.
It stays there forever. That's the point.
Orient is coming to iOS and Android.
The same live reads and the same computed figures as the web app, prices, ticks and liquidity decoded on your own device out of the singleton's storage.
In development.
Nothing of ours sits between you and the chain.
Your browser → a public RPC → the v4 singleton. Every price, tick and liquidity figure on the app is decoded on your machine out of the singleton's storage.
0 servers. 0 indexers. 0 API keys.
If our site disappeared tomorrow, the vaults wouldn't notice.
Uniswap hands back one number with the fees already folded into it.
Settle it as it comes and every new depositor quietly skims the fees of everyone before them. Subtract the fees and the depositor pays their own principal.
used0 = -(d0 - f0)
One subtraction is the whole fee split.
Every division in the vault has a direction.
What a depositor owes rounds up. What a redeemer receives rounds down. The difference is dust, and dust always lands on the side of the holders who stayed.
Five divisions. Five deliberate choices.
Most vaults ask you to trust their own accounting.
Ours doesn't. isFlush() recomputes Uniswap's storage slot for the position and compares it with what the vault claims to own. If those two ever disagree, you see it from outside.
Free view call, any block, anyone.
A range you have to manage is a manager.
A ±5% band earns more, until the price leaves it. Then it earns nothing until somebody moves it. And that decision needs a view on price: an oracle in the contract, or a keeper you're exposed to.
Full range needs neither. The cost is capital efficiency, and we say so.
Why "Orient".
In the pearl trade, the orient is the play of light a pearl gets from its layers. Not pigment, interference. The hue tells you how thick they are, the sheen how many.
A vault that compounds its fees is doing the same arithmetic.
0xf51f6478d0fe88bc8504a73f91e57f65ce1b8c84
120 pools on chain 4663. 75 different assets.
Every one of them is one transaction away from being a fungible token that keeps earning.
No listing, no approval, no allowlist — you deploy the vault yourself and nobody owns it, not even us. There's no admin function in it.
This is every function in the Orient vault. All of them.
seed · secrete · accrete · release
liquidityPerShare · poolLiquidity · isFlush
plus a plain ERC-20.
No pause. No blocklist. No upgradeTo. No setOwner. No setFee.
There's no owner, so there's nothing an owner could do. The protocol cut is a constructor argument and nothing changes it, not us, not anyone.
Most vaults are tested against a mock of Uniswap.
Ours isn't. The PoolManager in our test suite is the real bytecode of the contract deployed at 0x8366a3…0951, pulled off chain and run in process.
It disagreed with us three times. Each one would have shipped as a bug.
16/16, every build.
Orient in four calls.
- Seed: deposit both tokens, hold Nacre.
- Secrete: harvest the position's fees.
- Accrete: compound them. No shares minted, so the
liquidity behind each token rises.
- Release: burn Nacre, take both tokens back.
That's the whole mechanism. No oracle, no manager, no lockup.
Orient is live.
CA: 0xf51f6478d0fe88bc8504a73f91e57f65ce1b8c84
Liquidity you can move: a full-range Uniswap v4 position, held as one plain ERC-20. Send it, sell it or post it as collateral while the liquidity underneath keeps earning.
The vault reads no price, so a redemption can't be gamed by moving a market.
No manager. No lockup. No admin key.