accueil / serveurs / Finance & Paiement / io.bosonprotocol/agentic-commerce
io.bosonprotocol/agentic-commerce
serveur MCP (Model Context Protocol) · boson-protocol-server 1.2.11
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.bosonprotocol/agentic-commerce est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.bosonprotocol/agentic-commerce » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 63 outils
- approve_exchange_token≈ 436 tokens
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, unless you relay in metaTx mode with transferAuthorizations (built with a sign_receive_with_* tool) passed to send_meta_transaction. Returns unsigned transaction data.
Paramètres, retour & exemple (5)
Paramètresamount· string · requis
Allowance in wei. Use max uint256 string for unlimited: '115792089237316195423570985008687907853269984665640564039457584007913129639935'.configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.exchangeTokenAddress· string · requis
ERC-20 token contract address to approve for the Boson Protocol diamond.
Exemple d'appel{"name": "approve_exchange_token", "arguments": {"amount": "texte", "configId": "texte", "signerAddress": "texte", "exchangeTokenAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_voucher≈ 344 tokens
Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "cancel_voucher", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_to_buyer_offer≈ 591 tokens
Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.
Paramètres, retour & exemple (7)
ParamètresofferId· string · requis
ID of a buyer-initiated offer (creator='BUYER') to commit to. The seller fulfils the offer.configId· string · requis
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 values for this server.royaltyInfo· object · optionnelexecutionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· ? · optionneldrMutualizerAddress· ? · optionnel
Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.
Exemple d'appel{"name": "commit_to_buyer_offer", "arguments": {"offerId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_to_conditional_offer≈ 470 tokens
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.
Paramètres, retour & exemple (6)
Paramètresbuyer· string · optionnel
Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'.offerId· string · requis
ID of a conditional (token-gated) offer to commit to. Caller must hold the gating token specified by the offer's condition.tokenId· ? · requis
Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and TokenRange gating).configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "commit_to_conditional_offer", "arguments": {"offerId": "texte", "tokenId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_to_conditional_offer_and_redeem_voucher≈ 417 tokens
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.
Paramètres, retour & exemple (5)
ParamètresofferId· string · requis
ID of a conditional (token-gated) offer to commit to and immediately redeem in a single transaction.tokenId· ? · requis
Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and SpecificToken / TokenRange gating).configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "commit_to_conditional_offer_and_redeem_voucher", "arguments": {"offerId": "texte", "tokenId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_to_offer≈ 424 tokens
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. In metaTx mode, you can skip the approval by passing transferAuthorizations (built with a sign_receive_with_* tool) to send_meta_transaction. Returns unsigned transaction data.
Paramètres, retour & exemple (5)
Paramètresbuyer· string · optionnel
Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'.offerId· string · requis
ID of the active offer to commit to. Creates an exchange and mints a voucher NFT.configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "commit_to_offer", "arguments": {"offerId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - commit_to_offer_and_redeem_voucher≈ 418 tokens
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), or, in metaTx mode, pass transferAuthorizations to send_meta_transaction. Skips voucher transferability and starts the dispute period clock immediately. Returns unsigned transaction data.
Paramètres, retour & exemple (4)
ParamètresofferId· string · requis
ID of the active offer to commit to and immediately redeem in a single transaction. Combines commit_to_offer + redeem_voucher via the OrchestrationHandler.configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "commit_to_offer_and_redeem_voucher", "arguments": {"offerId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - complete_exchange≈ 354 tokens
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.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "complete_exchange", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_buyer≈ 238 tokens
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.
Paramètres, retour & exemple (2)
ParamètresconfigId· string · requis
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 values for this server.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "create_buyer", "arguments": {"configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_dispute_resolution_proposal≈ 363 tokens
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).
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.buyerPercentBasisPoints· ? · requis
Proposed percentage of disputed funds for the buyer, 0–10000 (basis points). The counterparty must sign this same value.
Exemple d'appel{"name": "create_dispute_resolution_proposal", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte", "buyerPercentBasisPoints": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_offer≈ 1396 tokens
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'.
Paramètres, retour & exemple (25)
Paramètresprice· string · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.priceType· number · optionnel
0 = static price, 1 = discovery price (auction).metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· ? · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· string · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "create_offer", "arguments": {"price": "texte", "configId": "texte", "metadataUri": "texte", "metadataHash": "texte", "sellerDeposit": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_offer_and_commit≈ 2067 tokens
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.
Paramètres, retour & exemple (33)
Paramètresprice· ? · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.buyerId· ? · requis
Numeric ID of the buyer entity. Use '0' for seller-initiated offers.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.sellerId· ? · requis
Numeric ID of the seller entity. Obtain via get_sellers_by_address.committer· ? · requis
Ethereum address of the buyer committing in the same transaction.condition· object · optionnelpriceType· number · optionnel
0 = static price, 1 = discovery price (auction).signature· string · requis
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.metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.offerCreator· string · requis
Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· string · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.useDepositedFunds· boolean · optionnel
If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.conditionalTokenId· ? · optionnel
Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· ? · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "create_offer_and_commit", "arguments": {"price": "texte", "buyerId": "texte", "configId": "texte", "sellerId": "texte", "committer": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_offer_commit_and_redeem≈ 2078 tokens
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.
Paramètres, retour & exemple (33)
Paramètresprice· ? · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.buyerId· ? · requis
Numeric ID of the buyer entity. Use '0' for seller-initiated offers.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.sellerId· ? · requis
Numeric ID of the seller entity. Obtain via get_sellers_by_address.committer· ? · requis
Ethereum address of the buyer committing in the same transaction.condition· object · optionnelpriceType· number · optionnel
0 = static price, 1 = discovery price (auction).signature· string · requis
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.metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.offerCreator· string · requis
Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· string · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.useDepositedFunds· boolean · optionnel
If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.conditionalTokenId· ? · optionnel
Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· ? · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "create_offer_commit_and_redeem", "arguments": {"price": "texte", "buyerId": "texte", "configId": "texte", "sellerId": "texte", "committer": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_offer_with_condition≈ 1730 tokens
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.
Paramètres, retour & exemple (26)
Paramètresprice· ? · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.condition· object · requispriceType· number · optionnel
0 = static price, 1 = discovery price (auction).metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· ? · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· ? · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "create_offer_with_condition", "arguments": {"price": "texte", "configId": "texte", "condition": {}, "metadataUri": "texte", "metadataHash": "texte", "sellerDeposit": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_seller≈ 914 tokens
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.
Paramètres, retour & exemple (18)
Paramètreskind· string · requisname· string · optionneltype· string · requisimages· array · optionnelwebsite· string · optionnelconfigId· string · requis
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 values for this server.authTokenId· ? · requis
NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens.contractUri· string · optionnel
Optional URI for OpenSea-style storefront metadata (defaults to empty string, meaning none). When set, it is fetched to copy it to The Graph's IPFS node, so it must be an ipfs:// URI, a CID, or an http(s) URL returning JSON.description· string · optionnelsocialLinks· array · optionnelcontactLinks· array · optionnelauthTokenType· number · requis
Auth token type: 0=None, 1=Lens Protocol profile NFT.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.salesChannels· array · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.legalTradingName· string · optionnelcontactPreference· string · requisroyaltyPercentage· string · requis
Default resale royalty in basis points (0–10000). Applied to all offers unless overridden.
Exemple d'appel{"name": "create_seller", "arguments": {"kind": "texte", "type": "texte", "configId": "texte", "authTokenId": "texte", "authTokenType": 1, "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - decide_dispute≈ 339 tokens
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.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.buyerPercent· ? · requis
Percentage of disputed funds to buyer in basis points (0–10000). 10000 = all to buyer, 0 = all to seller.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "decide_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "buyerPercent": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - deposit_funds≈ 470 tokens
Deposits ERC-20 or native tokens into an entity's protocol treasury (e.g. seller deposit). For ERC-20, call approve_exchange_token first. In metaTx mode, you can skip the approval by passing transferAuthorizations (built with a sign_receive_with_* tool) to send_meta_transaction. Returns unsigned transaction data.
Paramètres, retour & exemple (6)
Paramètresamount· ? · requis
Amount in wei. For ERC-20, approve_exchange_token must be called first, unless relaying in metaTx mode with transferAuthorizations passed to send_meta_transaction. Pass as string.configId· string · requis
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 values for this server.entityId· string · requis
Numeric ID of the entity to credit. Must match signerAddress's seller account.tokenAddress· string · requis
ERC-20 token to deposit. Use address(0) for native ETH.executionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "deposit_funds", "arguments": {"amount": "texte", "configId": "texte", "entityId": "texte", "tokenAddress": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - escalate_dispute≈ 344 tokens
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.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "escalate_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - expire_dispute≈ 282 tokens
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.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "expire_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - expire_dispute_batch≈ 295 tokens
Marks multiple expired disputes in one transaction. All exchanges must be in 'Disputed' state past their respective timeouts. Permissionless. Returns unsigned transaction data.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.exchangeIds· array · requis
Array of exchange IDs whose dispute period has passed. All must be in 'Disputed' state past their timeout.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "expire_dispute_batch", "arguments": {"configId": "texte", "exchangeIds": [], "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - expire_escalated_dispute≈ 281 tokens
Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "expire_escalated_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - extend_dispute_timeout≈ 393 tokens
Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.
Paramètres, retour & exemple (5)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.newDisputeTimeout· ? · requis
New absolute Unix timestamp in SECONDS (not ms) for the dispute deadline. Must be later than current timeout.
Exemple d'appel{"name": "extend_dispute_timeout", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte", "newDisputeTimeout": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_all_products_with_not_voided_variants≈ 605 tokens
Reads product groupings with at least one non-voided variant from the Boson subgraph. Useful for storefront displays. Supports pagination and ordering. Read-only.
Paramètres, retour & exemple (6)
ParamètresconfigId· string · requis
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 values for this server.productsSkip· number · optionnelproductsFirst· number · optionnelproductsFilter· object · optionnelproductsOrderBy· string · optionnel · allVariantsVoided | brand | brand__id | brand__name | category | category__id | category__name | descriptionproductsOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_all_products_with_not_voided_variants", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_config_ids≈ 93 tokens
Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_config_ids", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dispute_by_id≈ 252 tokens
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.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.disputeId· string · requis
Numeric ID of the dispute to retrieve. Note: disputeId equals the exchangeId of the associated exchange.queryVars· ? · optionnel
Optional additional subgraph query variables for field selection. Leave empty for default fields.
Exemple d'appel{"name": "get_dispute_by_id", "arguments": {"configId": "texte", "disputeId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dispute_resolvers≈ 344 tokens
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.
Paramètres, retour & exemple (6)
ParamètresconfigId· string · requis
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 values for this server.disputeResolversSkip· number · optionneldisputeResolversFirst· number · optionneldisputeResolversFilter· object · optionneldisputeResolversOrderBy· string · optionnel · active | admin | assistant | clerk | escalationResponsePeriod | fees | funds | iddisputeResolversOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_dispute_resolvers", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_disputes≈ 511 tokens
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.
Paramètres, retour & exemple (6)
ParamètresconfigId· string · requis
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 values for this server.disputesSkip· number · optionneldisputesFirst· number · optionneldisputesFilter· object · optionneldisputesOrderBy· string · optionnel · buyer | buyerPercent | buyer__active | buyer__id | buyer__wallet | decidedDate | disputeResolver | disputeResolver__activedisputesOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_disputes", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_exchanges≈ 744 tokens
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.
Paramètres, retour & exemple (6)
ParamètresconfigId· string · requis
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 values for this server.exchangesSkip· number · optionnelexchangesFirst· number · optionnelexchangesFilter· object · optionnelexchangesOrderBy· string · optionnel · buyer | buyer__active | buyer__id | buyer__wallet | cancelledDate | committedDate | completedDate | disputeexchangesOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_exchanges", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_funds≈ 318 tokens
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 }.
Paramètres, retour & exemple (6)
ParamètresconfigId· string · requis
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 values for this server.fundsSkip· number · optionnelfundsFirst· number · optionnelfundsFilter· object · optionnelfundsOrderBy· string · optionnel · account | accountId | account__createdAt | account__creationTxHash | account__entityId | account__id | account__metadataURI | availableAmountfundsOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_funds", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_offers≈ 1398 tokens
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.
Paramètres, retour & exemple (12)
ParamètresconfigId· string · requis
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 values for this server.offersSkip· number · optionneloffersFirst· number · optionneloffersFilter· object · optionnelexchangesSkip· number · optionneloffersOrderBy· string · optionnel · agentFee | agentId | buyer | buyerCancelPenalty | buyerId | buyer__active | buyer__id | buyer__walletexchangesFirst· number · optionnelexchangesFilter· object · optionnelexchangesOrderBy· string · optionnel · buyer | buyer__active | buyer__id | buyer__wallet | cancelledDate | committedDate | completedDate | disputeincludeExchanges· boolean · optionneloffersOrderDirection· string · optionnel · asc | descexchangesOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_offers", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_registered_agents≈ 172 tokens
Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.
Paramètres, retour & exemple (1)
ParamètresconfigId· string · requis
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 values for this server.
Exemple d'appel{"name": "get_registered_agents", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_sellers≈ 443 tokens
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.
Paramètres, retour & exemple (10)
ParamètresconfigId· string · requis
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 values for this server.includeLogs· boolean · optionnelsellersSkip· number · optionnelincludeFunds· boolean · optionnelsellersFirst· number · optionnelincludeOffers· boolean · optionnelsellersFilter· object · optionnelsellersOrderBy· string · optionnel · active | admin | assistant | authTokenId | authTokenType | clerk | collections | exchangesincludeExchanges· boolean · optionnelsellersOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_sellers", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_sellers_by_address≈ 462 tokens
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.
Paramètres, retour & exemple (11)
Paramètresaddress· string · requisconfigId· string · requis
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 values for this server.includeLogs· boolean · optionnelsellersSkip· number · optionnelincludeFunds· boolean · optionnelsellersFirst· number · optionnelincludeOffers· boolean · optionnelsellersFilter· object · optionnelsellersOrderBy· string · optionnel · active | admin | assistant | authTokenId | authTokenType | clerk | collections | exchangesincludeExchanges· boolean · optionnelsellersOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "get_sellers_by_address", "arguments": {"address": "texte", "configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_supported_tokens≈ 194 tokens
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 }.
Paramètres, retour & exemple (1)
ParamètresconfigId· string · requis
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 values for this server.
Exemple d'appel{"name": "get_supported_tokens", "arguments": {"configId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - raise_dispute≈ 342 tokens
Raises a dispute on a redeemed exchange. Caller must be the buyer. Must be called within disputePeriodDurationInMS after redemption. Returns unsigned transaction data.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "raise_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - redeem_voucher≈ 358 tokens
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.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "redeem_voucher", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - refuse_escalated_dispute≈ 284 tokens
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.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.signerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "refuse_escalated_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - register_agent≈ 313 tokens
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.
Paramètres, retour & exemple (3)
Paramètresname· string · requisentities· array · requisdescription· string · requis
Exemple d'appel{"name": "register_agent", "arguments": {"name": "texte", "entities": [], "description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_contractual_agreement≈ 1000 tokens
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.
Paramètres, retour & exemple (5)
ParamètresconfigId· string · requis
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 values for this server.template· string · requisofferData· object · requisofferMetadata· object · requissignerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "render_contractual_agreement", "arguments": {"configId": "texte", "template": "texte", "offerData": {}, "offerMetadata": {}, "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve_dispute≈ 566 tokens
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.
Paramètres, retour & exemple (8)
ParamètressigR· string · requis
32-byte R component of the ECDSA resolution signature as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.sigS· string · requis
32-byte S component as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.sigV· ? · requis
Recovery byte V: 27 or 28. From the locally-signed EIP-712 signature parameters.configId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.buyerPercentBasisPoints· ? · requis
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).
Exemple d'appel{"name": "resolve_dispute", "arguments": {"sigR": "texte", "sigS": "texte", "sigV": "texte", "configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - retract_dispute≈ 341 tokens
Retracts a raised dispute, releasing seller deposit and restoring completion flow. Caller must be the buyer who raised it. Returns unsigned transaction data.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "retract_dispute", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_voucher≈ 344 tokens
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.
Paramètres, retour & exemple (4)
ParamètresconfigId· string · requis
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 values for this server.exchangeId· string · requis
Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "revoke_voucher", "arguments": {"configId": "texte", "exchangeId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_products≈ 729 tokens
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.
Paramètres, retour & exemple (8)
ParamètresconfigId· string · requis
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 values for this server.keywords· array · requis
List of keywords matched against product title, description, brand, category, and tags.productsSkip· number · optionnelproductsFirst· number · optionnelproductsFilter· object · optionnelproductsOrderBy· string · optionnel · allVariantsVoided | brand | brand__id | brand__name | category | category__id | category__name | descriptionincludeInvalidOffers· boolean · optionnel
When true, include products whose offers are outside their validity window. Defaults to false (valid offers only).productsOrderDirection· string · optionnel · asc | desc
Exemple d'appel{"name": "search_products", "arguments": {"configId": "texte", "keywords": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_forwarded_meta_transaction≈ 552 tokens
Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.
Paramètres, retour & exemple (6)
Paramètresrequest· object · requisconfigId· string · requis
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 values for this server.signature· string · requissignerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.contractAddress· string · requis
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 · requis
Exemple d'appel{"name": "send_forwarded_meta_transaction", "arguments": {"request": {}, "configId": "texte", "signature": "texte", "signerAddress": "texte", "contractAddress": "texte", "domainSeparator": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_meta_transaction≈ 1454 tokens
Relays a pre-signed meta-transaction via Biconomy so the user pays no gas. Requires sigR/sigS/sigV from a locally-signed EIP-712 payload. Use when the target operation requires metaTx relay. Optionally accepts transferAuthorizations (from the sign_receive_with_* tools, completed with your local signature) so the protocol can pull ERC-20 tokens without a prior approve_exchange_token tx. Returns: relay transaction data.
Paramètres, retour & exemple (9)
ParamètressigR· string · requissigS· string · requissigV· string|number · requisnonce· string|number · requisconfigId· string · requis
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 values for this server.functionName· string · requissignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.functionSignature· string · requistransferAuthorizations· array · optionnel
Optional ERC-20 transfer authorizations that let the protocol pull tokens without a prior approve_exchange_token tx (e.g. commit_to_offer or deposit_funds in metaTx mode). Build each entry with the matching sign_receive_with_* tool: sign its `typedData` locally and add the resulting `signature` to its `transferAuthorization` object.
Exemple d'appel{"name": "send_meta_transaction", "arguments": {"sigR": "texte", "sigS": "texte", "sigV": 1, "nonce": 1, "configId": "texte", "functionName": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_native_meta_transaction≈ 388 tokens
Relays a native meta-transaction (EIP-712 signed function call) via Biconomy. Requires ABI-encoded function signature and sigR/sigS/sigV from a locally-signed EIP-712 payload. Returns: relay transaction data.
Paramètres, retour & exemple (7)
ParamètressigR· string · requissigS· string · requissigV· string|number · requisconfigId· string · requis
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 values for this server.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.contractAddress· string · requis
Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.functionSignature· string · requis
Exemple d'appel{"name": "send_native_meta_transaction", "arguments": {"sigR": "texte", "sigS": "texte", "sigV": 1, "configId": "texte", "signerAddress": "texte", "contractAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_signed_transaction≈ 266 tokens
Broadcasts a signed raw Ethereum transaction to the network. signedTransaction must be 0x-prefixed RLP-encoded hex obtained from local wallet signing (e.g. ethers `wallet.signTransaction(tx)`). Returns: transaction hash, block number, and gas used.
Paramètres, retour & exemple (2)
ParamètresconfigId· string · requis
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 values for this server.signedTransaction· string · requis
RLP-encoded signed Ethereum transaction as 0x-prefixed hex string. Obtain from local wallet signing (e.g. ethers `wallet.signTransaction(tx)`).
Exemple d'appel{"name": "send_signed_transaction", "arguments": {"configId": "texte", "signedTransaction": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_full_offer≈ 2001 tokens
Generates EIP-712 typed data for a non-listed (private) offer that the offer creator must sign. Call before create_offer_and_commit or void_non_listed_offer. Returns: typed data structure — sign it locally with your wallet (EIP-712), then use the signature in the next step.
Paramètres, retour & exemple (32)
Paramètresprice· ? · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.buyerId· ? · requis
Numeric ID of the buyer entity. Use '0' for seller-initiated offers.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.sellerId· ? · requis
Numeric ID of the seller entity. Obtain via get_sellers_by_address.committer· ? · requis
Ethereum address of the buyer committing in the same transaction.condition· object · optionnelpriceType· number · optionnel
0 = static price, 1 = discovery price (auction).metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.offerCreator· string · requis
Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· string · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.useDepositedFunds· boolean · optionnel
If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.conditionalTokenId· ? · optionnel
Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· ? · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "sign_full_offer", "arguments": {"price": "texte", "buyerId": "texte", "configId": "texte", "sellerId": "texte", "committer": "texte", "metadataUri": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_receive_with_dai_permit≈ 493 tokens
Generates EIP-712 typed data for a DAI-style Permit. Authorizes the spender (default: protocol diamond) to pull DAI-style tokens from signerAddress until `expiry`. Sign locally with your wallet (EIP-712); add the resulting signature to the returned transferAuthorization { strategy: 'DAIPermit', data } and pass it in send_meta_transaction.transferAuthorizations. Returns: typedData to sign + transferAuthorization template.
Paramètres, retour & exemple (7)
Paramètresvalue· string · requis
Amount in wei the spender is authorized to pull from the signer.expiry· ? · requis
Unix timestamp in seconds after which the DAI-style permit is no longer valid.spender· ? · optionnel
Optional spender address. Defaults to the Boson Protocol diamond from SDK config.configId· string · requis
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 values for this server.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.tokenDomainName· string · requis
EIP-712 domain name of the DAI-style token (e.g. 'Dai Stablecoin').exchangeTokenAddress· string · requis
ERC-20 token contract address that supports the permit/authorization standard.
Exemple d'appel{"name": "sign_receive_with_dai_permit", "arguments": {"value": "texte", "expiry": "texte", "configId": "texte", "signerAddress": "texte", "tokenDomainName": "texte", "exchangeTokenAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_receive_with_erc2612_permit≈ 554 tokens
Generates EIP-712 typed data for an EIP-2612 Permit. Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress until `deadline`. Sign locally with your wallet (EIP-712); add the resulting signature to the returned transferAuthorization { strategy: 'EIP2612', data } and pass it in send_meta_transaction.transferAuthorizations. Returns: typedData to sign + transferAuthorization template.
Paramètres, retour & exemple (8)
Paramètresvalue· string · requis
Amount in wei the spender is authorized to pull from the signer.spender· ? · optionnel
Optional spender address. Defaults to the Boson Protocol diamond from SDK config.configId· string · requis
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 values for this server.deadline· ? · requis
Unix timestamp in seconds after which the permit is no longer valid.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.tokenDomainName· string · requis
EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator.tokenDomainVersion· string · requis
EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator.exchangeTokenAddress· string · requis
ERC-20 token contract address that supports the permit/authorization standard.
Exemple d'appel{"name": "sign_receive_with_erc2612_permit", "arguments": {"value": "texte", "configId": "texte", "deadline": "texte", "signerAddress": "texte", "tokenDomainName": "texte", "tokenDomainVersion": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_receive_with_erc3009_authorization≈ 607 tokens
Generates EIP-712 typed data for an ERC-3009 ReceiveWithAuthorization (e.g. USDC). Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress between validAfter and validBefore. Sign locally with your wallet (EIP-712); add the resulting signature to the returned transferAuthorization { strategy: 'ERC3009', data } and pass it in send_meta_transaction.transferAuthorizations. Returns: typedData to sign + transferAuthorization template.
Paramètres, retour & exemple (9)
Paramètresvalue· string · requis
Amount in wei the spender is authorized to pull from the signer.spender· ? · optionnel
Optional spender address. Defaults to the Boson Protocol diamond from SDK config.configId· string · requis
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 values for this server.validAfter· ? · requis
Unix timestamp in seconds before which the authorization is not valid.validBefore· ? · requis
Unix timestamp in seconds after which the authorization is no longer valid.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.tokenDomainName· string · requis
EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator.tokenDomainVersion· string · requis
EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator.exchangeTokenAddress· string · requis
ERC-20 token contract address that supports the permit/authorization standard.
Exemple d'appel{"name": "sign_receive_with_erc3009_authorization", "arguments": {"value": "texte", "configId": "texte", "validAfter": "texte", "validBefore": "texte", "signerAddress": "texte", "tokenDomainName": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sign_receive_with_permit2≈ 561 tokens
Generates EIP-712 typed data for a Uniswap Permit2 PermitTransferFrom. Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress until `deadline`. permit2Address defaults to contracts.permit2 from SDK config; permit2Nonce defaults to a random uint256. Sign locally with your wallet (EIP-712); add the resulting signature to the returned transferAuthorization { strategy: 'Permit2', data } and pass it in send_meta_transaction.transferAuthorizations. Returns: typedData to sign + transferAuthorization template.
Paramètres, retour & exemple (8)
Paramètresvalue· string · requis
Amount in wei the spender is authorized to pull from the signer.spender· ? · optionnel
Optional spender address. Defaults to the Boson Protocol diamond from SDK config.configId· string · requis
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 values for this server.deadline· ? · requis
Unix timestamp in seconds after which the Permit2 authorization is no longer valid.permit2Nonce· ? · optionnel
Optional Permit2 nonce as a uint256 string. If omitted, a random uint256 is generated.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.permit2Address· ? · optionnel
Optional Uniswap Permit2 contract address. Defaults to contracts.permit2 from SDK config.exchangeTokenAddress· string · requis
ERC-20 token contract address that supports the permit/authorization standard.
Exemple d'appel{"name": "sign_receive_with_permit2", "arguments": {"value": "texte", "configId": "texte", "deadline": "texte", "signerAddress": "texte", "exchangeTokenAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - store_base_metadata≈ 411 tokens
Stores a Base metadata object to IPFS. Use for simple offers that don't require ProductV1 or Bundle structure. Returns: { metadataUri, metadataHash } for use in create_offer.
Paramètres, retour & exemple (14)
Paramètresname· string · requistype· string · requis · BASEimage· string · optionnelconfigId· string · requis
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 values for this server.condition· string · optionnelimageData· string · optionnelschemaUrl· string · requisattributes· array · optionnellicenseUrl· string · requisyoutubeUrl· string · optionneldescription· string · requisexternalUrl· string · requisanimationUrl· string · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "store_base_metadata", "arguments": {"name": "texte", "type": "BASE", "configId": "texte", "schemaUrl": "texte", "licenseUrl": "texte", "description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - store_bundle_item_nft_metadata≈ 562 tokens
Stores a single NFT bundle item's metadata to IPFS. Call once per NFT component in a bundle before store_bundle_metadata. Returns: { url: 'ipfs://...' } to include in the items array.
Paramètres, retour & exemple (22)
Paramètresname· string · requistype· string · requis · ITEM_NFTimage· string · optionnelterms· array · optionnelchainId· number · optionneltokenId· string · optionnelconfigId· string · requis
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 values for this server.contract· string · optionnelquantity· number · optionnelimageData· string · optionnelschemaUrl· string · requisattributes· array · optionnelimage_data· string · optionnelyoutubeUrl· string · optionneldescription· string · optionnelexternalUrl· string · optionnelyoutube_url· string · optionnelanimationUrl· string · optionnelexternal_url· string · optionneltokenIdRange· object · optionnelanimation_url· string · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "store_bundle_item_nft_metadata", "arguments": {"name": "texte", "type": "ITEM_NFT", "configId": "texte", "schemaUrl": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - store_bundle_item_product_v1_metadata≈ 1202 tokens
Stores a single ProductV1 bundle item's metadata to IPFS. Call once per physical product in a bundle before store_bundle_metadata. Returns: { url: 'ipfs://...' } to include in the items array.
Paramètres, retour & exemple (10)
Paramètrestype· string · requis · ITEM_PRODUCT_V1uuid· string · requisproduct· object · requisconfigId· string · requis
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 values for this server.shipping· object · requisschemaUrl· string · requisvariations· array · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.exchangePolicy· object · requisproductOverrides· object · optionnel
Exemple d'appel{"name": "store_bundle_item_product_v1_metadata", "arguments": {"type": "ITEM_PRODUCT_V1", "uuid": "texte", "product": {}, "configId": "texte", "shipping": {}, "schemaUrl": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - store_bundle_metadata≈ 649 tokens
Stores a Bundle metadata object to IPFS. Prerequisite: call store_bundle_item_product_v1_metadata and/or store_bundle_item_nft_metadata first; include their returned URLs in the items array. Returns: { metadataUri, metadataHash }.
Paramètres, retour & exemple (17)
Paramètresname· string · requistype· string · requis · BUNDLEimage· string · optionnelitems· array · requisseller· object · requisconfigId· string · requis
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 values for this server.condition· string · optionnelimageData· string · optionnelschemaUrl· string · requisattributes· array · optionnelbundleUuid· string · requislicenseUrl· string · requisyoutubeUrl· string · optionneldescription· string · requisexternalUrl· string · requisanimationUrl· string · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "store_bundle_metadata", "arguments": {"name": "texte", "type": "BUNDLE", "items": [], "seller": {}, "configId": "texte", "schemaUrl": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - store_product_v1_metadata≈ 1513 tokens
Stores a ProductV1 metadata object to IPFS. Call before create_offer to get metadataUri and metadataHash. Returns: { metadataUri: 'ipfs://...', metadataHash: '0x...' }.
Paramètres, retour & exemple (21)
Paramètresname· string · requistype· string · requis · PRODUCT_V1uuid· string · requisimage· string · requisseller· object · requisproduct· object · requisconfigId· string · requis
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 values for this server.shipping· object · requiscondition· string · optionnelimageData· string · optionnelschemaUrl· string · requisattributes· array · requislicenseUrl· string · requisvariations· array · optionnelyoutubeUrl· string · optionneldescription· string · requisexternalUrl· string · requisanimationUrl· string · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.exchangePolicy· object · requisproductOverrides· object · optionnel
Exemple d'appel{"name": "store_product_v1_metadata", "arguments": {"name": "texte", "type": "PRODUCT_V1", "uuid": "texte", "image": "texte", "seller": {}, "product": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_seller≈ 819 tokens
Updates an existing seller account. Caller must be the current seller admin (signerAddress). Use get_sellers_by_address to retrieve the seller id first. Returns unsigned transaction data.
Paramètres, retour & exemple (17)
Paramètresid· ? · requis
Numeric ID of the existing seller entity to update. Obtain from get_sellers_by_address.kind· string · requisname· string · optionneltype· string · requisimages· array · optionnelwebsite· string · optionnelconfigId· string · requis
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 values for this server.authTokenId· string · requis
NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens.description· string · optionnelsocialLinks· array · optionnelcontactLinks· array · optionnelauthTokenType· number · requis
Auth token type: 0=None, 1=Lens Protocol profile NFT.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.salesChannels· array · optionnelsignerAddress· string · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.legalTradingName· string · optionnelcontactPreference· string · requis
Exemple d'appel{"name": "update_seller", "arguments": {"id": "texte", "kind": "texte", "type": "texte", "configId": "texte", "authTokenId": "texte", "authTokenType": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - validate_metadata≈ 161 tokens
Validates a metadata object against the Boson Protocol schema (PRODUCT_V1, BUNDLE, BASE, etc.) without storing it. Use before store_*_metadata to catch errors early. Read-only. Returns: validation result with any errors.
Paramètres, retour & exemple (1)
Paramètresmetadata· object · requis
Exemple d'appel{"name": "validate_metadata", "arguments": {"metadata": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - void_non_listed_offer≈ 1848 tokens
Voids a private (non-listed) offer before it is fulfilled. Prerequisite: call sign_full_offer and sign the returned typed data locally with your wallet (EIP-712) to obtain the signature. Returns unsigned transaction data.
Paramètres, retour & exemple (29)
Paramètresprice· ? · requis
Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.agentId· ? · optionnel
Optional dACP agent facilitating this offer. Omit or pass '0' if no agent.buyerId· ? · requis
Numeric ID of the buyer entity. Use '0' for seller-initiated offers.creator· string · optionnel · SELLER | BUYER
'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.configId· string · requis
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 values for this server.feeLimit· ? · optionnel
Max protocol fee the seller accepts in same token unit. Pass as string.sellerId· ? · requis
Numeric ID of the seller entity. Obtain via get_sellers_by_address.condition· object · optionnelpriceType· number · optionnel
0 = static price, 1 = discovery price (auction).metadataUri· string · requis
IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.royaltyInfo· object · optionnelmetadataHash· string · requis
Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.executionMode· string · optionnel · direct | metaTx
'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.sellerDeposit· ? · requis
Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.signerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.collectionIndex· ? · optionnel
Index of the seller's NFT collection for vouchers. Omit to use default (index 0).disputeResolverId· string · optionnel
ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.quantityAvailable· number · requis
How many times this offer can be committed to. Must be 1 when creator='BUYER'.useDepositedFunds· boolean · optionnel
If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.validFromDateInMS· number · requis
Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.validUntilDateInMS· number · requis
Unix timestamp in milliseconds when the offer can no longer be committed to.drMutualizerAddress· ? · optionnel
Optional dispute resolver mutualizer contract address that pools resolution funds.exchangeTokenAddress· ? · optionnel
ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.buyerCancellationPenalty· ? · requis
Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.voucherValidDurationInMS· number · requis
Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.disputePeriodDurationInMS· number · requis
Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.resolutionPeriodDurationInMS· number · requis
Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.voucherRedeemableFromDateInMS· number · requis
Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.voucherRedeemableUntilDateInMS· number · requis
Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
Exemple d'appel{"name": "void_non_listed_offer", "arguments": {"price": "texte", "buyerId": "texte", "configId": "texte", "sellerId": "texte", "metadataUri": "texte", "metadataHash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - void_non_listed_offer_batch≈ 1830 tokens
Voids multiple private offers atomically. Same prerequisite as void_non_listed_offer, but for an array of full offer objects. Returns unsigned transaction data.
Paramètres, retour & exemple (3)
ParamètresconfigId· string · requis
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 values for this server.fullOffers· array · requissignerAddress· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "void_non_listed_offer_batch", "arguments": {"configId": "texte", "fullOffers": [], "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - void_offer≈ 338 tokens
Voids a listed offer so it can no longer be committed to. Caller must be the seller assistant. Existing exchanges are unaffected. Returns unsigned transaction data.
Paramètres, retour & exemple (4)
ParamètresofferId· string · requis
ID of the listed offer to void. Caller must be the seller assistant. Existing exchanges are unaffected.configId· string · requis
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 values for this server.executionMode· string · optionnel · direct | metaTx
'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 · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "void_offer", "arguments": {"offerId": "texte", "configId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - withdraw_funds≈ 466 tokens
Withdraws funds from an entity's protocol treasury to the entity's treasury address. Sellers withdraw proceeds; buyers withdraw refunds. Caller must control the entity via signerAddress. Returns unsigned transaction data.
Paramètres, retour & exemple (5)
Paramètreslist· array · requisconfigId· string · requis
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 values for this server.entityId· string · requis
Numeric ID of the seller or buyer entity withdrawing funds.executionMode· string · optionnel · direct | metaTx
'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· ? · requis
Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
Exemple d'appel{"name": "withdraw_funds", "arguments": {"list": [], "configId": "texte", "entityId": "texte", "signerAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».