CIPHR docs
One buy becomes one sealed piece, with one extra step from the buyer: sealing it. Five parties touch it in order: the buyer, the pool, the server, the collection, and the wallet the piece lands in, which is the buyer's own, because the buyer is the one who submits it.
The wallet at the end is the same wallet as the buyer at the start, and it is the same wallet that signs and submits in step 4. Nobody else can do that step for you.
Transfer log with the pool as the sender.Transfer log with the pool as sender and an amount at or above the collection's minimum, and only then signs an EIP-712 MintAuthorization naming the buyer, a buy reference, the amount and a fifteen minute deadline. This authorisation proves the buy qualifies. It does not carry any part of the visor.The piece is not part of the buy's own transaction, and it is not automatic. The server waits for two confirmations before it will sign anything, and the sealing and minting step only happens when the buyer's own wallet does it. A buyer can complete that step within moments of the buy, or wait, since the buy itself does not expire; only the server's own authorisation carries the fifteen minute deadline, and a fresh one can be requested again if it lapses.
A buy under the minimum. If the amount is below the collection's minBuy, the server refuses with "buy under the minimum" and nothing is signed.
A transfer that is not from the pool. A wallet-to-wallet transfer, a transfer of a different token, or a transfer into the pool never qualifies. The server only ever signs for a Transfer whose sender is the pool address.
A replay. Every buy reference can be used once. If the same transaction is submitted again, the collection's own usedBuy mapping and the server's own check both refuse it as "that buy already has its piece."
The wrong wallet submitting. The collection only accepts mintForBuy from the buyer named in the authorisation. A different wallet trying to submit it, even with a valid signature, is refused.
What the buyer sees in each case is the same thing: no piece, and no error to act on beyond the message itself. A buy that never qualified never had a piece coming; a buy that already has its piece will not get a second one no matter how many times the mint is submitted.