Nagare

Vesting that doesn’t publish your cap table.

Open a vesting stream on Starknet where the sender and the recipient are keys, not wallet addresses. The schedule is enforced on chain. Who is on either end of it never appears in the transaction.

Open a streamSee your streams

Every other vesting contract names both parties, forever.

Open a Tokei or Sablier stream on Voyager and you can read the cap table off it: which address funds which, on what schedule, for how much. That record does not expire. Nagare moves the funding and the payouts inside the STRK20 pool, so the line between the two wallets is never drawn.

Fund from a shielded balance

The pool pays Nagare. Your wallet is not in the transaction, and the recipient does not need a wallet on the day you set it up.

Withdraw what has vested

Linear accrual with a cliff. The recipient signs with their key and the amount lands in a private note.

Cancel and get the rest back

The unvested part returns to you privately. What already vested stays claimable by the recipient.

Hand the position over

Re-key a stream to a new holder, or list it and sell it. The escrow settles in one transaction.

What the chain can see

Nagare hides who, not what. These are the exact terms, so you can decide whether they fit before you fund anything.

Never published

The wallet address that funded a stream
The wallet address that receives it
The wallet address that cancelled, transferred, listed, offered or accepted
Which wallet owns the note a payout lands in

Public on Voyager

The total, token, start, cliff and end of every stream, and its id
The sender key and recipient key, and every re-key
Nagare's STRK balance, and what it owes across every stream
The amount and time of every withdrawal, refund and sale
Every offer price, expiry and buyer key
Every signature and every calldata item, including note ids

Before you fund anything

Shielding is public. Moving STRK into the pool puts your address and that amount on chain.
Amounts and timing can be correlated. A distinctive amount withdrawn shortly after a distinctive deposit is a link.
A key used for two streams links them, which is why every stream gets a fresh sender key.
The pool charges 6 STRK for each private transaction, taken from your shielded balance.
Your keys live in this browser. There is no recovery: back them up, or a lost key loses the stream.
The contract has no owner and no upgrade path, and it has not been audited. Read it on Voyager.