
An MMO trade window, written as a contract.
In a game the server is the trusted party: both players put items in, both press accept, and everything swaps at once or not at all. On gno.land a realm plays the server, and nobody can change it once it is deployed. Trade Window is another startup product I built for the gno.land ecosystem, in the same family as 67: rooms for two, for GNOT, GRC20 tokens and GRC721 NFTs.
Ready means this version, exactly.
Every change counts. A join, a deposit, a take-back or a named price raises the room’s version and clears both ready marks, so nobody is held to contents they did not see.
The second ready mark settles. Lock names a version. When the other side locks the same version, the room swaps in that transaction: each side’s assets cross to the other, less 0.5% on coins and tokens, and NFTs cross whole. If any transfer fails, nothing moves.
The way out is always open. Either side can take a deposit back or cancel until the room settles. The admin can pause new rooms, set the fee up to 1% and verify assets, but nobody, the admin included, can send a deposit anywhere except back to its owner or across to the other side.
A named price, taken in one call. The maker puts their side in and names exactly what they want. The taker accepts with Fill, which pulls the assets in and settles in one transaction; any change to the room withdraws the price.




A game interface, built from the voxel world.
The window is laid out the way an MMO lays out its own: your bag and theirs side by side, eight slots each, and a trade bar across the bottom that says what the room waits for, your turn, they are ready or their price, beside the one action. Panels are slabs with stepped corners, slots are wells cut into them, and every action is a key that presses down.
Colour follows the role, not the viewer. The maker’s side is amber glass on both screens and the taker’s aqua, so “the amber side” means the same to both; the one action is green.




Practice rooms first.
Practice rooms run the same rules on play balances kept in the browser: the fee, verified and unverified assets, open-market rooms, and a trader who accepts your price or names one. The rooms and board realms pass their tests on a local chain and are not on the Onyx testnet yet; the contract page says so instead of showing an address.
Handjet for the game type: titles, keys, counts and the version figure. Instrument Sans for reading, JetBrains Mono for realm paths.
Not affiliated with Gno.land. Practice rooms sign nothing and touch no chain.


