the monero releases

every sell of zxr pays a creator fee, and that fee is meant for holders, not the reserve. when the sell side fees cross the release threshold, the sell that crossed it is the trigger and the release happens right then. the sol goes through near intents into native xmr and is split pro rata among every eligible holder, sent to each one's registered monero subaddress.

no schedule, no snapshot hour, no claim step. a release is a consequence of a sell, and the balances that decide the split are read at the slot the trigger sell confirmed in.

fieldvalue
release threshold0 sol
minimum holding0 zxr
release count0
total swept to monero0 sol
xmr delivered0 xmr
registrations0

releases

each row is one release. the trigger signature is the sell that caused it, sol swept is what left the sell side of the vault, the intent hash is the settlement into xmr, and the proof lets a recipient confirm their own payment without showing it to anyone else.

trigger signaturesell sizesol sweptintent hashxmr deliveredrecipientsproof

eligibility

a wallet is eligible for a release when two things are true at the trigger slot: it holds at least the minimum in the program config, and it has a valid registration. nothing else about the wallet matters, not how long it held, when it bought, or whether it ever sold before.

the wallet that triggered the release is measured after its own sell settles, so dumping the whole position to trigger a release pays the seller nothing.

share_i = xmr_delivered × balance_i ÷ Σ balance_j over all eligible j

registering a subaddress

registration happens on solana, not on this site. send one transaction from the wallet that holds the token, with a single memo instruction whose utf8 text is the prefix followed by your monero subaddress. the rest of the transaction does not matter; a zero lamport transfer to yourself carries the memo fine.

zxr:xmr:<subaddress>
bytes 0 to 7, prefix, literal "zxr:xmr:"
bytes 8 to 102, subaddress, 95 characters, first character always 8
total 103 bytes, utf8, one memo program instruction, any transaction

the keeper reads memos from wallets holding the token, checks that the subaddress starts with 8 and is 95 characters, and stores a hash of it against the wallet. only the hash is stored and only the hash is shown. a later memo from the same wallet replaces the earlier one.

registrations

wallets with a valid registration, the memo transaction that created it and the slot it was recorded at. the subaddress column is a hash: enough to find your own entry, not enough for anyone to pay you or link you to a payment.

walletmemo signaturesubaddress hashslot

privacy

a monero subaddress cannot be linked on chain to the wallet that registered it, to any other subaddress, or to the payment that reaches it. a holder can check their own payment with the release's transaction proof and their own view key. nobody else can see that they were paid, how much, or that it had anything to do with this token.