Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,526Letters: 13Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:fc074da5a7fc6831d5a0bb4eec824db4958ace4ade7de13396bd7a8a53b67217
What it is
What a remote MCP server returned when asked what it offers: 63 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Grants ERC-20 allowance to the Boson Protocol contract. Must be called before commit_to_offer or deposit_funds when using non-native exchange tokens. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "amount": { "description": "Allowance in wei. Use max uint256 string for unlimited: '115792089237316195423570985008687907853269984665640564039457584007913129639935'.", "type": "string" }, "configId": { "description": "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.", "type": "string" }, "exchangeTokenAddress": { "description": "ERC-20 token contract address to approve for the Boson Protocol diamond.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "exchangeTokenAddress", "amount", "configId", "signerAddress" ], "type": "object" }, "name": "approve_exchange_token", "outputSchema": null }, { "description": "Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "cancel_voucher", "outputSchema": null }, { "description": "Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "collectionIndex": { "$ref": "#/properties/offerId" }, "configId": { "description": "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.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of a buyer-initiated offer (creator='BUYER') to commit to. The seller fulfils the offer.", "type": "string" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.", "type": "string" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "signerAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "offerId", "configId", "signerAddress" ], "type": "object" }, "name": "commit_to_buyer_offer", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "buyer": { "description": "Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'.", "type": "string" }, "configId": { "description": "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.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of a conditional (token-gated) offer to commit to. Caller must hold the gating token specified by the offer's condition.", "type": "string" }, "signerAddress": { "$ref": "#/properties/buyer", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "tokenId": { "$ref": "#/properties/offerId", "description": "Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and TokenRange gating)." } }, "required": [ "offerId", "tokenId", "configId", "signerAddress" ], "type": "object" }, "name": "commit_to_conditional_offer", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of a conditional (token-gated) offer to commit to and immediately redeem in a single transaction.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "tokenId": { "$ref": "#/properties/offerId", "description": "Token ID of the gate token used to qualify for the conditional commit (relevant for ERC-721/1155 and SpecificToken / TokenRange gating)." } }, "required": [ "offerId", "tokenId", "configId", "signerAddress" ], "type": "object" }, "name": "commit_to_conditional_offer_and_redeem_voucher", "outputSchema": null }, { "description": "Commits to an offer, creating an exchange and minting a voucher NFT. Caller is the buyer (signerAddress) unless 'buyer' param is set. For ERC-20 offers, call approve_exchange_token first. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "buyer": { "description": "Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'.", "type": "string" }, "configId": { "description": "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.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of the active offer to commit to. Creates an exchange and mints a voucher NFT.", "type": "string" }, "signerAddress": { "$ref": "#/properties/buyer", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "offerId", "configId", "signerAddress" ], "type": "object" }, "name": "commit_to_offer", "outputSchema": null }, { "description": "Atomically commits to an offer and immediately redeems the voucher in a single transaction via the OrchestrationHandler. Buyer (signerAddress) must already hold any required ERC-20 allowance (approve_exchange_token). Skips voucher transferability and starts the dispute period clock immediately. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of the active offer to commit to and immediately redeem in a single transaction. Combines commit_to_offer + redeem_voucher via the OrchestrationHandler.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "offerId", "configId", "signerAddress" ], "type": "object" }, "name": "commit_to_offer_and_redeem_voucher", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "complete_exchange", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "configId", "signerAddress" ], "type": "object" }, "name": "create_buyer", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "buyerPercentBasisPoints": { "$ref": "#/properties/exchangeId", "description": "Proposed percentage of disputed funds for the buyer, 0–10000 (basis points). The counterparty must sign this same value." }, "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "buyerPercentBasisPoints", "configId", "signerAddress" ], "type": "object" }, "name": "create_dispute_resolution_proposal", "outputSchema": null }, { "description": "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'.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/price", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/price", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "collectionIndex": { "$ref": "#/properties/agentId", "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)." }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/agentId", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "price": { "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.", "type": "string" }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/exchangeTokenAddress" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/price", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "create_offer", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/collectionIndex", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/collectionIndex", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "buyerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the buyer entity. Use '0' for seller-initiated offers." }, "collectionIndex": { "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0).", "type": "string" }, "committer": { "$ref": "#/properties/offerCreator", "description": "Ethereum address of the buyer committing in the same transaction." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/collectionIndex", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/collectionIndex", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "$ref": "#/properties/collectionIndex", "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "threshold": { "$ref": "#/properties/collectionIndex", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "$ref": "#/properties/offerCreator", "description": "Address of the gate token contract buyers must hold." }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "conditionalTokenId": { "$ref": "#/properties/collectionIndex", "description": "Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type)." }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/collectionIndex", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "offerCreator": { "description": "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.", "type": "string" }, "price": { "$ref": "#/properties/collectionIndex", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/offerCreator", "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted." }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/collectionIndex", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "sellerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the seller entity. Obtain via get_sellers_by_address." }, "signature": { "description": "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.", "type": "string" }, "signerAddress": { "$ref": "#/properties/offerCreator", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "useDepositedFunds": { "description": "If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.", "type": "boolean" }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "signature", "offerCreator", "committer", "sellerId", "buyerId", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "create_offer_and_commit", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/collectionIndex", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/collectionIndex", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "buyerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the buyer entity. Use '0' for seller-initiated offers." }, "collectionIndex": { "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0).", "type": "string" }, "committer": { "$ref": "#/properties/offerCreator", "description": "Ethereum address of the buyer committing in the same transaction." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/collectionIndex", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/collectionIndex", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "$ref": "#/properties/collectionIndex", "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "threshold": { "$ref": "#/properties/collectionIndex", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "$ref": "#/properties/offerCreator", "description": "Address of the gate token contract buyers must hold." }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "conditionalTokenId": { "$ref": "#/properties/collectionIndex", "description": "Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type)." }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/collectionIndex", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "offerCreator": { "description": "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.", "type": "string" }, "price": { "$ref": "#/properties/collectionIndex", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/offerCreator", "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted." }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/collectionIndex", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "sellerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the seller entity. Obtain via get_sellers_by_address." }, "signature": { "description": "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.", "type": "string" }, "signerAddress": { "$ref": "#/properties/offerCreator", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "useDepositedFunds": { "description": "If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.", "type": "boolean" }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "signature", "offerCreator", "committer", "sellerId", "buyerId", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "create_offer_commit_and_redeem", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "collectionIndex": { "$ref": "#/properties/agentId", "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.", "type": "string" }, "threshold": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "description": "Address of the gate token contract buyers must hold.", "type": "string" }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/condition/properties/tokenAddress", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/agentId", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "price": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/exchangeTokenAddress" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "signerAddress": { "$ref": "#/properties/condition/properties/tokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "condition", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "create_offer_with_condition", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "authTokenId": { "$ref": "#/properties/royaltyPercentage", "description": "NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens." }, "authTokenType": { "description": "Auth token type: 0=None, 1=Lens Protocol profile NFT.", "type": "number" }, "configId": { "description": "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.", "type": "string" }, "contactLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "contactPreference": { "type": "string" }, "contractUri": { "description": "URI for OpenSea-style storefront metadata. Can be IPFS URI or empty string.", "type": "string" }, "description": { "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "images": { "items": { "additionalProperties": true, "properties": { "fit": { "type": "string" }, "height": { "type": "number" }, "position": { "type": "string" }, "tag": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" }, "width": { "type": "number" } }, "required": [ "url", "type" ], "type": "object" }, "type": "array" }, "kind": { "type": "string" }, "legalTradingName": { "type": "string" }, "name": { "type": "string" }, "royaltyPercentage": { "description": "Default resale royalty in basis points (0–10000). Applied to all offers unless overridden.", "type": "string" }, "salesChannels": { "items": { "additionalProperties": true, "properties": { "deployments": { "items": { "additionalProperties": false, "properties": { "lastUpdated": { "type": "string" }, "link": { "type": "string" }, "product": { "additionalProperties": false, "properties": { "uuid": { "type": "string" }, "version": { "type": "number" } }, "type": "object" }, "status": { "type": "string" } }, "type": "object" }, "type": "array" }, "link": { "type": "string" }, "name": { "type": "string" }, "settingsEditor": { "type": "string" }, "settingsUrl": { "type": "string" }, "tag": { "type": "string" } }, "required": [ "tag" ], "type": "object" }, "type": "array" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "socialLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "type": { "type": "string" }, "website": { "type": "string" } }, "required": [ "type", "kind", "contactPreference", "contractUri", "royaltyPercentage", "authTokenId", "authTokenType", "configId", "signerAddress" ], "type": "object" }, "name": "create_seller", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "buyerPercent": { "$ref": "#/properties/exchangeId", "description": "Percentage of disputed funds to buyer in basis points (0–10000). 10000 = all to buyer, 0 = all to seller." }, "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "buyerPercent", "configId", "signerAddress" ], "type": "object" }, "name": "decide_dispute", "outputSchema": null }, { "description": "Deposits ERC-20 or native tokens into an entity's protocol treasury (e.g. seller deposit). For ERC-20, call approve_exchange_token first. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "amount": { "$ref": "#/properties/entityId", "description": "Amount in wei. For ERC-20, approve_exchange_token must be called first. Pass as string." }, "configId": { "description": "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.", "type": "string" }, "entityId": { "description": "Numeric ID of the entity to credit. Must match signerAddress's seller account.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "$ref": "#/properties/tokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "tokenAddress": { "description": "ERC-20 token to deposit. Use address(0) for native ETH.", "type": "string" } }, "required": [ "entityId", "tokenAddress", "amount", "configId", "signerAddress" ], "type": "object" }, "name": "deposit_funds", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "escalate_dispute", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "expire_dispute", "outputSchema": null }, { "description": "Marks multiple expired disputes in one transaction. All exchanges must be in 'Disputed' state past their respective timeouts. Permissionless. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeIds": { "description": "Array of exchange IDs whose dispute period has passed. All must be in 'Disputed' state past their timeout.", "items": { "type": "string" }, "minItems": 1, "type": "array" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeIds", "configId", "signerAddress" ], "type": "object" }, "name": "expire_dispute_batch", "outputSchema": null }, { "description": "Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "expire_escalated_dispute", "outputSchema": null }, { "description": "Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "newDisputeTimeout": { "$ref": "#/properties/exchangeId", "description": "New absolute Unix timestamp in SECONDS (not ms) for the dispute deadline. Must be later than current timeout." }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "newDisputeTimeout", "configId", "signerAddress" ], "type": "object" }, "name": "extend_dispute_timeout", "outputSchema": null }, { "description": "Reads product groupings with at least one non-voided variant from the Boson subgraph. Useful for storefront displays. Supports pagination and ordering. Read-only.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "productsFilter": { "additionalProperties": {}, "type": "object" }, "productsFirst": { "type": "number" }, "productsOrderBy": { "enum": [ "allVariantsVoided", "brand", "brand__id", "brand__name", "category", "category__id", "category__name", "description", "details_category", "details_offerCategory", "details_personalisation", "details_sections", "details_subCategory", "details_subCategory2", "details_tags", "disputeResolverId", "id", "identification_productId", "identification_productIdType", "identification_sKU", "maxValidFromDate", "maxValidUntilDate", "minValidFromDate", "minValidUntilDate", "notVoidedVariants", "offerCategory", "packaging_dimensions_height", "packaging_dimensions_length", "packaging_dimensions_unit", "packaging_dimensions_width", "packaging_packageQuantity", "packaging_weight_unit", "packaging_weight_value", "personalisation", "productV1Seller", "productV1Seller__contactPreference", "productV1Seller__defaultVersion", "productV1Seller__description", "productV1Seller__externalUrl", "productV1Seller__id", "productV1Seller__name", "productV1Seller__sellerId", "productV1Seller__tokenId", "productionInformation_brandName", "productionInformation_manufacturer", "productionInformation_manufacturerPartNumber", "productionInformation_materials", "productionInformation_modelNumber", "salesChannels", "sections", "sellerId", "subCategory", "subCategory2", "subCategory2__id", "subCategory2__name", "subCategory__id", "subCategory__name", "tags", "title", "uuid", "variants", "version", "visuals_images", "visuals_videos" ], "type": "string" }, "productsOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "productsSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_all_products_with_not_voided_variants", "outputSchema": null }, { "description": "Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_config_ids", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "disputeId": { "description": "Numeric ID of the dispute to retrieve. Note: disputeId equals the exchangeId of the associated exchange.", "type": "string" }, "queryVars": { "description": "Optional additional subgraph query variables for field selection. Leave empty for default fields." } }, "required": [ "disputeId", "configId" ], "type": "object" }, "name": "get_dispute_by_id", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "disputeResolversFilter": { "additionalProperties": {}, "type": "object" }, "disputeResolversFirst": { "type": "number" }, "disputeResolversOrderBy": { "enum": [ "active", "admin", "assistant", "clerk", "escalationResponsePeriod", "fees", "funds", "id", "logs", "metadataUri", "offers", "pendingDisputeResolver", "pendingDisputeResolver__admin", "pendingDisputeResolver__assistant", "pendingDisputeResolver__clerk", "pendingDisputeResolver__id", "sellerAllowList", "treasury" ], "type": "string" }, "disputeResolversOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "disputeResolversSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_dispute_resolvers", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "disputesFilter": { "additionalProperties": {}, "type": "object" }, "disputesFirst": { "type": "number" }, "disputesOrderBy": { "enum": [ "buyer", "buyerPercent", "buyer__active", "buyer__id", "buyer__wallet", "decidedDate", "disputeResolver", "disputeResolver__active", "disputeResolver__admin", "disputeResolver__assistant", "disputeResolver__clerk", "disputeResolver__escalationResponsePeriod", "disputeResolver__id", "disputeResolver__metadataUri", "disputeResolver__treasury", "disputedDate", "escalatedDate", "exchange", "exchangeId", "exchange__cancelledDate", "exchange__committedDate", "exchange__completedDate", "exchange__disputed", "exchange__disputedDate", "exchange__expired", "exchange__finalizedDate", "exchange__id", "exchange__mutualizerAddress", "exchange__redeemedDate", "exchange__revokedDate", "exchange__state", "exchange__validUntilDate", "finalizedDate", "id", "refusedDate", "resolvedDate", "retractedDate", "seller", "seller__active", "seller__admin", "seller__assistant", "seller__authTokenId", "seller__authTokenType", "seller__clerk", "seller__id", "seller__metadataUri", "seller__sellerId", "seller__treasury", "seller__voucherCloneAddress", "state", "timeout" ], "type": "string" }, "disputesOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "disputesSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_disputes", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangesFilter": { "additionalProperties": {}, "type": "object" }, "exchangesFirst": { "type": "number" }, "exchangesOrderBy": { "enum": [ "buyer", "buyer__active", "buyer__id", "buyer__wallet", "cancelledDate", "committedDate", "completedDate", "dispute", "disputeResolver", "disputeResolver__active", "disputeResolver__admin", "disputeResolver__assistant", "disputeResolver__clerk", "disputeResolver__escalationResponsePeriod", "disputeResolver__id", "disputeResolver__metadataUri", "disputeResolver__treasury", "dispute__buyerPercent", "dispute__decidedDate", "dispute__disputedDate", "dispute__escalatedDate", "dispute__exchangeId", "dispute__finalizedDate", "dispute__id", "dispute__refusedDate", "dispute__resolvedDate", "dispute__retractedDate", "dispute__state", "dispute__timeout", "disputed", "disputedDate", "expired", "finalizedDate", "id", "mutualizerAddress", "offer", "offer__agentFee", "offer__agentId", "offer__buyerCancelPenalty", "offer__buyerId", "offer__collectionIndex", "offer__createdAt", "offer__creator", "offer__disputePeriodDuration", "offer__disputeResolverId", "offer__id", "offer__metadataHash", "offer__metadataUri", "offer__numberOfCommits", "offer__numberOfRedemptions", "offer__price", "offer__priceType", "offer__protocolFee", "offer__quantityAvailable", "offer__quantityInitial", "offer__resolutionPeriodDuration", "offer__sellerDeposit", "offer__sellerId", "offer__validFromDate", "offer__validUntilDate", "offer__voided", "offer__voidedAt", "offer__voucherRedeemableFromDate", "offer__voucherRedeemableUntilDate", "offer__voucherValidDuration", "protocolFeeCollected", "protocolFeeCollected__amount", "protocolFeeCollected__exchangeId", "protocolFeeCollected__exchangeToken", "protocolFeeCollected__executedBy", "protocolFeeCollected__id", "redeemedDate", "revokedDate", "seller", "seller__active", "seller__admin", "seller__assistant", "seller__authTokenId", "seller__authTokenType", "seller__clerk", "seller__id", "seller__metadataUri", "seller__sellerId", "seller__treasury", "seller__voucherCloneAddress", "state", "validUntilDate" ], "type": "string" }, "exchangesOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "exchangesSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_exchanges", "outputSchema": null }, { "description": "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 }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "fundsFilter": { "additionalProperties": {}, "type": "object" }, "fundsFirst": { "type": "number" }, "fundsOrderBy": { "enum": [ "account", "accountId", "account__createdAt", "account__creationTxHash", "account__entityId", "account__id", "account__metadataURI", "availableAmount", "changes", "id", "token", "tokenAddress", "token__address", "token__decimals", "token__id", "token__name", "token__symbol" ], "type": "string" }, "fundsOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "fundsSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_funds", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangesFilter": { "additionalProperties": {}, "type": "object" }, "exchangesFirst": { "type": "number" }, "exchangesOrderBy": { "enum": [ "buyer", "buyer__active", "buyer__id", "buyer__wallet", "cancelledDate", "committedDate", "completedDate", "dispute", "disputeResolver", "disputeResolver__active", "disputeResolver__admin", "disputeResolver__assistant", "disputeResolver__clerk", "disputeResolver__escalationResponsePeriod", "disputeResolver__id", "disputeResolver__metadataUri", "disputeResolver__treasury", "dispute__buyerPercent", "dispute__decidedDate", "dispute__disputedDate", "dispute__escalatedDate", "dispute__exchangeId", "dispute__finalizedDate", "dispute__id", "dispute__refusedDate", "dispute__resolvedDate", "dispute__retractedDate", "dispute__state", "dispute__timeout", "disputed", "disputedDate", "expired", "finalizedDate", "id", "mutualizerAddress", "offer", "offer__agentFee", "offer__agentId", "offer__buyerCancelPenalty", "offer__buyerId", "offer__collectionIndex", "offer__createdAt", "offer__creator", "offer__disputePeriodDuration", "offer__disputeResolverId", "offer__id", "offer__metadataHash", "offer__metadataUri", "offer__numberOfCommits", "offer__numberOfRedemptions", "offer__price", "offer__priceType", "offer__protocolFee", "offer__quantityAvailable", "offer__quantityInitial", "offer__resolutionPeriodDuration", "offer__sellerDeposit", "offer__sellerId", "offer__validFromDate", "offer__validUntilDate", "offer__voided", "offer__voidedAt", "offer__voucherRedeemableFromDate", "offer__voucherRedeemableUntilDate", "offer__voucherValidDuration", "protocolFeeCollected", "protocolFeeCollected__amount", "protocolFeeCollected__exchangeId", "protocolFeeCollected__exchangeToken", "protocolFeeCollected__executedBy", "protocolFeeCollected__id", "redeemedDate", "revokedDate", "seller", "seller__active", "seller__admin", "seller__assistant", "seller__authTokenId", "seller__authTokenType", "seller__clerk", "seller__id", "seller__metadataUri", "seller__sellerId", "seller__treasury", "seller__voucherCloneAddress", "state", "validUntilDate" ], "type": "string" }, "exchangesOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "exchangesSkip": { "type": "number" }, "includeExchanges": { "type": "boolean" }, "offersFilter": { "additionalProperties": {}, "type": "object" }, "offersFirst": { "type": "number" }, "offersOrderBy": { "enum": [ "agentFee", "agentId", "buyer", "buyerCancelPenalty", "buyerId", "buyer__active", "buyer__id", "buyer__wallet", "collection", "collectionIndex", "collection__collectionIndex", "collection__externalId", "collection__externalIdHash", "collection__id", "collection__sellerId", "condition", "condition__gatingType", "condition__id", "condition__maxCommits", "condition__maxTokenId", "condition__method", "condition__minTokenId", "condition__threshold", "condition__tokenAddress", "condition__tokenType", "createdAt", "creator", "disputePeriodDuration", "disputeResolutionTerms", "disputeResolutionTerms__buyerEscalationDeposit", "disputeResolutionTerms__disputeResolverId", "disputeResolutionTerms__escalationResponsePeriod", "disputeResolutionTerms__feeAmount", "disputeResolutionTerms__id", "disputeResolutionTerms__mutualizerAddress", "disputeResolver", "disputeResolverId", "disputeResolver__active", "disputeResolver__admin", "disputeResolver__assistant", "disputeResolver__clerk", "disputeResolver__escalationResponsePeriod", "disputeResolver__id", "disputeResolver__metadataUri", "disputeResolver__treasury", "exchangeToken", "exchangeToken__address", "exchangeToken__decimals", "exchangeToken__id", "exchangeToken__name", "exchangeToken__symbol", "exchanges", "id", "metadata", "metadataHash", "metadataUri", "metadata__animationUrl", "metadata__condition", "metadata__createdAt", "metadata__description", "metadata__externalUrl", "metadata__id", "metadata__image", "metadata__licenseUrl", "metadata__name", "metadata__numberOfCommits", "metadata__numberOfRedemptions", "metadata__quantityAvailable", "metadata__schemaUrl", "metadata__type", "metadata__validFromDate", "metadata__validUntilDate", "metadata__voided", "numberOfCommits", "numberOfRedemptions", "price", "priceType", "protocolFee", "quantityAvailable", "quantityInitial", "range", "range__end", "range__id", "range__minted", "range__owner", "range__start", "resolutionPeriodDuration", "royaltyInfos", "seller", "sellerDeposit", "sellerId", "seller__active", "seller__admin", "seller__assistant", "seller__authTokenId", "seller__authTokenType", "seller__clerk", "seller__id", "seller__metadataUri", "seller__sellerId", "seller__treasury", "seller__voucherCloneAddress", "validFromDate", "validUntilDate", "voided", "voidedAt", "voucherRedeemableFromDate", "voucherRedeemableUntilDate", "voucherValidDuration" ], "type": "string" }, "offersOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "offersSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_offers", "outputSchema": null }, { "description": "Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" } }, "required": [ "configId" ], "type": "object" }, "name": "get_registered_agents", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "includeExchanges": { "type": "boolean" }, "includeFunds": { "type": "boolean" }, "includeLogs": { "type": "boolean" }, "includeOffers": { "type": "boolean" }, "sellersFilter": { "additionalProperties": {}, "type": "object" }, "sellersFirst": { "type": "number" }, "sellersOrderBy": { "enum": [ "active", "admin", "assistant", "authTokenId", "authTokenType", "clerk", "collections", "exchanges", "funds", "id", "logs", "metadata", "metadataUri", "metadata__contactPreference", "metadata__createdAt", "metadata__description", "metadata__id", "metadata__kind", "metadata__legalTradingName", "metadata__name", "metadata__type", "metadata__website", "offers", "pendingSeller", "pendingSeller__admin", "pendingSeller__assistant", "pendingSeller__authTokenId", "pendingSeller__authTokenType", "pendingSeller__clerk", "pendingSeller__id", "pendingSeller__metadataUri", "royaltyRecipients", "sellerId", "treasury", "voucherCloneAddress" ], "type": "string" }, "sellersOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "sellersSkip": { "type": "number" } }, "required": [ "configId" ], "type": "object" }, "name": "get_sellers", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "address": { "type": "string" }, "configId": { "description": "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.", "type": "string" }, "includeExchanges": { "type": "boolean" }, "includeFunds": { "type": "boolean" }, "includeLogs": { "type": "boolean" }, "includeOffers": { "type": "boolean" }, "sellersFilter": { "additionalProperties": {}, "type": "object" }, "sellersFirst": { "type": "number" }, "sellersOrderBy": { "enum": [ "active", "admin", "assistant", "authTokenId", "authTokenType", "clerk", "collections", "exchanges", "funds", "id", "logs", "metadata", "metadataUri", "metadata__contactPreference", "metadata__createdAt", "metadata__description", "metadata__id", "metadata__kind", "metadata__legalTradingName", "metadata__name", "metadata__type", "metadata__website", "offers", "pendingSeller", "pendingSeller__admin", "pendingSeller__assistant", "pendingSeller__authTokenId", "pendingSeller__authTokenType", "pendingSeller__clerk", "pendingSeller__id", "pendingSeller__metadataUri", "royaltyRecipients", "sellerId", "treasury", "voucherCloneAddress" ], "type": "string" }, "sellersOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "sellersSkip": { "type": "number" } }, "required": [ "address", "configId" ], "type": "object" }, "name": "get_sellers_by_address", "outputSchema": null }, { "description": "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 }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" } }, "required": [ "configId" ], "type": "object" }, "name": "get_supported_tokens", "outputSchema": null }, { "description": "Raises a dispute on a redeemed exchange. Caller must be the buyer. Must be called within disputePeriodDurationInMS after redemption. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "raise_dispute", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "redeem_voucher", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "refuse_escalated_dispute", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "type": "string" }, "entities": { "items": { "additionalProperties": false, "properties": { "configId": { "type": "string" }, "entityId": { "type": "string" }, "role": { "enum": [ "buyer", "seller", "disputeResolver" ], "type": "string" }, "signature": { "pattern": "^0x[0-9a-fA-F]{130}$", "type": "string" }, "signerAddress": { "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.", "type": "string" } }, "required": [ "configId", "role", "entityId", "signerAddress", "signature" ], "type": "object" }, "type": "array" }, "name": { "type": "string" } }, "required": [ "name", "description", "entities" ], "type": "object" }, "name": "register_agent", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "offerData": { "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/offerData/properties/price" }, "buyerCancelPenalty": { "$ref": "#/properties/offerData/properties/price" }, "collectionIndex": { "$ref": "#/properties/offerData/properties/price" }, "disputePeriodDurationInMS": { "$ref": "#/properties/offerData/properties/price" }, "disputeResolverId": { "$ref": "#/properties/offerData/properties/price" }, "exchangeToken": { "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.", "type": "string" }, "feeLimit": { "$ref": "#/properties/offerData/properties/price" }, "metadataHash": { "type": "string" }, "metadataUri": { "type": "string" }, "price": { "type": "string" }, "priceType": { "type": "number" }, "quantityAvailable": { "$ref": "#/properties/offerData/properties/price" }, "resolutionPeriodDurationInMS": { "$ref": "#/properties/offerData/properties/price" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/offerData/properties/exchangeToken" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/offerData/properties/price" }, "validFromDateInMS": { "$ref": "#/properties/offerData/properties/price" }, "validUntilDateInMS": { "$ref": "#/properties/offerData/properties/price" }, "voucherRedeemableFromDateInMS": { "$ref": "#/properties/offerData/properties/price" }, "voucherRedeemableUntilDateInMS": { "$ref": "#/properties/offerData/properties/price" }, "voucherValidDurationInMS": { "$ref": "#/properties/offerData/properties/price" } }, "required": [ "price", "sellerDeposit", "agentId", "buyerCancelPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "resolutionPeriodDurationInMS", "exchangeToken", "disputeResolverId", "metadataUri", "metadataHash", "collectionIndex" ], "type": "object" }, "offerMetadata": { "additionalProperties": false, "properties": { "disputeResolverContactMethod": { "type": "string" }, "escalationDeposit": { "$ref": "#/properties/offerData/properties/price" }, "escalationResponsePeriodInSec": { "$ref": "#/properties/offerData/properties/price" }, "returnPeriodInDays": { "type": "number" }, "sellerContactMethod": { "type": "string" }, "sellerTradingName": { "type": "string" } }, "required": [ "sellerContactMethod", "disputeResolverContactMethod", "escalationDeposit", "escalationResponsePeriodInSec", "sellerTradingName", "returnPeriodInDays" ], "type": "object" }, "signerAddress": { "$ref": "#/properties/offerData/properties/exchangeToken", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "template": { "type": "string" } }, "required": [ "template", "offerData", "offerMetadata", "configId", "signerAddress" ], "type": "object" }, "name": "render_contractual_agreement", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "buyerPercentBasisPoints": { "$ref": "#/properties/exchangeId", "description": "Agreed buyer share in basis points (0–10000). Both parties must sign the same value. Obtain via create_dispute_resolution_proposal then sign the typed data locally with each party's wallet (EIP-712)." }, "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "sigR": { "description": "32-byte R component of the ECDSA resolution signature as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.", "type": "string" }, "sigS": { "description": "32-byte S component as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.", "type": "string" }, "sigV": { "$ref": "#/properties/exchangeId", "description": "Recovery byte V: 27 or 28. From the locally-signed EIP-712 signature parameters." }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "buyerPercentBasisPoints", "sigR", "sigS", "sigV", "configId", "signerAddress" ], "type": "object" }, "name": "resolve_dispute", "outputSchema": null }, { "description": "Retracts a raised dispute, releasing seller deposit and restoring completion flow. Caller must be the buyer who raised it. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "retract_dispute", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeId": { "description": "Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "exchangeId", "configId", "signerAddress" ], "type": "object" }, "name": "revoke_voucher", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "includeInvalidOffers": { "description": "When true, include products whose offers are outside their validity window. Defaults to false (valid offers only).", "type": "boolean" }, "keywords": { "description": "List of keywords matched against product title, description, brand, category, and tags.", "items": { "minLength": 1, "type": "string" }, "minItems": 1, "type": "array" }, "productsFilter": { "additionalProperties": {}, "type": "object" }, "productsFirst": { "type": "number" }, "productsOrderBy": { "enum": [ "allVariantsVoided", "brand", "brand__id", "brand__name", "category", "category__id", "category__name", "description", "details_category", "details_offerCategory", "details_personalisation", "details_sections", "details_subCategory", "details_subCategory2", "details_tags", "disputeResolverId", "id", "identification_productId", "identification_productIdType", "identification_sKU", "maxValidFromDate", "maxValidUntilDate", "minValidFromDate", "minValidUntilDate", "notVoidedVariants", "offerCategory", "packaging_dimensions_height", "packaging_dimensions_length", "packaging_dimensions_unit", "packaging_dimensions_width", "packaging_packageQuantity", "packaging_weight_unit", "packaging_weight_value", "personalisation", "productV1Seller", "productV1Seller__contactPreference", "productV1Seller__defaultVersion", "productV1Seller__description", "productV1Seller__externalUrl", "productV1Seller__id", "productV1Seller__name", "productV1Seller__sellerId", "productV1Seller__tokenId", "productionInformation_brandName", "productionInformation_manufacturer", "productionInformation_manufacturerPartNumber", "productionInformation_materials", "productionInformation_modelNumber", "salesChannels", "sections", "sellerId", "subCategory", "subCategory2", "subCategory2__id", "subCategory2__name", "subCategory__id", "subCategory__name", "tags", "title", "uuid", "variants", "version", "visuals_images", "visuals_videos" ], "type": "string" }, "productsOrderDirection": { "enum": [ "asc", "desc" ], "type": "string" }, "productsSkip": { "type": "number" } }, "required": [ "keywords", "configId" ], "type": "object" }, "name": "search_products", "outputSchema": null }, { "description": "Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "contractAddress": { "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.", "type": "string" }, "domainSeparator": { "pattern": "^0x[a-fA-F0-9]{64}$", "type": "string" }, "request": { "additionalProperties": false, "properties": { "batchId": { "anyOf": [ { "minLength": 1, "type": "string" }, { "minimum": 0, "type": "number" } ] }, "batchNonce": { "anyOf": [ { "minLength": 1, "type": "string" }, { "minimum": 0, "type": "number" } ] }, "data": { "minLength": 1, "pattern": "^0x[a-fA-F0-9]+$", "type": "string" }, "deadline": { "minimum": 0, "type": "number" }, "from": { "$ref": "#/properties/contractAddress" }, "to": { "$ref": "#/properties/contractAddress" }, "token": { "$ref": "#/properties/contractAddress" }, "tokenGasPrice": { "minLength": 1, "type": "string" }, "txGas": { "anyOf": [ { "minLength": 1, "type": "string" }, { "minimum": 0, "type": "number" } ] } }, "required": [ "from", "to", "token", "txGas", "tokenGasPrice", "batchId", "batchNonce", "deadline", "data" ], "type": "object" }, "signature": { "pattern": "^0x[a-fA-F0-9]+$", "type": "string" }, "signerAddress": { "$ref": "#/properties/contractAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "contractAddress", "request", "domainSeparator", "signature", "configId", "signerAddress" ], "type": "object" }, "name": "send_forwarded_meta_transaction", "outputSchema": null }, { "description": "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. Returns: relay transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "functionName": { "minLength": 1, "type": "string" }, "functionSignature": { "pattern": "^0x[a-fA-F0-9]+$", "type": "string" }, "nonce": { "type": [ "string", "number" ] }, "sigR": { "pattern": "^0x[a-fA-F0-9]{64}$", "type": "string" }, "sigS": { "pattern": "^0x[a-fA-F0-9]{64}$", "type": "string" }, "sigV": { "type": [ "string", "number" ] }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "functionName", "functionSignature", "nonce", "sigR", "sigS", "sigV", "configId", "signerAddress" ], "type": "object" }, "name": "send_meta_transaction", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "contractAddress": { "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted.", "type": "string" }, "functionSignature": { "pattern": "^0x[a-fA-F0-9]+$", "type": "string" }, "sigR": { "pattern": "^0x[a-fA-F0-9]{64}$", "type": "string" }, "sigS": { "pattern": "^0x[a-fA-F0-9]{64}$", "type": "string" }, "sigV": { "type": [ "string", "number" ] }, "signerAddress": { "$ref": "#/properties/contractAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "contractAddress", "functionSignature", "sigR", "sigS", "sigV", "configId", "signerAddress" ], "type": "object" }, "name": "send_native_meta_transaction", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "signedTransaction": { "description": "RLP-encoded signed Ethereum transaction as 0x-prefixed hex string. Obtain from local wallet signing (e.g. ethers `wallet.signTransaction(tx)`).", "type": "string" } }, "required": [ "signedTransaction", "configId" ], "type": "object" }, "name": "send_signed_transaction", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/collectionIndex", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/collectionIndex", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "buyerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the buyer entity. Use '0' for seller-initiated offers." }, "collectionIndex": { "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0).", "type": "string" }, "committer": { "$ref": "#/properties/offerCreator", "description": "Ethereum address of the buyer committing in the same transaction." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/collectionIndex", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/collectionIndex", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "$ref": "#/properties/collectionIndex", "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "threshold": { "$ref": "#/properties/collectionIndex", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "$ref": "#/properties/offerCreator", "description": "Address of the gate token contract buyers must hold." }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "conditionalTokenId": { "$ref": "#/properties/collectionIndex", "description": "Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type)." }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/royaltyInfo/properties/recipients/items", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/collectionIndex", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "offerCreator": { "description": "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address.", "type": "string" }, "price": { "$ref": "#/properties/collectionIndex", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/offerCreator", "description": "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted." }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/collectionIndex", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "sellerId": { "$ref": "#/properties/collectionIndex", "description": "Numeric ID of the seller entity. Obtain via get_sellers_by_address." }, "signerAddress": { "$ref": "#/properties/offerCreator", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "useDepositedFunds": { "description": "If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.", "type": "boolean" }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "offerCreator", "committer", "sellerId", "buyerId", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "sign_full_offer", "outputSchema": null }, { "description": "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); use the result to build a TransferAuthorization { strategy: 'DAIPermit' } for a meta-tx flow. Returns: typed data structure.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeTokenAddress": { "description": "ERC-20 token contract address that supports the permit/authorization standard.", "type": "string" }, "expiry": { "$ref": "#/properties/value", "description": "Unix timestamp in seconds after which the DAI-style permit is no longer valid." }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "spender": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional spender address. Defaults to the Boson Protocol diamond from SDK config." }, "tokenDomainName": { "description": "EIP-712 domain name of the DAI-style token (e.g. 'Dai Stablecoin').", "minLength": 1, "type": "string" }, "value": { "description": "Amount in wei the spender is authorized to pull from the signer.", "type": "string" } }, "required": [ "exchangeTokenAddress", "value", "tokenDomainName", "expiry", "configId", "signerAddress" ], "type": "object" }, "name": "sign_receive_with_dai_permit", "outputSchema": null }, { "description": "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); use the resulting signature to build a TransferAuthorization { strategy: 'EIP2612' } for a meta-tx flow. Returns: typed data structure.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "deadline": { "$ref": "#/properties/value", "description": "Unix timestamp in seconds after which the permit is no longer valid." }, "exchangeTokenAddress": { "description": "ERC-20 token contract address that supports the permit/authorization standard.", "type": "string" }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "spender": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional spender address. Defaults to the Boson Protocol diamond from SDK config." }, "tokenDomainName": { "description": "EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator.", "minLength": 1, "type": "string" }, "tokenDomainVersion": { "description": "EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator.", "minLength": 1, "type": "string" }, "value": { "description": "Amount in wei the spender is authorized to pull from the signer.", "type": "string" } }, "required": [ "exchangeTokenAddress", "value", "tokenDomainName", "tokenDomainVersion", "deadline", "configId", "signerAddress" ], "type": "object" }, "name": "sign_receive_with_erc2612_permit", "outputSchema": null }, { "description": "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); use the resulting signature + nonce to build a TransferAuthorization { strategy: 'ERC3009' } for a meta-tx flow. Returns: typed data structure.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangeTokenAddress": { "description": "ERC-20 token contract address that supports the permit/authorization standard.", "type": "string" }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "spender": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional spender address. Defaults to the Boson Protocol diamond from SDK config." }, "tokenDomainName": { "description": "EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator.", "minLength": 1, "type": "string" }, "tokenDomainVersion": { "description": "EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator.", "minLength": 1, "type": "string" }, "validAfter": { "$ref": "#/properties/value", "description": "Unix timestamp in seconds before which the authorization is not valid." }, "validBefore": { "$ref": "#/properties/value", "description": "Unix timestamp in seconds after which the authorization is no longer valid." }, "value": { "description": "Amount in wei the spender is authorized to pull from the signer.", "type": "string" } }, "required": [ "exchangeTokenAddress", "value", "tokenDomainName", "tokenDomainVersion", "validAfter", "validBefore", "configId", "signerAddress" ], "type": "object" }, "name": "sign_receive_with_erc3009_authorization", "outputSchema": null }, { "description": "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); use the result to build a TransferAuthorization { strategy: 'Permit2' } for a meta-tx flow. Returns: typed data structure.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "deadline": { "$ref": "#/properties/value", "description": "Unix timestamp in seconds after which the Permit2 authorization is no longer valid." }, "exchangeTokenAddress": { "description": "ERC-20 token contract address that supports the permit/authorization standard.", "type": "string" }, "permit2Address": { "$ref": "#/properties/spender", "description": "Optional Uniswap Permit2 contract address. Defaults to contracts.permit2 from SDK config." }, "permit2Nonce": { "$ref": "#/properties/value", "description": "Optional Permit2 nonce as a uint256 string. If omitted, a random uint256 is generated." }, "signerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "spender": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional spender address. Defaults to the Boson Protocol diamond from SDK config." }, "value": { "description": "Amount in wei the spender is authorized to pull from the signer.", "type": "string" } }, "required": [ "exchangeTokenAddress", "value", "deadline", "configId", "signerAddress" ], "type": "object" }, "name": "sign_receive_with_permit2", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "animationUrl": { "type": "string" }, "attributes": { "items": { "additionalProperties": true, "properties": { "displayType": { "type": "string" }, "traitType": { "type": "string" }, "value": { "type": "string" } }, "required": [ "traitType", "value" ], "type": "object" }, "type": "array" }, "condition": { "type": "string" }, "configId": { "description": "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.", "type": "string" }, "description": { "type": "string" }, "externalUrl": { "type": "string" }, "image": { "type": "string" }, "imageData": { "type": "string" }, "licenseUrl": { "type": "string" }, "name": { "type": "string" }, "schemaUrl": { "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "type": { "enum": [ "BASE" ], "type": "string" }, "youtubeUrl": { "type": "string" } }, "required": [ "schemaUrl", "type", "name", "description", "externalUrl", "licenseUrl", "configId", "signerAddress" ], "type": "object" }, "name": "store_base_metadata", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "animationUrl": { "type": "string" }, "animation_url": { "type": "string" }, "attributes": { "items": { "additionalProperties": true, "properties": { "displayType": { "type": "string" }, "display_type": { "type": "string" }, "traitType": { "type": "string" }, "trait_type": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value" ], "type": "object" }, "type": "array" }, "chainId": { "type": "number" }, "configId": { "description": "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.", "type": "string" }, "contract": { "type": "string" }, "description": { "type": "string" }, "externalUrl": { "type": "string" }, "external_url": { "type": "string" }, "image": { "type": "string" }, "imageData": { "type": "string" }, "image_data": { "type": "string" }, "name": { "type": "string" }, "quantity": { "type": "number" }, "schemaUrl": { "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "terms": { "items": { "additionalProperties": true, "properties": { "displayKey": { "type": "string" }, "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "key", "value" ], "type": "object" }, "type": "array" }, "tokenId": { "type": "string" }, "tokenIdRange": { "additionalProperties": true, "properties": { "max": { "type": "string" }, "min": { "type": "string" } }, "type": "object" }, "type": { "enum": [ "ITEM_NFT" ], "type": "string" }, "youtubeUrl": { "type": "string" }, "youtube_url": { "type": "string" } }, "required": [ "schemaUrl", "type", "name", "configId", "signerAddress" ], "type": "object" }, "name": "store_bundle_item_nft_metadata", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "exchangePolicy": { "additionalProperties": true, "properties": { "disputeResolverContactMethod": { "type": "string" }, "label": { "type": "string" }, "sellerContactMethod": { "type": "string" }, "template": { "type": "string" }, "uuid": { "type": "string" }, "version": { "type": "number" } }, "required": [ "uuid", "version", "template", "sellerContactMethod", "disputeResolverContactMethod" ], "type": "object" }, "product": { "additionalProperties": true, "properties": { "description": { "type": "string" }, "details_category": { "type": "string" }, "details_offerCategory": { "type": "string" }, "details_personalisation": { "items": { "type": "string" }, "type": "array" }, "details_sections": { "items": { "type": "string" }, "type": "array" }, "details_subCategory": { "type": "string" }, "details_subCategory2": { "type": "string" }, "details_tags": { "items": { "type": "string" }, "type": "array" }, "identification_productId": { "type": "string" }, "identification_productIdType": { "type": "string" }, "identification_sKU": { "type": "string" }, "productionInformation_brandName": { "type": "string" }, "productionInformation_manufacturer": { "type": "string" }, "productionInformation_manufacturerPartNumber": { "type": "string" }, "productionInformation_materials": { "items": { "type": "string" }, "type": "array" }, "productionInformation_modelNumber": { "type": "string" }, "title": { "type": "string" }, "uuid": { "type": "string" }, "version": { "type": "number" }, "visuals_images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "visuals_videos": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" } }, "required": [ "uuid", "version", "title", "description", "productionInformation_brandName", "details_offerCategory", "visuals_images" ], "type": "object" }, "productOverrides": { "additionalProperties": true, "properties": { "description": { "type": "string" }, "identification_productId": { "type": "string" }, "identification_productIdType": { "type": "string" }, "identification_sKU": { "type": "string" }, "productionInformation_brandName": { "type": "string" }, "productionInformation_manufacturer": { "type": "string" }, "productionInformation_manufacturerPartNumber": { "type": "string" }, "productionInformation_materials": { "items": { "type": "string" }, "type": "array" }, "productionInformation_modelNumber": { "type": "string" }, "title": { "type": "string" }, "visuals_images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "visuals_videos": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" } }, "type": "object" }, "schemaUrl": { "type": "string" }, "shipping": { "additionalProperties": true, "properties": { "countryOfOrigin": { "type": "string" }, "defaultVersion": { "type": "number" }, "redemptionPoint": { "type": "string" }, "returnPeriod": { "type": "string" }, "supportedJurisdictions": { "items": { "additionalProperties": true, "properties": { "deliveryTime": { "type": "string" }, "label": { "type": "string" } }, "required": [ "label", "deliveryTime" ], "type": "object" }, "type": "array" } }, "required": [ "returnPeriod" ], "type": "object" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "type": { "enum": [ "ITEM_PRODUCT_V1" ], "type": "string" }, "uuid": { "type": "string" }, "variations": { "items": { "additionalProperties": true, "properties": { "option": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type", "option" ], "type": "object" }, "type": "array" } }, "required": [ "schemaUrl", "type", "uuid", "product", "shipping", "exchangePolicy", "configId", "signerAddress" ], "type": "object" }, "name": "store_bundle_item_product_v1_metadata", "outputSchema": null }, { "description": "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 }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "animationUrl": { "type": "string" }, "attributes": { "items": { "additionalProperties": true, "properties": { "displayType": { "type": "string" }, "traitType": { "type": "string" }, "value": { "type": "string" } }, "required": [ "traitType", "value" ], "type": "object" }, "type": "array" }, "bundleUuid": { "type": "string" }, "condition": { "type": "string" }, "configId": { "description": "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.", "type": "string" }, "description": { "type": "string" }, "externalUrl": { "type": "string" }, "image": { "type": "string" }, "imageData": { "type": "string" }, "items": { "items": { "additionalProperties": true, "properties": { "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "licenseUrl": { "type": "string" }, "name": { "type": "string" }, "schemaUrl": { "type": "string" }, "seller": { "additionalProperties": true, "properties": { "contactLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "defaultVersion": { "type": "number" }, "description": { "type": "string" }, "externalUrl": { "type": "string" }, "images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "name": { "type": "string" }, "tokenId": { "type": "string" } }, "required": [ "defaultVersion", "name", "contactLinks" ], "type": "object" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "type": { "enum": [ "BUNDLE" ], "type": "string" }, "youtubeUrl": { "type": "string" } }, "required": [ "schemaUrl", "type", "name", "description", "externalUrl", "licenseUrl", "bundleUuid", "seller", "items", "configId", "signerAddress" ], "type": "object" }, "name": "store_bundle_metadata", "outputSchema": null }, { "description": "Stores a ProductV1 metadata object to IPFS. Call before create_offer to get metadataUri and metadataHash. Returns: { metadataUri: 'ipfs://...', metadataHash: '0x...' }.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "animationUrl": { "type": "string" }, "attributes": { "items": { "additionalProperties": true, "properties": { "displayType": { "type": "string" }, "traitType": { "type": "string" }, "value": { "type": "string" } }, "required": [ "traitType", "value" ], "type": "object" }, "type": "array" }, "condition": { "type": "string" }, "configId": { "description": "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.", "type": "string" }, "description": { "type": "string" }, "exchangePolicy": { "additionalProperties": true, "properties": { "disputeResolverContactMethod": { "type": "string" }, "label": { "type": "string" }, "sellerContactMethod": { "type": "string" }, "template": { "type": "string" }, "uuid": { "type": "string" }, "version": { "type": "number" } }, "required": [ "uuid", "version", "template", "sellerContactMethod", "disputeResolverContactMethod" ], "type": "object" }, "externalUrl": { "type": "string" }, "image": { "type": "string" }, "imageData": { "type": "string" }, "licenseUrl": { "type": "string" }, "name": { "type": "string" }, "product": { "additionalProperties": true, "properties": { "description": { "type": "string" }, "details_category": { "type": "string" }, "details_offerCategory": { "type": "string" }, "details_personalisation": { "items": { "type": "string" }, "type": "array" }, "details_sections": { "items": { "type": "string" }, "type": "array" }, "details_subCategory": { "type": "string" }, "details_subCategory2": { "type": "string" }, "details_tags": { "items": { "type": "string" }, "type": "array" }, "identification_productId": { "type": "string" }, "identification_productIdType": { "type": "string" }, "identification_sKU": { "type": "string" }, "productionInformation_brandName": { "type": "string" }, "productionInformation_manufacturer": { "type": "string" }, "productionInformation_manufacturerPartNumber": { "type": "string" }, "productionInformation_materials": { "items": { "type": "string" }, "type": "array" }, "productionInformation_modelNumber": { "type": "string" }, "title": { "type": "string" }, "uuid": { "type": "string" }, "version": { "type": "number" }, "visuals_images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "visuals_videos": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" } }, "required": [ "uuid", "version", "title", "description", "productionInformation_brandName", "details_offerCategory", "visuals_images" ], "type": "object" }, "productOverrides": { "additionalProperties": true, "properties": { "description": { "type": "string" }, "identification_productId": { "type": "string" }, "identification_productIdType": { "type": "string" }, "identification_sKU": { "type": "string" }, "productionInformation_brandName": { "type": "string" }, "productionInformation_manufacturer": { "type": "string" }, "productionInformation_manufacturerPartNumber": { "type": "string" }, "productionInformation_materials": { "items": { "type": "string" }, "type": "array" }, "productionInformation_modelNumber": { "type": "string" }, "title": { "type": "string" }, "visuals_images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "visuals_videos": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" } }, "type": "object" }, "schemaUrl": { "type": "string" }, "seller": { "additionalProperties": true, "properties": { "contactLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "defaultVersion": { "type": "number" }, "description": { "type": "string" }, "externalUrl": { "type": "string" }, "images": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "type": "array" }, "name": { "type": "string" }, "tokenId": { "type": "string" } }, "required": [ "defaultVersion", "name", "contactLinks" ], "type": "object" }, "shipping": { "additionalProperties": true, "properties": { "countryOfOrigin": { "type": "string" }, "defaultVersion": { "type": "number" }, "redemptionPoint": { "type": "string" }, "returnPeriod": { "type": "string" }, "supportedJurisdictions": { "items": { "additionalProperties": true, "properties": { "deliveryTime": { "type": "string" }, "label": { "type": "string" } }, "required": [ "label", "deliveryTime" ], "type": "object" }, "type": "array" } }, "required": [ "returnPeriod" ], "type": "object" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "type": { "enum": [ "PRODUCT_V1" ], "type": "string" }, "uuid": { "type": "string" }, "variations": { "items": { "additionalProperties": true, "properties": { "option": { "type": "string" }, "type": { "type": "string" } }, "required": [ "type", "option" ], "type": "object" }, "type": "array" }, "youtubeUrl": { "type": "string" } }, "required": [ "schemaUrl", "type", "uuid", "name", "description", "externalUrl", "licenseUrl", "image", "attributes", "product", "seller", "shipping", "exchangePolicy", "configId", "signerAddress" ], "type": "object" }, "name": "store_product_v1_metadata", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "authTokenId": { "description": "NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens.", "type": "string" }, "authTokenType": { "description": "Auth token type: 0=None, 1=Lens Protocol profile NFT.", "type": "number" }, "configId": { "description": "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.", "type": "string" }, "contactLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "contactPreference": { "type": "string" }, "description": { "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "id": { "$ref": "#/properties/authTokenId", "description": "Numeric ID of the existing seller entity to update. Obtain from get_sellers_by_address." }, "images": { "items": { "additionalProperties": true, "properties": { "fit": { "type": "string" }, "height": { "type": "number" }, "position": { "type": "string" }, "tag": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" }, "width": { "type": "number" } }, "required": [ "url", "type" ], "type": "object" }, "type": "array" }, "kind": { "type": "string" }, "legalTradingName": { "type": "string" }, "name": { "type": "string" }, "salesChannels": { "items": { "additionalProperties": true, "properties": { "deployments": { "items": { "additionalProperties": false, "properties": { "lastUpdated": { "type": "string" }, "link": { "type": "string" }, "product": { "additionalProperties": false, "properties": { "uuid": { "type": "string" }, "version": { "type": "number" } }, "type": "object" }, "status": { "type": "string" } }, "type": "object" }, "type": "array" }, "link": { "type": "string" }, "name": { "type": "string" }, "settingsEditor": { "type": "string" }, "settingsUrl": { "type": "string" }, "tag": { "type": "string" } }, "required": [ "tag" ], "type": "object" }, "type": "array" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" }, "socialLinks": { "items": { "additionalProperties": true, "properties": { "tag": { "type": "string" }, "url": { "type": "string" } }, "required": [ "url", "tag" ], "type": "object" }, "type": "array" }, "type": { "type": "string" }, "website": { "type": "string" } }, "required": [ "type", "kind", "contactPreference", "authTokenId", "authTokenType", "id", "configId", "signerAddress" ], "type": "object" }, "name": "update_seller", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "metadata": { "additionalProperties": true, "properties": { "type": { "minLength": 1, "type": "string" } }, "required": [ "type" ], "type": "object" } }, "required": [ "metadata" ], "type": "object" }, "name": "validate_metadata", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "buyerId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Numeric ID of the buyer entity. Use '0' for seller-initiated offers." }, "collectionIndex": { "$ref": "#/properties/agentId", "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.", "type": "string" }, "threshold": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "description": "Address of the gate token contract buyers must hold.", "type": "string" }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "configId": { "description": "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.", "type": "string" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/exchangeTokenAddress", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/condition/properties/tokenAddress", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "feeLimit": { "$ref": "#/properties/agentId", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "price": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/exchangeTokenAddress" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "sellerId": { "$ref": "#/properties/condition/properties/minTokenId", "description": "Numeric ID of the seller entity. Obtain via get_sellers_by_address." }, "signerAddress": { "$ref": "#/properties/condition/properties/tokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." }, "useDepositedFunds": { "description": "If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.", "type": "boolean" }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "sellerId", "buyerId", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS", "configId", "signerAddress" ], "type": "object" }, "name": "void_non_listed_offer", "outputSchema": null }, { "description": "Voids multiple private offers atomically. Same prerequisite as void_non_listed_offer, but for an array of full offer objects. Returns unsigned transaction data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "fullOffers": { "items": { "additionalProperties": false, "properties": { "agentId": { "$ref": "#/properties/fullOffers/items/properties/sellerId", "description": "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent." }, "buyerCancellationPenalty": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string." }, "buyerId": { "$ref": "#/properties/fullOffers/items/properties/sellerId" }, "collectionIndex": { "$ref": "#/properties/fullOffers/items/properties/sellerId", "description": "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)." }, "condition": { "additionalProperties": false, "properties": { "gatingType": { "description": "0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).", "type": "number" }, "maxCommits": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Max commits per qualifying address or token ID. Pass as string." }, "maxTokenId": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Max token ID (inclusive) for ERC-721/1155 criteria. Pass as string." }, "method": { "description": "Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).", "type": "number" }, "minTokenId": { "description": "Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.", "type": "string" }, "threshold": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Minimum token balance required. Pass as string." }, "tokenAddress": { "description": "Address of the gate token contract buyers must hold.", "type": "string" }, "tokenType": { "description": "Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.", "type": "number" } }, "required": [ "method", "tokenType", "tokenAddress", "gatingType", "minTokenId", "maxTokenId", "threshold", "maxCommits" ], "type": "object" }, "creator": { "description": "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.", "enum": [ "SELLER", "BUYER" ], "type": "string" }, "disputePeriodDurationInMS": { "description": "Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.", "type": "number" }, "disputeResolverId": { "description": "ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.", "type": "string" }, "drMutualizerAddress": { "$ref": "#/properties/fullOffers/items/properties/exchangeTokenAddress", "description": "Optional dispute resolver mutualizer contract address that pools resolution funds." }, "exchangeTokenAddress": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/tokenAddress", "description": "ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values." }, "feeLimit": { "$ref": "#/properties/fullOffers/items/properties/sellerId", "description": "Max protocol fee the seller accepts in same token unit. Pass as string." }, "metadataHash": { "description": "Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.", "type": "string" }, "metadataUri": { "description": "IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.", "type": "string" }, "price": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH." }, "priceType": { "description": "0 = static price, 1 = discovery price (auction).", "type": "number" }, "quantityAvailable": { "description": "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", "exclusiveMinimum": 0, "type": "number" }, "resolutionPeriodDurationInMS": { "description": "Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.", "type": "number" }, "royaltyInfo": { "additionalProperties": false, "properties": { "bps": { "description": "Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.", "items": { "type": "string" }, "minItems": 0, "type": "array" }, "recipients": { "description": "Array of addresses receiving resale royalties.", "items": { "$ref": "#/properties/fullOffers/items/properties/exchangeTokenAddress" }, "minItems": 0, "type": "array" } }, "required": [ "recipients", "bps" ], "type": "object" }, "sellerDeposit": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId", "description": "Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string." }, "sellerId": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/minTokenId" }, "useDepositedFunds": { "type": "boolean" }, "validFromDateInMS": { "description": "Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.", "type": "number" }, "validUntilDateInMS": { "description": "Unix timestamp in milliseconds when the offer can no longer be committed to.", "type": "number" }, "voucherRedeemableFromDateInMS": { "description": "Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.", "type": "number" }, "voucherRedeemableUntilDateInMS": { "description": "Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.", "type": "number" }, "voucherValidDurationInMS": { "description": "Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.", "type": "number" } }, "required": [ "sellerId", "buyerId", "metadataUri", "metadataHash", "price", "sellerDeposit", "buyerCancellationPenalty", "quantityAvailable", "validFromDateInMS", "validUntilDateInMS", "voucherRedeemableFromDateInMS", "voucherRedeemableUntilDateInMS", "disputePeriodDurationInMS", "voucherValidDurationInMS", "resolutionPeriodDurationInMS" ], "type": "object" }, "minItems": 1, "type": "array" }, "signerAddress": { "$ref": "#/properties/fullOffers/items/properties/condition/properties/tokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "fullOffers", "configId", "signerAddress" ], "type": "object" }, "name": "void_non_listed_offer_batch", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "offerId": { "description": "ID of the listed offer to void. Caller must be the seller assistant. Existing exchanges are unaffected.", "type": "string" }, "signerAddress": { "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.", "type": "string" } }, "required": [ "offerId", "configId", "signerAddress" ], "type": "object" }, "name": "void_offer", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "configId": { "description": "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.", "type": "string" }, "entityId": { "description": "Numeric ID of the seller or buyer entity withdrawing funds.", "type": "string" }, "executionMode": { "description": "'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.", "enum": [ "direct", "metaTx" ], "type": "string" }, "list": { "items": { "additionalProperties": false, "properties": { "amount": { "$ref": "#/properties/entityId", "description": "Amount in token's smallest unit (wei). Use '0' to withdraw full available balance. Pass as string." }, "tokenAddress": { "description": "ERC-20 token address to withdraw. Use address(0) for native ETH.", "type": "string" } }, "required": [ "tokenAddress", "amount" ], "type": "object" }, "minItems": 1, "type": "array" }, "signerAddress": { "$ref": "#/properties/list/items/properties/tokenAddress", "description": "Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally." } }, "required": [ "entityId", "list", "configId", "signerAddress" ], "type": "object" }, "name": "withdraw_funds", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:fc074da5a7fc6831d5a0bb4eec824db4958ace4ade7de13396bd7a8a53b67217 | sha256sum