io.bosonprotocol/agentic-commerce
REMOTE · MCP.BOSONPROTOCOL.IO · SCANNED SEP 20
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Available components
Recent critical change
Authorization (18 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (create_offer). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 18340 tokens (~282/item across 65 items; 63 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage88
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 65% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 64 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the io.bosonprotocol/agentic-commerce MCP server?
io.bosonprotocol/agentic-commerce is a hosted endpoint at https://mcp.bosonprotocol.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.bosonprotocol.io
claude mcp add --transport http io-bosonprotocol-agentic-commerce 'https://mcp.bosonprotocol.io/mcp'
{
"mcpServers": {
"io-bosonprotocol-agentic-commerce": {
"url": "https://mcp.bosonprotocol.io/mcp"
}
}
} {
"servers": {
"io-bosonprotocol-agentic-commerce": {
"type": "http",
"url": "https://mcp.bosonprotocol.io/mcp"
}
}
} [mcp_servers.io-bosonprotocol-agentic-commerce] url = "https://mcp.bosonprotocol.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-bosonprotocol-agentic-commerce": {
"type": "remote",
"url": "https://mcp.bosonprotocol.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-bosonprotocol-agentic-commerce --url 'https://mcp.bosonprotocol.io/mcp' --transport streamable-http
mcp_servers:
io-bosonprotocol-agentic-commerce:
url: "https://mcp.bosonprotocol.io/mcp" {
"McpServers": {
"io-bosonprotocol-agentic-commerce": {
"Transport": "http",
"Url": "https://mcp.bosonprotocol.io/mcp"
}
}
} assistant mcp add io-bosonprotocol-agentic-commerce -t streamable-http -u 'https://mcp.bosonprotocol.io/mcp'
{
"mcpServers": {
"io-bosonprotocol-agentic-commerce": {
"type": "http",
"url": "https://mcp.bosonprotocol.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 +40
- Authorization: unverified → fail ▼ critical
- Injection markers: unverified → pass ▲ security
- Stability: fail → pass ▲ security
- Schema quality: unverified → fail ▼ functional
- Schema quality: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → good ▲ functional
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 17 Sept 26 −40
- Authorization: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: pass → fail ▼ security
- Schema quality: fail → unverified ▼ functional
- Schema quality: good → unverified ▼ functional
- Schema quality: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 15 Sept 26 0
- Server version: 1.2.8 → 1.2.9 functional
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Stability: 0.97 → pass security
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 6 Aug 26 0
- Authorization: unverified → fail ▼ critical
- New tool “approve_exchange_token”, which the server declares destructive security
- New tool “cancel_voucher”, which the server declares destructive security
- New tool “commit_to_buyer_offer”, which the server declares destructive security
- New tool “commit_to_conditional_offer”, which the server declares destructive security
- New tool “commit_to_conditional_offer_and_redeem_voucher”, which the server declares destructive security
- New tool “commit_to_offer”, which the server declares destructive security
- New tool “update_seller”, which the server declares destructive security
- New tool “commit_to_offer_and_redeem_voucher”, which the server declares destructive security
- New tool “complete_exchange”, which the server declares destructive security
- New tool “create_buyer”, which the server declares destructive security
- New tool “create_offer”, which the server declares destructive security
- New tool “create_offer_and_commit”, which the server declares destructive security
- New tool “create_offer_commit_and_redeem”, which the server declares destructive security
- New tool “create_offer_with_condition”, which the server declares destructive security
- New tool “create_seller”, which the server declares destructive security
- New tool “decide_dispute”, which the server declares destructive security
- New tool “deposit_funds”, which the server declares destructive security
- New tool “escalate_dispute”, which the server declares destructive security
- New tool “expire_dispute”, which the server declares destructive security
- New tool “expire_dispute_batch”, which the server declares destructive security
- New tool “expire_escalated_dispute”, which the server declares destructive security
- New tool “extend_dispute_timeout”, which the server declares destructive security
- New tool “raise_dispute”, which the server declares destructive security
- New tool “redeem_voucher”, which the server declares destructive security
- New tool “refuse_escalated_dispute”, which the server declares destructive security
- New tool “resolve_dispute”, which the server declares destructive security
- New tool “retract_dispute”, which the server declares destructive security
- New tool “revoke_voucher”, which the server declares destructive security
- New tool “send_forwarded_meta_transaction”, which the server declares destructive security
- New tool “send_meta_transaction”, which the server declares destructive security
- New tool “send_native_meta_transaction”, which the server declares destructive security
- New tool “send_signed_transaction”, which the server declares destructive security
- New tool “void_non_listed_offer”, which the server declares destructive security
- New tool “void_non_listed_offer_batch”, which the server declares destructive security
- New tool “void_offer”, which the server declares destructive security
- New tool “withdraw_funds”, which the server declares destructive security
- Schema quality: unverified → fail ▼ functional
- Schema quality: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → good ▲ functional
- First check of Tool coverage: 65 functional
- First check of Schema quality: 100 functional
- New prompt “create-offer” functional
- New prompt “create-seller-if-needed” functional
- New resource “Config IDs” functional
- New resource “dACP Agents” functional
- New tool “create_dispute_resolution_proposal” functional
- New tool “get_all_products_with_not_voided_variants” functional
- New tool “get_config_ids” functional
- New tool “get_dispute_by_id” functional
- New tool “get_dispute_resolvers” functional
- New tool “get_disputes” functional
- New tool “get_exchanges” functional
- New tool “get_funds” functional
- New tool “get_offers” functional
- New tool “get_registered_agents” functional
- New tool “get_sellers” functional
- New tool “get_sellers_by_address” functional
- New tool “get_supported_tokens” functional
- New tool “register_agent” functional
- New tool “render_contractual_agreement” functional
- New tool “search_products” functional
- New tool “sign_full_offer” functional
- New tool “sign_receive_with_dai_permit” functional
- New tool “sign_receive_with_erc2612_permit” functional
- New tool “sign_receive_with_erc3009_authorization” functional
- New tool “sign_receive_with_permit2” functional
- New tool “store_base_metadata” functional
- New tool “store_bundle_item_nft_metadata” functional
- New tool “store_bundle_item_product_v1_metadata” functional
- New tool “store_bundle_metadata” functional
- New tool “store_product_v1_metadata” functional
- New tool “validate_metadata” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://mcp.bosonprotocol.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.bosonprotocol.io | CN=WR3,O=Google Trust Services,C=US | 12 Aug 2026 | 11 Nov 2026 | RSA 2048 | SHA256-RSA | 4c752a1a5252e72d1026626a125bdadf |
| SANs: mcp.bosonprotocol.io | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.bosonprotocol.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| bosonprotocol.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.bosonprotocol.io/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.bosonprotocol.io/mcp | HTTPS enforced | 301 | https://mcp.bosonprotocol.io:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
approve_exchange_token ~259
Grants ERC-20 allowance to the Boson Protocol contract. Must be called before commit_to_offer or deposit_funds when using non-native exchange tokens. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Allowance in wei. Use max uint256 string for unlimited: '115792089237316195423570985008687907853269984665640564039457584007913129639935'. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeTokenAddress | string | yes | ERC-20 token contract address to approve for the Boson Protocol diamond. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
cancel_voucher ~218
Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
commit_to_buyer_offer ~284
Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionIndex | – | – | – |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| drMutualizerAddress | – | – | Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| offerId | string | yes | ID of a buyer-initiated offer (creator='BUYER') to commit to. The seller fulfils the offer. |
| royaltyInfo | object | – | – |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
commit_to_conditional_offer ~305
Commits to a token-gated (conditional) offer using a specific gating tokenId. Caller (signerAddress) must hold the gating token specified by the offer's condition. Use this instead of commit_to_offer for offers created via create_offer_with_condition. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer | string | – | Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| offerId | string | yes | ID of a conditional (token-gated) offer to commit to. Caller must hold the gating token specified by the offer's condition. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| tokenId | – | yes | Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and TokenRange gating). |
No output schema declared.
No examples provided.
commit_to_conditional_offer_and_redeem_voucher ~269
Atomically commits to a token-gated (conditional) offer using a specific gating tokenId and immediately redeems the voucher in a single transaction. Buyer must hold the gating token. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| offerId | string | yes | ID of a conditional (token-gated) offer to commit to and immediately redeem in a single transaction. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| tokenId | – | yes | Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and SpecificToken / TokenRange gating). |
No output schema declared.
No examples provided.
commit_to_offer ~255
Commits to an offer, creating an exchange and minting a voucher NFT. Caller is the buyer (signerAddress) unless 'buyer' param is set. For ERC-20 offers, call approve_exchange_token first. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer | string | – | Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| offerId | string | yes | ID of the active offer to commit to. Creates an exchange and mints a voucher NFT. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
commit_to_offer_and_redeem_voucher ~262
Atomically commits to an offer and immediately redeems the voucher in a single transaction via the OrchestrationHandler. Buyer (signerAddress) must already hold any required ERC-20 allowance (approve_exchange_token). Skips voucher transferability and starts the dispute period clock immediately. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| offerId | string | yes | ID of the active offer to commit to and immediately redeem in a single transaction. Combines commit_to_offer + redeem_voucher via the OrchestrationHandler. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
complete_exchange ~225
Completes an exchange after the dispute period expires, releasing funds to the seller. Can be called by seller after dispute period or by buyer at any time post-redemption. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
create_buyer ~141
Creates a buyer account for signerAddress. Required before a buyer can commit to seller-initiated offers for the first time. No prerequisites. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
create_dispute_resolution_proposal ~231
Generates EIP-712 typed data for a mutual dispute resolution proposal. Both buyer and seller must sign the same buyerPercentBasisPoints value locally with their wallet (EIP-712) before calling resolve_dispute. Returns: typed data structure (domain, types, message).
| Name | Type | Req | Description |
|---|---|---|---|
| buyerPercentBasisPoints | – | yes | Proposed percentage of disputed funds for the buyer, 0–10000 (basis points). The counterparty must sign this same value. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
create_offer ~859
Creates a product offer. Caller must have a seller account (create_seller first). Prerequisite: store metadata first with store_product_v1_metadata or store_base_metadata to get metadataUri/metadataHash. All dates in milliseconds; amounts as strings in wei. Returns unsigned tx — sign locally with your wallet → send_signed_transaction, or executionMode='metaTx'.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | – | – | Optional dACP agent facilitating this offer. Omit or pass '0' if no agent. |
| buyerCancellationPenalty | – | yes | Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string. |
| collectionIndex | – | – | Index of the seller's NFT collection for vouchers. Omit to use default (index 0). |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| creator | string | – | 'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1. |
| disputePeriodDurationInMS | number | yes | Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days. |
| disputeResolverId | string | – | ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers. |
| drMutualizerAddress | – | – | Optional dispute resolver mutualizer contract address that pools resolution funds. |
| exchangeTokenAddress | string | – | ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| feeLimit | – | – | Max protocol fee the seller accepts in same token unit. Pass as string. |
| metadataHash | string | yes | Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools. |
| metadataUri | string | yes | IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata. |
| price | string | yes | Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH. |
| priceType | number | – | 0 = static price, 1 = discovery price (auction). |
| quantityAvailable | number | yes | How many times this offer can be committed to. Must be 1 when creator='BUYER'. |
| resolutionPeriodDurationInMS | number | yes | Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days. |
| royaltyInfo | object | – | – |
| sellerDeposit | – | yes | Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| validFromDateInMS | number | yes | Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate. |
| validUntilDateInMS | number | yes | Unix timestamp in milliseconds when the offer can no longer be committed to. |
| voucherRedeemableFromDateInMS | number | yes | Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS. |
| voucherRedeemableUntilDateInMS | number | yes | Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead. |
| voucherValidDurationInMS | number | yes | Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead. |
No output schema declared.
No examples provided.
create_offer_and_commit ~1,029
Atomically creates a private offer and commits a specific buyer in one transaction. Prerequisite: call sign_full_offer, sign the returned typed data locally with your wallet (EIP-712), and provide the signature here. Used for private/bilateral trades. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | – | – | Optional dACP agent facilitating this offer. Omit or pass '0' if no agent. |
| buyerCancellationPenalty | – | yes | Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string. |
| buyerId | – | yes | Numeric ID of the buyer entity. Use '0' for seller-initiated offers. |
| collectionIndex | string | – | Index of the seller's NFT collection for vouchers. Omit to use default (index 0). |
| committer | – | yes | Ethereum address of the buyer committing in the same transaction. |
| condition | object | – | – |
| conditionalTokenId | – | – | Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type). |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| creator | string | – | 'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1. |
| disputePeriodDurationInMS | number | yes | Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days. |
| disputeResolverId | string | – | ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers. |
| drMutualizerAddress | – | – | Optional dispute resolver mutualizer contract address that pools resolution funds. |
| exchangeTokenAddress | – | – | ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| feeLimit | – | – | Max protocol fee the seller accepts in same token unit. Pass as string. |
| metadataHash | string | yes | Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools. |
| metadataUri | string | yes | IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata. |
| offerCreator | string | yes | Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address. |
| price | – | yes | Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH. |
| priceType | number | – | 0 = static price, 1 = discovery price (auction). |
| quantityAvailable | number | yes | How many times this offer can be committed to. Must be 1 when creator='BUYER'. |
| resolutionPeriodDurationInMS | number | yes | Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days. |
| royaltyInfo | object | – | – |
| sellerDeposit | – | yes | Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string. |
| sellerId | – | yes | Numeric ID of the seller entity. Obtain via get_sellers_by_address. |
| signature | string | yes | ECDSA signature over the offer typed data. Workflow: sign_full_offer → sign the returned typed data locally with your wallet (EIP-712) → use result here. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| useDepositedFunds | boolean | – | If true, use funds already deposited in the protocol treasury instead of transferring from the wallet. |
| validFromDateInMS | number | yes | Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate. |
| validUntilDateInMS | number | yes | Unix timestamp in milliseconds when the offer can no longer be committed to. |
| voucherRedeemableFromDateInMS | number | yes | Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS. |
| voucherRedeemableUntilDateInMS | number | yes | Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead. |
| voucherValidDurationInMS | number | yes | Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead. |
No output schema declared.
No examples provided.
create_offer_commit_and_redeem ~1,037
Atomically creates a private offer, commits a specific buyer, and immediately redeems the voucher in a single transaction via the OrchestrationHandler. Same prerequisites as create_offer_and_commit (sign_full_offer + EIP-712 signature). Use for instant-fulfilment private trades. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | – | – | Optional dACP agent facilitating this offer. Omit or pass '0' if no agent. |
| buyerCancellationPenalty | – | yes | Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string. |
| buyerId | – | yes | Numeric ID of the buyer entity. Use '0' for seller-initiated offers. |
| collectionIndex | string | – | Index of the seller's NFT collection for vouchers. Omit to use default (index 0). |
| committer | – | yes | Ethereum address of the buyer committing in the same transaction. |
| condition | object | – | – |
| conditionalTokenId | – | – | Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type). |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| creator | string | – | 'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1. |
| disputePeriodDurationInMS | number | yes | Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days. |
| disputeResolverId | string | – | ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers. |
| drMutualizerAddress | – | – | Optional dispute resolver mutualizer contract address that pools resolution funds. |
| exchangeTokenAddress | – | – | ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| feeLimit | – | – | Max protocol fee the seller accepts in same token unit. Pass as string. |
| metadataHash | string | yes | Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools. |
| metadataUri | string | yes | IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata. |
| offerCreator | string | yes | Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address. |
| price | – | yes | Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH. |
| priceType | number | – | 0 = static price, 1 = discovery price (auction). |
| quantityAvailable | number | yes | How many times this offer can be committed to. Must be 1 when creator='BUYER'. |
| resolutionPeriodDurationInMS | number | yes | Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days. |
| royaltyInfo | object | – | – |
| sellerDeposit | – | yes | Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string. |
| sellerId | – | yes | Numeric ID of the seller entity. Obtain via get_sellers_by_address. |
| signature | string | yes | ECDSA signature over the offer typed data. Workflow: sign_full_offer → sign the returned typed data locally with your wallet (EIP-712) → use result here. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| useDepositedFunds | boolean | – | If true, use funds already deposited in the protocol treasury instead of transferring from the wallet. |
| validFromDateInMS | number | yes | Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate. |
| validUntilDateInMS | number | yes | Unix timestamp in milliseconds when the offer can no longer be committed to. |
| voucherRedeemableFromDateInMS | number | yes | Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS. |
| voucherRedeemableUntilDateInMS | number | yes | Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead. |
| voucherValidDurationInMS | number | yes | Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead. |
No output schema declared.
No examples provided.
create_offer_with_condition ~834
Creates an offer gated by token-ownership (e.g. hold an ERC-721 to commit). Same prerequisites as create_offer plus a condition object specifying the gate token, method, and threshold. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | – | – | Optional dACP agent facilitating this offer. Omit or pass '0' if no agent. |
| buyerCancellationPenalty | – | yes | Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string. |
| collectionIndex | – | – | Index of the seller's NFT collection for vouchers. Omit to use default (index 0). |
| condition | object | yes | – |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| creator | string | – | 'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1. |
| disputePeriodDurationInMS | number | yes | Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days. |
| disputeResolverId | string | – | ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers. |
| drMutualizerAddress | – | – | Optional dispute resolver mutualizer contract address that pools resolution funds. |
| exchangeTokenAddress | – | – | ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| feeLimit | – | – | Max protocol fee the seller accepts in same token unit. Pass as string. |
| metadataHash | string | yes | Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools. |
| metadataUri | string | yes | IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata. |
| price | – | yes | Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH. |
| priceType | number | – | 0 = static price, 1 = discovery price (auction). |
| quantityAvailable | number | yes | How many times this offer can be committed to. Must be 1 when creator='BUYER'. |
| resolutionPeriodDurationInMS | number | yes | Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days. |
| royaltyInfo | object | – | – |
| sellerDeposit | – | yes | Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| validFromDateInMS | number | yes | Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate. |
| validUntilDateInMS | number | yes | Unix timestamp in milliseconds when the offer can no longer be committed to. |
| voucherRedeemableFromDateInMS | number | yes | Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS. |
| voucherRedeemableUntilDateInMS | number | yes | Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead. |
| voucherValidDurationInMS | number | yes | Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead. |
No output schema declared.
No examples provided.
create_seller ~384
Creates a seller account on Boson Protocol. Required before creating any offers. signerAddress is automatically set as admin, assistant, and treasury. Provide seller metadata and royaltyPercentage. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| authTokenId | – | yes | NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens. |
| authTokenType | number | yes | Auth token type: 0=None, 1=Lens Protocol profile NFT. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| contactLinks | array | – | – |
| contactPreference | string | yes | – |
| contractUri | string | yes | URI for OpenSea-style storefront metadata. Can be IPFS URI or empty string. |
| description | string | – | – |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| images | array | – | – |
| kind | string | yes | – |
| legalTradingName | string | – | – |
| name | string | – | – |
| royaltyPercentage | string | yes | Default resale royalty in basis points (0–10000). Applied to all offers unless overridden. |
| salesChannels | array | – | – |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| socialLinks | array | – | – |
| type | string | yes | – |
| website | string | – | – |
No output schema declared.
No examples provided.
decide_dispute ~222
Decides an escalated dispute. Caller must be the dispute resolver assigned to the offer's disputeResolverId. Specify buyerPercent in basis points (0=all to seller, 10000=all to buyer). Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| buyerPercent | – | yes | Percentage of disputed funds to buyer in basis points (0–10000). 10000 = all to buyer, 0 = all to seller. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
deposit_funds ~262
Deposits ERC-20 or native tokens into an entity's protocol treasury (e.g. seller deposit). For ERC-20, call approve_exchange_token first. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | – | yes | Amount in wei. For ERC-20, approve_exchange_token must be called first. Pass as string. |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| entityId | string | yes | Numeric ID of the entity to credit. Must match signerAddress's seller account. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| tokenAddress | string | yes | ERC-20 token to deposit. Use address(0) for native ETH. |
No output schema declared.
No examples provided.
escalate_dispute ~219
Escalates a stale dispute to the third-party dispute resolver. Caller must be the buyer. Resolver's escalation fee must be covered. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
expire_dispute ~175
Marks a dispute as expired after its resolution period passes. Permissionless — anyone can call. Exchange must be in 'Disputed' state past its timeout. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
expire_dispute_batch ~171
Marks multiple expired disputes in one transaction. All exchanges must be in 'Disputed' state past their respective timeouts. Permissionless. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeIds | array | yes | Array of exchange IDs whose dispute period has passed. All must be in 'Disputed' state past their timeout. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
expire_escalated_dispute ~171
Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
extend_dispute_timeout ~249
Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| newDisputeTimeout | – | yes | New absolute Unix timestamp in SECONDS (not ms) for the dispute deadline. Must be later than current timeout. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
get_all_products_with_not_voided_variants ~160
Reads product groupings with at least one non-voided variant from the Boson subgraph. Useful for storefront displays. Supports pagination and ordering. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| productsFilter | object | – | – |
| productsFirst | number | – | – |
| productsOrderBy | string | – | – |
| productsOrderDirection | string | – | – |
| productsSkip | number | – | – |
No output schema declared.
No examples provided.
get_config_ids ~34
Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_dispute_by_id ~167
Reads a single dispute by its ID (equals the exchangeId). Read-only. Returns: dispute entity with state, timeout, buyerPercent. Use get_disputes to search first.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| disputeId | string | yes | Numeric ID of the dispute to retrieve. Note: disputeId equals the exchangeId of the associated exchange. |
| queryVars | – | – | Optional additional subgraph query variables for field selection. Leave empty for default fields. |
No output schema declared.
No examples provided.
get_dispute_resolvers ~169
Reads registered dispute resolver entities. Use this to find a valid disputeResolverId for create_offer. Read-only. Returns: array of resolvers with ID, fees, escalationResponsePeriod, and supported tokens.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| disputeResolversFilter | object | – | – |
| disputeResolversFirst | number | – | – |
| disputeResolversOrderBy | string | – | – |
| disputeResolversOrderDirection | string | – | – |
| disputeResolversSkip | number | – | – |
No output schema declared.
No examples provided.
get_disputes ~162
Reads dispute records from the Boson subgraph. Supports pagination, ordering, and filtering by buyer/seller/state. Read-only. Returns: array of dispute entities with exchangeId, state, timeout.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| disputesFilter | object | – | – |
| disputesFirst | number | – | – |
| disputesOrderBy | string | – | – |
| disputesOrderDirection | string | – | – |
| disputesSkip | number | – | – |
No output schema declared.
No examples provided.
get_exchanges ~175
Reads exchange records (offer commitments) from the Boson subgraph. Filter by buyer/seller/state. Read-only. Returns: array of exchanges with offerId, state (Committed/Redeemed/Completed/Disputed/Cancelled/Revoked), and voucher details.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangesFilter | object | – | – |
| exchangesFirst | number | – | – |
| exchangesOrderBy | string | – | – |
| exchangesOrderDirection | string | – | – |
| exchangesSkip | number | – | – |
No output schema declared.
No examples provided.
get_funds ~166
Reads treasury fund balances for sellers and buyers from the Boson subgraph. Supports pagination/ordering/filtering. Read-only — signerAddress not required. Returns: array of { tokenAddress, availableAmount, accountId }.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| fundsFilter | object | – | – |
| fundsFirst | number | – | – |
| fundsOrderBy | string | – | – |
| fundsOrderDirection | string | – | – |
| fundsSkip | number | – | – |
No output schema declared.
No examples provided.
get_offers ~215
Reads offer listings from the Boson subgraph. Supports pagination, ordering, and filtering (e.g. by sellerId). Read-only. Returns: array of offers with price, deposit, dates, and quantity.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangesFilter | object | – | – |
| exchangesFirst | number | – | – |
| exchangesOrderBy | string | – | – |
| exchangesOrderDirection | string | – | – |
| exchangesSkip | number | – | – |
| includeExchanges | boolean | – | – |
| offersFilter | object | – | – |
| offersFirst | number | – | – |
| offersOrderBy | string | – | – |
| offersOrderDirection | string | – | – |
| offersSkip | number | – | – |
No output schema declared.
No examples provided.
get_registered_agents ~103
Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
No output schema declared.
No examples provided.
get_sellers ~193
Reads seller account entities from the Boson subgraph. Optionally includes related offers, exchanges, funds, and logs. Read-only. Returns: array of seller entities with addresses and metadataUri.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| includeExchanges | boolean | – | – |
| includeFunds | boolean | – | – |
| includeLogs | boolean | – | – |
| includeOffers | boolean | – | – |
| sellersFilter | object | – | – |
| sellersFirst | number | – | – |
| sellersOrderBy | string | – | – |
| sellersOrderDirection | string | – | – |
| sellersSkip | number | – | – |
No output schema declared.
No examples provided.
get_sellers_by_address ~201
Reads seller entities associated with a specific Ethereum address. Use this to check if signerAddress already has a seller account before calling create_seller. Read-only. Returns: array of seller entities.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | – |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| includeExchanges | boolean | – | – |
| includeFunds | boolean | – | – |
| includeLogs | boolean | – | – |
| includeOffers | boolean | – | – |
| sellersFilter | object | – | – |
| sellersFirst | number | – | – |
| sellersOrderBy | string | – | – |
| sellersOrderDirection | string | – | – |
| sellersSkip | number | – | – |
No output schema declared.
No examples provided.
get_supported_tokens ~124
Returns ERC-20 tokens accepted as exchange tokens on the given configId deployment. Use returned addresses in exchangeTokenAddress fields of create_offer. Read-only. Returns: array of { address, name, symbol, decimals }.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
No output schema declared.
No examples provided.
raise_dispute ~218
Raises a dispute on a redeemed exchange. Caller must be the buyer. Must be called within disputePeriodDurationInMS after redemption. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
redeem_voucher ~230
Redeems a voucher, signalling physical receipt of goods and starting the dispute period clock. Caller must be the buyer. After redemption, buyer has disputePeriodDurationInMS to raise a dispute. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
refuse_escalated_dispute ~175
Dispute resolver refuses to decide an escalated dispute. Returns the escalation fee to the buyer and resets dispute to 'Resolving' state. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
register_agent ~75
Registers a dACP agent with this MCP server instance, associating its Ethereum identities and roles. The signature proves control of each signerAddress. Server-local state — no configId/signerAddress context needed. Returns: registration confirmation.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | – |
| entities | array | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
render_contractual_agreement ~164
Renders the legal contractual agreement text/HTML for an offer using its offer data and metadata. Use to preview or store the agreement. Returns: rendered agreement string.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| offerData | object | yes | – |
| offerMetadata | object | yes | – |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
| template | string | yes | – |
No output schema declared.
No examples provided.
resolve_dispute ~401
Resolves a dispute by mutual agreement. Workflow: (1) create_dispute_resolution_proposal generates typed data, (2) both parties sign the typed data locally with their wallet (EIP-712), (3) either party submits sigR/sigS/sigV here. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| buyerPercentBasisPoints | – | yes | Agreed buyer share in basis points (0–10000). Both parties must sign the same value. Obtain via create_dispute_resolution_proposal then sign the typed data locally with each party's wallet (EIP-712). |
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| sigR | string | yes | 32-byte R component of the ECDSA resolution signature as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters. |
| sigS | string | yes | 32-byte S component as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters. |
| sigV | – | yes | Recovery byte V: 27 or 28. From the locally-signed EIP-712 signature parameters. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
retract_dispute ~215
Retracts a raised dispute, releasing seller deposit and restoring completion flow. Caller must be the buyer who raised it. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
revoke_voucher ~221
Revokes a committed (not yet redeemed) voucher on behalf of the seller, returning funds to the buyer. Caller must be the seller assistant. Returns unsigned transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| exchangeId | string | yes | Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer. |
| executionMode | string | – | 'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'. |
| signerAddress | string | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
search_products ~231
Searches products in the Boson subgraph by keywords matched against title, description, brand, category, and tags. Supports pagination, ordering, filtering, and an includeInvalidOffers flag (default false = only products with currently-valid offers). Read-only. Returns: array of product search result fragments.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| includeInvalidOffers | boolean | – | When true, include products whose offers are outside their validity window. Defaults to false (valid offers only). |
| keywords | array | yes | List of keywords matched against product title, description, brand, category, and tags. |
| productsFilter | object | – | – |
| productsFirst | number | – | – |
| productsOrderBy | string | – | – |
| productsOrderDirection | string | – | – |
| productsSkip | number | – | – |
No output schema declared.
No examples provided.
send_forwarded_meta_transaction ~212
Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.
| Name | Type | Req | Description |
|---|---|---|---|
| configId | string | yes | Boson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid valu… |
| contractAddress | string | yes | Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted. |
| domainSeparator | string | yes | – |
| request | object | yes | – |
| signature | string | yes | – |
| signerAddress | – | yes | Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally. |
No output schema declared.
No examples provided.
What is the io.bosonprotocol/agentic-commerce MCP server?
io.bosonprotocol/agentic-commerce is an MCP server listed in the public MCP registry as io.bosonprotocol/agentic-commerce. MCP server for Boson Protocol, on-chain agentic commerce for physical & digital goods. This page covers its hosted endpoint (https://mcp.bosonprotocol.io/mcp).
Is the io.bosonprotocol/agentic-commerce MCP server safe to use?
io.bosonprotocol/agentic-commerce scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.bosonprotocol/agentic-commerce MCP server expose?
io.bosonprotocol/agentic-commerce exposes 63 tools: get_config_ids, get_funds, get_disputes, get_dispute_by_id, get_exchanges, and 58 more. Their descriptions and schemas cost roughly 18,287 tokens of context every time the server is loaded.
Does the io.bosonprotocol/agentic-commerce MCP server require authentication?
No. We connected to io.bosonprotocol/agentic-commerce without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.bosonprotocol/agentic-commerce MCP server still maintained?
io.bosonprotocol/agentic-commerce is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.