Roles
Boson has six distinct roles. A single wallet can hold any combination of them.
| Role | Created by | Primary action |
|---|---|---|
| Seller | createSeller() | Publishes offers |
| Buyer | createBuyer() (implicit on first commit) | Commits to offers |
| Dispute Resolver | createDisputeResolver() | Arbitrates contested exchanges |
| Protocol Agent | createAgent() | Earns a fee for facilitating an offer |
| Royalty Recipient | addRoyaltyRecipients() | Receives a cut of secondary sales |
| Facilitator (x402) | (off-chain only) | Relays signed meta-txs to the Diamond |
Seller
The entity that publishes offers. Has four keys at creation:
assistant— the operational signer. CallscreateOffer(),voidOffer(), etc.admin— the privileged signer. Updates the seller's configuration.clerk— deprecatedtreasury— the recipient address for offer proceeds.
Sellers can hold an optional authToken (e.g. a Lens Protocol token) to associate the on-chain identity with an off-chain handle.
See Build → Sellers.
Buyer
The entity that commits. Created implicitly the first time an address calls commitToOffer() or createOffer() (for buyer-initiated offers). No separate setup required.
See Build → Buyers.
Dispute Resolver
A third party registered to arbitrate disputed exchanges. Configured with:
- A fee per chain × token.
- An optional metadata URI describing terms of service.
- A list of allowed sellers (or "anyone").
Examples: a centralised arbitration service, a multisig, Kleros, or a custom DAO. See Build → Dispute Resolvers.
Protocol Agent
Distinct from an AI agent. The protocol uses the word "agent" to mean a third party that earns a fee for facilitating an offer.
Configured on the offer at creation (agentId). On exchange completion, the agent's treasury receives a fixed percentage of the offer price. Used by marketplaces, integrators, and curators who add value but don't sell directly.
Register with register_agent (MCP) or createAgent (SDK).
Royalty Recipient
Registered per seller; gets a percentage of secondary-sale royalties on rNFTs. See Build → Sellers → Royalties.
Facilitator
An off-chain role specific to the x402 stack. A facilitator relays a buyer's signed meta-transaction + token authorization to the Diamond, paying gas on the buyer's behalf. Operationally similar to a Biconomy relayer, but specialized to the x402 envelope.