How deals work,in five minutes.
Make a deal, take one, and get your assets back if it doesn't happen. Every step, in plain words.
- The short version
- Both sides move together, or nothing moves.
- You only pay the fee when a deal completes.
- Testnet only: use test assets.
1Get started
Before your first deal
Sign in
Press Sign in and use Google, X, Discord or a wallet. Then link the wallet that holds your assets.
Use Monad testnet
If the button says Switch to Monad Testnet, press it. Every deal here runs on testnet.
Get test MON
You need a little test MON for gas, plus any MON you want to put in a deal. Get some from the Monad faucet.
2Make a deal
Make a deal in three steps
Press Create deal and follow the steps.
- 1
Deal type
Choose how it settles (lock or sign, explained below), what kind of deal it is, and what you want back.
- 2
Your assets
Add what you give with + MON, + Token or + NFT. Choose who can take it (anyone, or one wallet) and when it expires: 1 hour, 24 hours, 7 days or never.
- 3
Confirm
Check the summary, Approve each asset you offer, then Create deal (Post open offer for an open offer). Your side and your share of the fee are now held by the contract.
Three kinds of deal
Open offer
Show what you're giving and let people send you offers. You pick the one you like.
Request exact assets
Name exactly what you want back. Whoever holds it can accept in one step.
Request by trait
Ask for NFTs with a trait, like any Chog with a Crown hat. Any match can accept.
Each side holds up to 10 assets, at most 5 of them NFTs: any mix of NFTs, tokens and MON. To make a deal for one person, put their wallet or their X or Discord handle in Only this wallet can accept (Only this wallet can send offers on an open offer). A live or settled deal can be shared with Share on X, which shows a preview card first.
3Take a deal
Take a deal
Open a deal from Deals. The page shows what you get, what you give, and your next move.
- Exact assets
- Approve what you send if asked, then press Accept & swap. Any MON asked for, plus your share of the fee, goes in the same transaction.
- By trait
- Choose which of your NFTs to send. Each one is checked against the request before you can accept.
- Open offer
- Build an offer from your own assets and press Send offer. It's held until the maker accepts or rejects it. Withdraw my offer works at any time.
Nothing can half-happen. Both sides move in one transaction. If any part fails, the whole thing is undone and everyone keeps what they had.
4Locked or signed
Lock your assets, or just sign
Every deal settles one of two ways, and you choose when you create it. Both show up in the same list, tagged Locked or Signed.
Lock assets now
Best for: A specific buyer, a big trade, or anything with MON or a trait.
- Can't fail
- Your assets are already inside the contract when someone accepts. Nothing depends on your wallet at that moment, so you can't be caught without the asset or the approval. Either both sides transfer in one transaction or nothing does.
- Costs gas
- Creating the deal is an on-chain transaction, and cancelling or reclaiming it is another. The one-off approval for your collection or token costs gas as well. Posting a deal and then changing your mind therefore costs two transactions.
- Assets locked
- What you offer moves into the contract the moment you create the deal. You can't use or sell it elsewhere until the deal is accepted, you cancel it, or it expires and you reclaim it. A deal with no expiry stays locked until you cancel it.
Sign only
Best for: Quick NFT and token swaps, without locking anything or paying to post.
- Free
- A signed swap is an off-chain message, so posting it and removing it from the pool cost no gas. You only pay for the approvals that let the contract move your assets later, and the matcher pays the gas when it settles.
- Nothing locked
- Nothing leaves your wallet when you sign. You can keep holding, showing and even trading the asset elsewhere. That is also the catch: the swap only works if the asset is still there when a match is found.
- Can fail
- A match is checked and settled in one transaction. If you moved the asset, spent the tokens or revoked the approval in the meantime, that transaction reverts and nobody loses anything, but your swap doesn't happen. The pool marks such an intent Paused and brings it back once you fix it. It also can't use MON (wrap it as WMON), trait requests, or a single-wallet offer, and anyone who meets your terms can settle it.
Compare them side by side
| Feature | Lock assets now | Sign only |
|---|---|---|
| Can it fail? | No. Once someone accepts, both sides move together. | Yes, if you move the asset or revoke the approval before a match. |
| What it costs | Gas to create, and again to cancel. Approvals cost gas too. | Nothing to post or remove. You only pay for approvals. |
| Your assets | Held by the contract until it's accepted, cancelled or expires. | Stay in your wallet the whole time. |
| What you can use | MON, NFTs, tokens, trait requests and open offers. | NFTs and tokens. MON must be wrapped as WMON. No trait requests. |
| Who can take it | Anyone, one named wallet, or you pick from the offers you receive. | Anyone that meets your terms. A matcher finds pairs and rings of up to 4 wallets. |
| How it ends | Accepted, cancelled by you, or expired and reclaimed. Expiry is optional. | Settled by a match, cancelled on-chain, or its deadline passes (10 minutes to 7 days). Removing it from the pool only stops this pool using it. |
5After a deal
When a deal doesn't happen
Changed your mind?
Cancel deal returns everything you locked, fee included, while the deal is open.
It expired
Press Reclaim my assets. Anyone can press Return assets to maker, and it always goes back to you.
Held for you
If a payout to you was refused (some contract wallets do this), the deal page shows it as waiting. Press Claim to collect it.
Taking back a signed swap
Remove from pool is free. Cancel on-chain costs gas but makes your signature useless for good. It stays on the swap's page after you remove it, until the deadline.
6Fees
What it costs
- A small fee for each NFT a side gives (one if it gives none), so a bundle pays the same as the same NFTs traded one by one.
- Only charged when a deal completes. Cancel, expire, reject or withdraw, and nobody pays.
- The exact amount is on screen before you confirm.
- It can be cut at any time, but a raise takes a week's notice, and never goes past a cap set at launch.
- When a swap includes a verified Club's asset, 50% of the fee goes each week to that Club's active Holders and 25% to its Club fund. The protocol keeps the rest.
- Locked deals
- Paid in MON with your side, held with it, and refunded if the deal doesn't complete. The fee a deal was listed with is the fee both sides pay, for each NFT they give.
- Signed swaps
- Paid in WMON (wrapped MON) when the swap settles, for each NFT you give. You sign the most you'll pay per NFT; if the fee drops first, you pay less.
You also pay Monad's network gas for each transaction.
7Stay safe
Before you confirm
- Check you're on Monad testnet, with the wallet you expect.
- Read every asset, token id and amount on both sides.
- Check who can accept and when the deal expires.
- Compare a handle and its wallet with your conversation. Lookalikes exist.
- Never approve a contract address someone sent you in a message.
- An open offer's note is written by its maker, not checked by DeClub.
8FAQ
Questions, answered
What is DeClub?
A peer-to-peer way to swap NFTs, tokens and MON on Monad. You agree the terms with someone, and a smart contract swaps both sides at once. There's no middleman holding your assets.
Do I have to trust the other person?
No. The swap is atomic: every transfer in it succeeds, or the whole transaction is undone. The other side can never take your assets without sending theirs.
Where are my assets while a deal is open?
In a locked deal, inside the DeClub contract, until the deal is accepted, you cancel it, or it expires and you reclaim it.
Where are my assets in a signed swap?
They never leave your wallet. They only move at the moment a match settles, and only if they are still there.
Should I lock my assets or just sign?
Lock them when the other side must be certain it will go through: a specific buyer, a big trade, or anything with MON or a trait. Sign when you want a quick swap of NFTs and tokens without locking anything or paying gas to post.
Why can a signed swap fail?
Nothing is held, so the swap only works if your asset and approval are still in place when a match is found. If they aren't, the settlement is rejected as a whole and nobody loses anything, but your swap doesn't happen. It shows as Paused and comes back once you fix it.
Can I sign several swaps with the same NFT?
No. Each NFT can be in only one of your open signed swaps at a time, and your open swaps together can't give more of a token than your wallet holds. The pool also takes up to 20 open swaps per wallet. Remove a swap from the pool to free what it gives.
Can I take back a signed swap?
Removing it from the pool is free, but a copy of your signature that already left the pool could still be used until it expires. For certainty, cancel it on-chain, which costs gas. You can still do that from the swap's page after removing it, until its deadline. A short deadline is the best protection.
Why do I need to approve DeClub?
A contract can only move your NFTs or tokens with your permission. For an NFT collection, one approval covers all its NFTs, so you usually do it once. For a token, you approve the exact amount in the deal. Each approval costs a little gas.
What is an open offer?
A deal where you only say what you're giving. Others send offers from their own assets, and their side is held in the contract too. You accept the one you like, and the rest can be withdrawn by their senders.
Can I make a deal for one person by their handle?
Yes. In Only this wallet can accept, type their X or Discord handle, like @bob, and press Find. It finds people who chose to show their profile, and you pick the wallet they'll accept from. A handle shows the account and the wallet belong together, not that the person is honest.
Is this mainnet?
No. This is a demo on Monad testnet with test assets. Treat them as disposable, and never send valuable assets to an unfamiliar contract.