Nothing moves until you are both ready on the same version
A trade room is a small contract on Gno.land with two sides. It counts every change, and it swaps only what both people got ready on.
Open a room
The maker opens a room and either invites one address or leaves the seat open for whoever has the link. A room can settle for between 10 minutes and 7 days; the maker picks how long.
Both sides deposit
Each side puts in what it gives: GNOT, tokens from the GRC20 registry or NFTs from registered collections, up to eight per side. Ordinary rooms take only verified assets; an open-market room takes any registered one. Deposits sit in the realm, not with either person. Every deposit, take-back or join raises the version by one.
Get ready on the version you checked
Getting ready names one version. Here the maker reviewed version 6 and got ready on it. If the taker adds or takes anything, the room becomes version 7 and the maker's ready mark stops applying, so nothing can settle on terms the maker did not see.
The second ready mark swaps
When the taker gets ready on version 6 too, the realm sends each side's deposits to the other in that same transaction, less a 0.5% fee on coins and tokens. There is no third step and nobody in between.
Or walk away
Until the swap, either side can take a deposit back or cancel the room, which returns every deposit to its owner. Once a room expires, anyone can cancel it, and the deposits still go only to their owners.
What the realm holds to
These rules are in the code and covered by its tests. The contract reference lists every function and error.
- Only the two parties can deposit, take back, get ready or take a ready mark back.
- Deposits leave the realm only by the room's rules: back to their owner on withdrawal or cancellation, to the other side on settlement.
- The admin can pause new rooms, deposits and ready marks, set the fee for rooms opened later (at most 1%), and verify assets, each verification counting only a day later. It can never move a deposit. Taking back, clearing a ready mark and cancelling always work.
- If any transfer in a transaction fails, the whole transaction fails and nothing moves.
- Realm code on gno.land cannot be changed after it is deployed. What you read is what runs.
What it costs
Trade Window takes no cut. Every action is a gno.land transaction with a network fee, and actions that store something new, like opening a room or adding an asset, also lock a small storage deposit, as on every realm.
Practice rooms cost nothing at all: they run in your browser and never touch a chain.