Selling an NFT on Terra2 takes about two minutes once you know the shape of it. The confusing part is not the interface — it is understanding what you are actually signing, because that determines who can take your token and when.
This walks through the whole thing.
Before you start
You need three things:
- A Terra2 wallet holding the NFT. Station, Keplr and Leap all work.
- A small amount of LUNA for gas. Terra2 fees are fractions of a cent, so a token or two is plenty.
- The collection to be supported by the marketplace. Atrium trades an allowlisted set of cw721 collections; if yours is not listed, that is a registry addition rather than something you can force from the UI.
The two-transaction shape of a listing
Every cw721 sale on Cosmos follows the same pattern, and knowing it removes most of the confusion:
Transaction 1 — approval. You grant the marketplace contract permission to transfer this specific token. This is a cw721 approve message. Your NFT does not move. Nobody can take it. You have granted a conditional permission that the marketplace contract can only exercise under the terms encoded in it.
Transaction 2 — the listing. You tell the marketplace contract your asking price. Now the listing is public and on-chain.
Some flows bundle these into one signature. Either way, both messages are happening, and it is worth knowing that the approval is the one with teeth.
A cw721 approval is per-token by default. That is a meaningfully safer default than a blanket operator approval over your entire collection, which is what
approve_allgrants. Prefer per-token where the interface offers a choice.
Pricing: three ways to sell
Fixed price. You name a number. Anyone can buy at that number, instantly, with no negotiation. Simplest, and the right default for anything with an established floor.
Accept an offer. Buyers can place on-chain offers against your token or the collection without you listing anything. You accept the one you like. Useful when you are not actively selling but would move at the right number.
OTC swap. A directly negotiated trade with a specific counterparty — NFT for tokens, NFT for NFT, or bundles either way, settled atomically in a single transaction. This is the right tool for large or unusual trades where a public listing would move the floor or reveal your hand. Atrium runs OTC as a first-class flow rather than an afterthought.
For a fixed-price listing, look at three numbers before you pick: the current floor, the last few actual sales (not the last few listings), and how thin the collection's order book is. On a small chain, the difference between the floor and the last real sale is often large, and the last real sale is the honest signal.
What you actually receive
Your proceeds are the sale price minus two deductions:
The marketplace fee. Atrium's current schedule is tiered by whether either side of the trade holds a CAPA Crystal: 5% baseline, 1.5% for Crystal holders, and 0% at the Cosmic tier. The better of the buyer's and seller's tier applies to the trade, so a holder on either side lowers the fee for that trade. Verify the live numbers in the app before you price — this is a contract parameter, not marketing copy.
The creator royalty. If the collection implements the cw2981 royalty standard, the contract queries the collection for the royalty amount and pays it to the creator's address as part of settlement. Not every Terra2 collection implements it. See how NFT royalties actually work for what that means in practice.
Both are deducted on-chain during settlement. There is no invoice and no clawback later — the split happens inside the same transaction that transfers your token.
Settlement, and why custody matters
When a buyer purchases, one transaction does all of it: the payment moves to you net of fees, the royalty moves to the creator, and the NFT moves to the buyer. If any leg fails, the whole transaction reverts and nothing happened.
This is worth dwelling on because it is the entire reason to prefer a non-custodial marketplace. Your NFT never sat in the marketplace's wallet. There was never a moment where an operator, a hacked admin key, or a bankruptcy proceeding could have separated you from it. The marketplace held a permission, not the asset — and you could revoke that permission at any time by cancelling the listing.
Cancelling and editing
Cancelling a listing is a transaction that removes it and revokes the marketplace's approval for that token. It costs gas and takes one block.
Changing a price is usually implemented as cancel-and-relist. Two transactions, still cents. There is no penalty for repricing, so do not treat your first number as binding on yourself.
Practical mistakes to avoid
- Listing at floor to move quickly. On a thin chain you often just become the new floor, and the collection reprices around you.
- Granting
approve_allwhen you only meant to sell one. Blanket operator approvals persist until revoked and cover every token in the collection. - Forgetting the royalty when you price. Your net is price minus fee minus royalty. Work backwards from what you want to receive.
- Not checking whether the last sale was real. A collection can have a $500 "floor" and a last actual sale of $40. The trade tells you more than the ask.
- Trading unlisted collections through DMs. If a collection is not on the marketplace, an atomic on-chain OTC swap is still far safer than a two-transaction handshake with a stranger.
FAQ
Do I need to transfer my NFT to sell it?
No. Listing grants the marketplace contract a cw721 approval to transfer that specific token if and when someone buys it at your price. The NFT stays in your wallet the entire time and you can revoke the approval by cancelling.
What fee does Atrium charge to sell an NFT?
The current schedule is 5% for non-holders, 1.5% for CAPA Crystal holders, and 0% at the Cosmic tier, with the better of the buyer's and seller's tier applied to the trade. Fee tiers are contract parameters, so check the live figure in the app.
How much gas do I need on Terra2?
Very little. Terra2 transaction fees are fractions of a cent, so a small LUNA balance covers listing, cancelling and relisting many times over.
Can I sell an NFT from a collection that is not listed on the marketplace?
Not through the standard listing flow, which trades an allowlisted set of collections. An atomic OTC swap with a known counterparty is the alternative, and it is still settled in a single on-chain transaction rather than a trust-based handshake.
How do I cancel a listing?
Send a cancel transaction from the wallet that created the listing. It removes the listing and revokes the marketplace's approval for that token. It costs gas and takes one block.