Deals
Deals let you trade directly with another wallet — NFTs, tokens, and ALGO — without a middleman or a price. Both sides agree on exactly what they're exchanging. A smart contract holds everything in escrow until the deal is accepted or cancelled.
What a deal is
A deal is a proposal: “I'll give you these assets if you give me those ones.” Either side can include NFTs, any ASA token, ALGO, or a mix of all three. Up to five assets per side, plus any amount of ALGO.
Once you create a deal, your offered assets are locked in an escrow smart contract. They stay there until the counterparty accepts — at which point the swap happens atomically in one on-chain transaction — or until you cancel and reclaim them.
There are no platform fees. The only cost is the standard Algorand transaction fee.
Creating a deal
Go to /deals and follow the four steps:
- Find your counterparty. Enter their Algorand address or NFD name. You'll see their avatar and name resolve before you continue.
- Select what you want. Browse their NFT holdings and token balances. Pick the assets you'd like to receive. Add ALGO if you want some too.
- Select what you'll send. Choose from your own holdings. Same interface, same limits.
- Confirm and create. Review both sides, then sign. Your offered assets move into escrow immediately. You'll get a shareable link to send to your counterparty.
Accepting a deal
When someone sends you a deal link, open it. You'll see exactly what they're offering and what they're asking for, along with whether each asset is verified on downbad.
If everything looks right, click Complete deal. The app will automatically opt you into any assets you're about to receive (if you haven't already), then submit the swap in one transaction. Both sides settle atomically: either the full exchange happens, or nothing does.
The creator also needs to be opted into any assets they're receiving from you. This happens automatically when they create the deal. If for some reason they've opted out since then, you'll see a warning on the deal page and the transaction will fail until they opt back in.
Cancelling a deal
If you created a deal and the counterparty hasn't accepted yet, you can cancel at any time. Open the deal link and click Cancel deal. Your escrowed assets are returned to your wallet in the same transaction.
Verified vs unverified assets
Every asset on the deal page shows one of two badges:
- Gold star — the asset is verified in the downbad collection index. It's a real NFT from a supported collection.
- Amber warning triangle — the asset is not in the downbad index. It may be a legitimate token or ASA, but it hasn't been verified by us.
An unverified badge does not mean the asset is fake — plenty of legitimate tokens and ASAs aren't in the downbad collection index. But it does mean you should check yourself before accepting. Click the asset name to open its page on allo.info and verify the creator address, total supply, and metadata match what you expect.
Asset limits
Each side of a deal supports up to five ASA slots (NFTs and tokens combined) plus an unlimited ALGO amount. ALGO is tracked separately from the five-slot limit, so you can have five NFTs and ALGO on the same side.
This matches the on-chain storage layout of the swap contract. If you need more than five assets per side, split the deal into two separate deals.
Safety
- Atomic settlement. The swap happens in one transaction. Either both sides transfer, or neither does. There is no step where one party has sent and the other hasn't.
- Non-custodial escrow. Your offered assets are held by a smart contract, not by downbad. The contract enforces the exact terms you set when you created the deal.
- Only you can cancel. The contract checks that the cancel transaction comes from the wallet that created the deal. No one else can force a cancellation.
- Recipient lock. For targeted deals the contract checks that the accepting wallet matches the address you specified — anyone else is rejected on-chain. For open deals any wallet can complete it, but they all compete fairly: whichever transaction is confirmed first wins.
- Everything is on-chain. The deal terms — what's offered, what's requested, who can accept — are stored in the contract's global state and visible to anyone. You can verify them yourself on the contracts page.
Finding your deals
After creating a deal, the shareable link is shown on the success screen. You can also find all your active deals in two places:
- My deals — a browser-local list of deals you've created in this session, with live status checks.
- Profile → Deals tab — reads directly from the chain and shows all active deals where you're either the creator or a named recipient.
Once a deal is completed or cancelled, the child contract is deleted from the chain and will no longer appear in either view. The transaction history is always visible on a block explorer.