What happens on chain when you list, buy or transfer

What a listing actually is, who funds what in a purchase, and why Zoide never holds your piece or your money.

Every action below is a transaction on a public blockchain, signed in your browser with your own keys. Zoide builds the transaction and hands it to the network; it never holds the piece and never holds the money.

Listing is a contract, not a deposit

When you list a piece, it does not go anywhere. It stays where it is, wrapped in a lock that says one thing: this piece can only be released by paying its owner this exact amount.

The consequences are worth spelling out, because they are the reason the whole marketplace works without custody:

  • Nobody can take it without paying you — not another user, not Zoide. The payout amount is part of the lock, not a promise.
  • You can cancel whenever you like and get the piece back unlocked.
  • You do not need to be present for the sale. The buyer does not need your signature, so a sale can happen while you sleep.
  • You receive exactly the price you set. The fees are added on top and funded by the buyer.

At most one active listing per piece: listing again replaces nothing, it is simply not possible until you cancel the first.

What you are signing is that lock, and the only thing it asks you for is the amount:

The listing dialog. A copy of the real one, kept in step with it.

Buying

A purchase is a single transaction in which the buyer funds, all at once:

Output Goes to
The listed price the seller
The market fee Zoide
The creator royalty, if the piece declares one the creator
The referral commission, if there is a verified referrer the referrer

And the piece itself moves to the buyer's ordinals address in that same transaction. There is no escrow step and no "pending payment" state: either the transaction is broadcast and everything happened, or nothing happened.

Those outputs are exactly what the dialog lists before you sign — that is the same transaction, written out:

The purchase review: one line per output of the transaction

Two details that come out of doing it this way:

  • A payout that would round to zero satoshis is dropped. A tiny percentage of a small price can round to nothing, and an output of zero would invalidate the whole transaction — so it is left out instead of breaking the purchase.
  • A recipient with an invalid address is skipped and logged. It used to be skipped silently, which meant a mistyped royalty address just never got paid and nobody found out.

Transferring

Sending a piece to someone else is the simplest case: one transaction, signed with your ordinals key, that moves the piece to their address. There is a fixed fee (80,000 sats) and no way back — a transfer is not reversible, by anybody, for the same reason nobody can take your piece without paying: the chain does what the transaction said.

Check the address twice. A piece sent to a wrong-but-valid address is gone — which is why the dialog puts the warning above the field, not below it:

The transfer dialog. A copy of the real one, kept in step with it.

What is public

All of it. Addresses, amounts, dates, and the piece itself. Anyone can read the entire history of a piece or of an address in any blockchain explorer, without asking Zoide and without an account.

That is not a Zoide policy, it is what a public blockchain is — and it cuts both ways: it is also why you can verify everything above yourself instead of taking our word for it.

Wherever Zoide shows a transaction id, it comes with a way to copy it and a way out to an explorer:

0000000000…00000000
A transaction id as Zoide shows it — copy, or open it in the chain explorer

Signing

Every one of these actions needs your keys, and your keys live encrypted in your browser. That is why an on-chain action asks you to unlock your wallet and a purely informational page does not.

Unlocking looks like this, and it is your own wallet asking — never a page you arrived at from a link:

Protect your wallet
Set a password to encrypt your keys locally.
The password prompt of your own wallet. Real form, inert here.

If a page asks you to unlock for something that should not need signing, that is worth reporting through an official channel — see Staying safe.