unisafe
01 / 12
to move
Stable & Volatile · Uniswap v4 · non-custodial

Keep your stablecoins safe
and earn on Uniswap v4

unisafe is an NFT-owned vault for your liquidity. Deposit USDC, USDT or DAI and earn auto-compounding fees in Uniswap v4 stable pools — or run any other v4 pair, ETH/USDC included, on ranges you choose. One transaction to deploy, across Ethereum, Unichain, Arbitrum and Base. Withdraw to any address, anytime.

Networks
4
Deposit / withdraw fee
0%
Fee on earned fees
10%
Custody
yours

unisafe.envelop.is · powered by Envelop

The problem

Concentrated liquidity pays for attention

Uniswap v3 introduced concentrated liquidity and v4 kept it: instead of providing liquidity across all prices, you pick a band. Inside the band you earn fees on a much smaller capital base — that is the whole appeal. Outside it you earn nothing at all, and you are holding 100% of whichever asset the market was buying from you.

So most people pick one of two losses

  • A very wide range — safe, and unremarkable returns.
  • A narrow range, then life happened, and the position sat out of range for a month.

The maintenance is not the hard part

A position is two integers. “Is it still working?” reduces to a comparison:

tickLower ≤ tick ≤ tickUpper

What is hard is doing it reliably, forever, at 3am — and having something trustworthy act on the answer.

What unisafe is

A vault you own as an NFT

Each Manager is your own contract wallet — a singleton ERC-721. Whoever holds that token controls the funds. unisafe never takes custody, and liquidity only ever goes into hookless Uniswap v4 pools: pools with hooks are rejected, on both products.

Manager header: the NFT card, total value managed, pools, in-range count, average APR and position count.

One transaction to deploy

Create the Manager, fund it with tokens you already hold, then open positions across your pools from idle balance.

Withdraw to any address

Exit to the token you choose, sent wherever you choose. Only the NFT holder can move funds out.

The NFT is the account

It renders the live portfolio on-chain, and transferring it hands over the Manager — clearing every operator on the way.

Two managers

One vault, two ways to provide liquidity

Every Manager is the same NFT-owned contract on the same non-custodial terms. What you choose at creation is how it holds liquidity. The type is fixed for the life of that Manager — running both just means holding two.

Stable — pegged pairs, set once

USDC/USDT · USDC/DAI · PYUSD/USDC

  • One price range per pool, set at creation and frozen after that — nothing to tune later.
  • One position per pool; reinvest puts earned fees straight back in, so it compounds on its own.
  • Lower-touch by design: if price leaves the range, the pool simply waits.

Volatile — any v4 pair, on your ranges

ETH/USDC · WBTC/USDC · any hookless v4 pool

  • Pick the range every time you allocate, and hold several ranges in one pool at once.
  • Recenter rebuilds a position at a new range in one transaction: remove, optional balancing swap, re-add.
  • Volatile pairs move: a position can drift out of range and stop earning until you recenter.
How it works

From idle balance to compounding fees

Five steps: tokens in your wallet, create and fund a Manager, deploy to Uniswap pools, earn and compound fees, withdraw anytime.
The 10% protocol fee is taken on every claim, from the fees you earn — never from your principal.
The app

Every position, with the numbers behind it

Composition and price range up front; tick range, liquidity, pool share, capital efficiency and impermanent loss against having held, one click further in.

A WBTC/USDC position card: composition, price range with the current price marked, unclaimed fees, liquidity, tick range and capital efficiency.
Testbed Manager on Arbitrum — a real chain and real money, deliberately small.
Fees & security

Non-custodial, with fees only on what you earn

No deposit or withdrawal fee

You keep 100% of your principal. unisafe never charges to move tokens in or out.

10% protocol fee on earned fees

Applies only to the trading fees you earn — the remaining 90% stays in your Manager.

You hold the keys

Only the NFT holder can move funds. Operators can manage positions but never withdraw.

Coverage

Networks, stablecoins and pairs

Chain
Ethereum
Chain
Unichain
Chain
Arbitrum
Chain
Base

Stable managers

The major USD stablecoins — USDC, USDT, DAI, USDe, PYUSD, FRAX — in stable/stable pools.

Volatile managers

The same networks, any other Uniswap v4 pair — ETH/USDC and WBTC/USDC included. Hookless pools only, on both products.

AI agents

Bounded keys, not a better prompt

unisafe ships an agent skill and an MCP server. The skill takes no keys and no configuration; add the server when you want the agent to actually place transactions. Authorize its address as an operator and that role is the entire surface it has.

Trust boundary: you authorize an agent as operator; it may allocate, recenter, claim and reinvest; it can never withdraw, change the price oracle or authorize another operator; one transaction revokes it.
Why the boundary holds

The guard is indifferent to who asked

Adding liquidity in a mediocre range costs some fees. Swapping at a bad price costs principal — and a rebalance almost always needs a swap. So operator swaps do not run on trust. They run behind a price oracle that fails closed.

Fail-closed, in the contract

no oracle wired        → OperatorSwapGuardRequired
no fresh feed for pair → OperatorSwapUnverified
pool off the reference → PriceOutOfBounds

The deviation threshold is 100 bps today: push the pool more than 1% away from the Chainlink reference and the rebalance does not happen. The agent is told to report and wait, not to retry in a loop.

Propose, simulate, execute

propose_* builds calldata locally, simulates it and returns a decoded plan. Nothing is signed. execute_* re-simulates that same intent at the current block, re-checks policy, and only then signs.

Around it: whitelisted managers per chain, caps on operations per hour, legs per call and per-token amounts, mandatory simulation. The operator key sits in an encrypted keystore on your machine and never leaves the process.

The manual makes the agent competent. The contract makes it safe — the operator role, the oracle guard and the mandatory simulation hold even if the model ignores every word of it.

Overnight on Arbitrum

The boring result is the one worth reporting

Three positions, checked every 20 minutes. ETH fell 4.4% across the window, from $1,952 to $1,866. The tightest position — a 0.05% ETH/USDC range 2,000 ticks wide — came within 4.3% of its upper boundary in the first hour, then drifted away from it all night.

ETH move
−4.4%
Positions out of range
0
Recenters fired
0
Gas spent
0

The failure mode worth worrying about in agentic systems is not inaction — it is an agent that finds something to do because doing something is what it is for. An eager rebalancer pays gas and crosses the spread on every balancing swap until the position is a slow leak. The threshold is the strategy.

Roughly sixty consecutive correct decisions to stay put. The positions total about $24 — a testbed, and worth saying plainly rather than implying a fund.

Try it

Open the app, or start from your agent

Claude Code — skill and server in one step

/plugin marketplace add https://unisafe.envelop.is/.claude-plugin/marketplace.json
/plugin install unisafe@envelop

Codex, Cursor and other agents — the skill

npx skills add https://unisafe.envelop.is/skills/envelop-mcp-lp-latest.zip

What you supply

  • An RPC endpoint.
  • Your manager addresses.
  • An operator keystore — encrypted, on your machine.

@envelop/mcp-lp is MIT licensed, ships as a single self-contained ~2 MB binary with no runtime dependencies, and needs Node 20+.

unisafe.envelop.is · setup, tools and safety model

Envelop · Uniswap v4 · Ethereum, Unichain, Arbitrum, Base