Three ideas, and nothing else.
No whitelist, no team approval, no gatekeeper. If a token exists on Monad, it can travel
with NOMAD.
Any token. Any traveller.
A Caravan is a private pool for one token. Anyone can open one, in a single transaction.
Once it exists, anyone can join it.
Your deposit becomes a note only your keys can open. From outside, nobody can see
who owns what, or how much.
openCaravan(token) -> id
join(id, amount, precommit)
label = H(id, depositIndex)
note = H(amount, id, label, precommit)
Trade without surfacing.
Swap between Caravans without ever stepping into the open. Orders batch, settle together
through Uniswap v4, and share one rate.
Sizes go in rungs — 1, 2 or 5 times a power of ten — so two orders of the same size are,
on chain, the same thing twice.
enter(route, proof) -> order
settle(batch) -> one rate
claim(batch, proof) -> note
One name, endless paths.
Share one NOMAD address publicly. Every payment lands on a new one-time address only you
can find and spend.
Ten people can pay you ten times, and on chain it looks like ten unrelated wallets. You
receive in public. You hold in private.
S = ephPriv · viewPub
addr = spendPub + keccak(S)·G
announce(addr, ephPub, viewTag)