Sell via the Boson dApp
If you don't want to write code, the Boson dApp is the no-code path. It wraps the same protocol the SDK uses, behind a UI. You connect a wallet, fill in forms, and hit confirm.
You'll do four things, in this order:
- Create a seller profile — one-time on-chain setup.
- Initialize a communication channel — XMTP, on first product.
- Start selling — directly from your profile, or via a customized storefront.
- Manage sales via Seller Hub — orders, redemptions, disputes.
1. Create a seller profile
Open bosonapp.io and click Sell on Boson. The dApp will walk you through:
- Wallet connect — MetaMask, WalletConnect, etc.
- Optional Lens profile link — if you hold a Lens profile, toggle Link Lens Profile at the top right. Your handle pre-populates. If you don't have one, you can skip or create one.
- Brand details — logo, cover, brand name (required); description, contact info, social links (recommended). Each image should be < 500 KB.
- Communication method — pick the default channel for buyers to reach you. XMTP is recommended for at least the initial delivery-address handoff; see Concepts → Fulfillment channels.
- Royalties — optionally set a secondary-sales royalty percentage. This cannot be changed later. See Sellers → Royalties.
- Confirm — sign the
Create Seller Accountmessage in your wallet.
This is createSeller() under the hood. See Sellers → Create a seller for the equivalent in code.
You can edit your profile later from the seller icon.
2. Create products
The dApp supports physical, phygital, and digital products, with optional variants. From the seller hub, click Create Products.
You do not need MATIC to pay gas — the dApp uses meta-transactions and subsidises gas for you. You'll just sign messages.
The flow walks you through:
- Product type — physical / phygital / digital, single item or variants.
- Product information — title, description, category, tags, attributes. Pick an existing category if you can; create a custom one only if truly novel.
- Additional information — SKUs, brand, manufacturer model numbers, etc. Optional but useful for inventory management.
- Product images & video — jpg / jpeg / png / gif / webp images, plus optional mp4 video.
- Core terms of sale:
- Price in any supported ERC-20 (or native MATIC). Listing in $BOSON waives the protocol fee.
- Quantity available.
- Validity period — the window during which buyers can commit.
- Redemption period — how long after commit the buyer can redeem.
- Optional token-gating — see below.
- Token-gated offers (optional) — restrict commits to holders of a specific ERC-20, ERC-721, or ERC-1155 token. See Token gating below and Recipes → Token-gated launch.
- Terms of exchange — the contractual policy (currently one canonical policy is offered), buyer cancellation penalty, seller deposit, dispute resolver, dispute period.
- Shipping info — regions, expected delivery time, return period, optional parcel size & weight.
- Confirm — preview, initialize XMTP (first product only), sign the on-chain transaction.
The first time you create a product, you'll initialize XMTP. You'll see XMTP: Create Identity in your wallet first, then XMTP: Enable Identity once per session afterwards. Both are message signatures, not transactions. See xmtp.org/docs for what's happening.
Once submitted, the offer is on-chain — you can't edit it later. If anything's wrong, void and recreate.
3. Run a storefront (optional)
If you sell more than a couple of items, a storefront is a branded page that lists your offers (and optionally others') with your colours and fonts.
From the dApp footer, Templates & Guides → Set up a Web3 commerce store. Two-column editor: customise on the left, preview on the right.
Configurable:
- Store name / Title / Description — browser-tab name vs. on-page headline vs. subtext.
- Logo — upload to IPFS or link to an external host.
- Theme — header / footer / body colours, font family. (Watch contrast; check accessibility.)
- Navigation — header bar or sidebar.
- Footer — copyright, social links, on/off.
- Curation — list offers from other sellers, or a subset of your own (comma-separated IDs).
- Meta-transactions — optional. Pay your buyers' gas via Biconomy. Requires a Biconomy API key.
When you hit Create, the dApp pins your storefront to IPFS and gives you a bosonprotocol.infura-ipfs.io/ipfs/Qm… URL. To host it on a custom domain:
- Use an ENS subdomain (e.g.
store.myname.eth). - Front it with ETH Limo for friendly access (e.g.
https://store.myname.eth.limo). - Or point a DNS subdomain at the IPFS gateway.
Token gating
A token-gated product is only purchasable by buyers who hold a specified token. Currently gating is enforced on Polygon.
- ERC-20: gate by minimum token balance.
- ERC-721: gate by collection balance (any token in the contract) or by a specific token ID.
- ERC-1155: gate by a specific token ID (always required).
All gates also take an Unlocks per wallet count — how many times a holder can use the gate.
When a buyer browses, gated products show a lock icon over the image. On the product detail page, the gate requirements are listed; without the token they can't commit (enforced on-chain).
For the code-side equivalent: Recipes → Token-gated launch.
Fees
- Protocol fee — 0.5 % on successful exchanges. No protocol fee for offers priced in $BOSON.
- Dispute resolution — free for the canonical DR at launch. Other DRs may charge.
- Gas — Polygon transaction fees; subsidised by the dApp's meta-tx setup for sellers.
See Concepts → Funds, escrow & payouts for the full money-flow model.
When to graduate to the SDK
- You need automation (auto-list, auto-fulfil).
- You want a fully custom storefront UI.
- You're handling enough volume that the manual steps don't scale.
Switch to Tooling → Core SDK and Quickstart → Build a marketplace.