{"apiVersion":"v1","directorySlug":"bosonprotocol-mcp-7ea368e71a","title":"Boson dACP | Secure Agentic Commerce for Everything","description":"Exchange any digital or physical asset between agents, with strong commitments that transactions execute as agreed - or not at all.","pageUrl":"https://www.mcpbundles.com/skills/bosonprotocol-mcp-7ea368e71a","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.bosonprotocol.io/mcp","hostedMcpUrl":null,"toolCount":63,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"io.bosonprotocol/bosonprotocol-mcp-7ea368e71a","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_config_ids","description":"Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_config_ids","displayName":"get_config_ids","title":"get_config_ids"},{"name":"get_funds","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"},"fundsSkip":{"type":"number"},"fundsFirst":{"type":"number"},"fundsFilter":{"type":"object","additionalProperties":{}},"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"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_funds","displayName":"get_funds","title":"get_funds"},{"name":"get_disputes","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"},"disputesSkip":{"type":"number"},"disputesFirst":{"type":"number"},"disputesFilter":{"type":"object","additionalProperties":{}},"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"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_disputes","displayName":"get_disputes","title":"get_disputes"},{"name":"get_dispute_by_id","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["disputeId","configId"],"properties":{"configId":{"type":"string"},"disputeId":{"type":"string"},"queryVars":{}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_dispute_by_id","displayName":"get_dispute_by_id","title":"get_dispute_by_id"},{"name":"get_sellers","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"},"includeLogs":{"type":"boolean"},"sellersSkip":{"type":"number"},"includeFunds":{"type":"boolean"},"sellersFirst":{"type":"number"},"includeOffers":{"type":"boolean"},"sellersFilter":{"type":"object","additionalProperties":{}},"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"},"includeExchanges":{"type":"boolean"},"sellersOrderDirection":{"enum":["asc","desc"],"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_sellers","displayName":"get_sellers","title":"get_sellers"},{"name":"get_dispute_resolvers","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"},"disputeResolversSkip":{"type":"number"},"disputeResolversFirst":{"type":"number"},"disputeResolversFilter":{"type":"object","additionalProperties":{}},"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"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_dispute_resolvers","displayName":"get_dispute_resolvers","title":"get_dispute_resolvers"},{"name":"create_offer","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["metadataUri","metadataHash","price","sellerDeposit","buyerCancellationPenalty","quantityAvailable","validFromDateInMS","validUntilDateInMS","voucherRedeemableFromDateInMS","voucherRedeemableUntilDateInMS","disputePeriodDurationInMS","voucherValidDurationInMS","resolutionPeriodDurationInMS","configId","signerAddress"],"properties":{"price":{"type":"string"},"agentId":{"$ref":"#/properties/price"},"creator":{"enum":["SELLER","BUYER"],"type":"string"},"configId":{"type":"string"},"feeLimit":{"$ref":"#/properties/agentId"},"priceType":{"type":"number"},"metadataUri":{"type":"string"},"royaltyInfo":{"type":"object","required":["recipients","bps"],"properties":{"bps":{"type":"array","items":{"type":"string"},"minItems":0},"recipients":{"type":"array","items":{"$ref":"#/properties/exchangeTokenAddress"},"minItems":0}},"additionalProperties":false},"metadataHash":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"sellerDeposit":{"$ref":"#/properties/price"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"collectionIndex":{"$ref":"#/properties/agentId"},"disputeResolverId":{"type":"string"},"quantityAvailable":{"type":"number","exclusiveMinimum":0},"validFromDateInMS":{"type":"number"},"validUntilDateInMS":{"type":"number"},"drMutualizerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"exchangeTokenAddress":{"type":"string"},"buyerCancellationPenalty":{"$ref":"#/properties/price"},"voucherValidDurationInMS":{"type":"number"},"disputePeriodDurationInMS":{"type":"number"},"resolutionPeriodDurationInMS":{"type":"number"},"voucherRedeemableFromDateInMS":{"type":"number"},"voucherRedeemableUntilDateInMS":{"type":"number"}},"additionalProperties":false},"logicalName":"create_offer","displayName":"create_offer","title":"create_offer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_buyer","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId","signerAddress"],"properties":{"configId":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"create_buyer","displayName":"create_buyer","title":"create_buyer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"void_offer","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","configId","signerAddress"],"properties":{"offerId":{"type":"string"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"void_offer","displayName":"void_offer","title":"void_offer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_seller","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["type","kind","contactPreference","contractUri","royaltyPercentage","authTokenId","authTokenType","configId","signerAddress"],"properties":{"kind":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"images":{"type":"array","items":{"type":"object","required":["url","type"],"properties":{"fit":{"type":"string"},"tag":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"position":{"type":"string"}},"additionalProperties":true}},"website":{"type":"string"},"configId":{"type":"string"},"authTokenId":{"$ref":"#/properties/royaltyPercentage"},"contractUri":{"type":"string"},"socialLinks":{"type":"array","items":{"type":"object","required":["url","tag"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"contactLinks":{"type":"array","items":{"type":"object","required":["url","tag"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"authTokenType":{"type":"number"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"salesChannels":{"type":"array","items":{"type":"object","required":["tag"],"properties":{"tag":{"type":"string"},"link":{"type":"string"},"name":{"type":"string"},"deployments":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"},"status":{"type":"string"},"product":{"type":"object","properties":{"uuid":{"type":"string"},"version":{"type":"number"}},"additionalProperties":false},"lastUpdated":{"type":"string"}},"additionalProperties":false}},"settingsUrl":{"type":"string"},"settingsEditor":{"type":"string"}},"additionalProperties":true}},"signerAddress":{"type":"string"},"legalTradingName":{"type":"string"},"contactPreference":{"type":"string"},"royaltyPercentage":{"type":"string"}},"additionalProperties":false},"logicalName":"create_seller","displayName":"create_seller","title":"create_seller","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_seller","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["type","kind","contactPreference","authTokenId","authTokenType","id","configId","signerAddress"],"properties":{"id":{"$ref":"#/properties/authTokenId"},"kind":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"images":{"type":"array","items":{"type":"object","required":["url","type"],"properties":{"fit":{"type":"string"},"tag":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"position":{"type":"string"}},"additionalProperties":true}},"website":{"type":"string"},"configId":{"type":"string"},"authTokenId":{"type":"string"},"socialLinks":{"type":"array","items":{"type":"object","required":["url","tag"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"contactLinks":{"type":"array","items":{"type":"object","required":["url","tag"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"authTokenType":{"type":"number"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"salesChannels":{"type":"array","items":{"type":"object","required":["tag"],"properties":{"tag":{"type":"string"},"link":{"type":"string"},"name":{"type":"string"},"deployments":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"},"status":{"type":"string"},"product":{"type":"object","properties":{"uuid":{"type":"string"},"version":{"type":"number"}},"additionalProperties":false},"lastUpdated":{"type":"string"}},"additionalProperties":false}},"settingsUrl":{"type":"string"},"settingsEditor":{"type":"string"}},"additionalProperties":true}},"signerAddress":{"type":"string"},"legalTradingName":{"type":"string"},"contactPreference":{"type":"string"}},"additionalProperties":false},"logicalName":"update_seller","displayName":"update_seller","title":"update_seller","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"send_signed_transaction","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["signedTransaction","configId"],"properties":{"configId":{"type":"string"},"signedTransaction":{"type":"string"}},"additionalProperties":false},"logicalName":"send_signed_transaction","displayName":"send_signed_transaction","title":"send_signed_transaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"send_meta_transaction","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["functionName","functionSignature","nonce","sigR","sigS","sigV","configId","signerAddress"],"properties":{"sigR":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"sigS":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"sigV":{"type":["string","number"]},"nonce":{"type":["string","number"]},"configId":{"type":"string"},"functionName":{"type":"string","minLength":1},"signerAddress":{"type":"string"},"functionSignature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"}},"additionalProperties":false},"logicalName":"send_meta_transaction","displayName":"send_meta_transaction","title":"send_meta_transaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"send_native_meta_transaction","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["contractAddress","functionSignature","sigR","sigS","sigV","configId","signerAddress"],"properties":{"sigR":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"sigS":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"sigV":{"type":["string","number"]},"configId":{"type":"string"},"signerAddress":{"$ref":"#/properties/contractAddress"},"contractAddress":{"type":"string"},"functionSignature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"}},"additionalProperties":false},"logicalName":"send_native_meta_transaction","displayName":"send_native_meta_transaction","title":"send_native_meta_transaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"send_forwarded_meta_transaction","description":"Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["contractAddress","request","domainSeparator","signature","configId","signerAddress"],"properties":{"request":{"type":"object","required":["from","to","token","txGas","tokenGasPrice","batchId","batchNonce","deadline","data"],"properties":{"to":{"$ref":"#/properties/contractAddress"},"data":{"type":"string","pattern":"^0x[a-fA-F0-9]+$","minLength":1},"from":{"$ref":"#/properties/contractAddress"},"token":{"$ref":"#/properties/contractAddress"},"txGas":{"anyOf":[{"type":"string","minLength":1},{"type":"number","minimum":0}]},"batchId":{"anyOf":[{"type":"string","minLength":1},{"type":"number","minimum":0}]},"deadline":{"type":"number","minimum":0},"batchNonce":{"anyOf":[{"type":"string","minLength":1},{"type":"number","minimum":0}]},"tokenGasPrice":{"type":"string","minLength":1}},"additionalProperties":false},"configId":{"type":"string"},"signature":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},"signerAddress":{"$ref":"#/properties/contractAddress"},"contractAddress":{"type":"string"},"domainSeparator":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"}},"additionalProperties":false},"logicalName":"send_forwarded_meta_transaction","displayName":"send_forwarded_meta_transaction","title":"send_forwarded_meta_transaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"withdraw_funds","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entityId","list","configId","signerAddress"],"properties":{"list":{"type":"array","items":{"type":"object","required":["tokenAddress","amount"],"properties":{"amount":{"$ref":"#/properties/entityId"},"tokenAddress":{"type":"string"}},"additionalProperties":false},"minItems":1},"configId":{"type":"string"},"entityId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/list/items/properties/tokenAddress"}},"additionalProperties":false},"logicalName":"withdraw_funds","displayName":"withdraw_funds","title":"withdraw_funds","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"deposit_funds","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entityId","tokenAddress","amount","configId","signerAddress"],"properties":{"amount":{"$ref":"#/properties/entityId"},"configId":{"type":"string"},"entityId":{"type":"string"},"tokenAddress":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/tokenAddress"}},"additionalProperties":false},"logicalName":"deposit_funds","displayName":"deposit_funds","title":"deposit_funds","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"extend_dispute_timeout","description":"Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","newDisputeTimeout","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"},"newDisputeTimeout":{"$ref":"#/properties/exchangeId"}},"additionalProperties":false},"logicalName":"extend_dispute_timeout","displayName":"extend_dispute_timeout","title":"extend_dispute_timeout","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"expire_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"expire_dispute","displayName":"expire_dispute","title":"expire_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"expire_dispute_batch","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeIds","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeIds":{"type":"array","items":{"type":"string"},"minItems":1},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"expire_dispute_batch","displayName":"expire_dispute_batch","title":"expire_dispute_batch","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"resolve_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","buyerPercentBasisPoints","sigR","sigS","sigV","configId","signerAddress"],"properties":{"sigR":{"type":"string"},"sigS":{"type":"string"},"sigV":{"$ref":"#/properties/exchangeId"},"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"},"buyerPercentBasisPoints":{"$ref":"#/properties/exchangeId"}},"additionalProperties":false},"logicalName":"resolve_dispute","displayName":"resolve_dispute","title":"resolve_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"raise_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"raise_dispute","displayName":"raise_dispute","title":"raise_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"retract_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"retract_dispute","displayName":"retract_dispute","title":"retract_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"escalate_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"escalate_dispute","displayName":"escalate_dispute","title":"escalate_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"decide_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","buyerPercent","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"buyerPercent":{"$ref":"#/properties/exchangeId"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"decide_dispute","displayName":"decide_dispute","title":"decide_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"refuse_escalated_dispute","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"refuse_escalated_dispute","displayName":"refuse_escalated_dispute","title":"refuse_escalated_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"expire_escalated_dispute","description":"Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"expire_escalated_dispute","displayName":"expire_escalated_dispute","title":"expire_escalated_dispute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_dispute_resolution_proposal","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","buyerPercentBasisPoints","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"signerAddress":{"type":"string"},"buyerPercentBasisPoints":{"$ref":"#/properties/exchangeId"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"create_dispute_resolution_proposal","displayName":"create_dispute_resolution_proposal","title":"create_dispute_resolution_proposal"},{"name":"revoke_voucher","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"revoke_voucher","displayName":"revoke_voucher","title":"revoke_voucher","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"approve_exchange_token","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeTokenAddress","amount","configId","signerAddress"],"properties":{"amount":{"type":"string"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"exchangeTokenAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"approve_exchange_token","displayName":"approve_exchange_token","title":"approve_exchange_token","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sign_receive_with_erc3009_authorization","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeTokenAddress","value","tokenDomainName","tokenDomainVersion","validAfter","validBefore","configId","signerAddress"],"properties":{"value":{"type":"string"},"spender":{"$ref":"#/properties/exchangeTokenAddress"},"configId":{"type":"string"},"validAfter":{"$ref":"#/properties/value"},"validBefore":{"$ref":"#/properties/value"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"tokenDomainName":{"type":"string","minLength":1},"tokenDomainVersion":{"type":"string","minLength":1},"exchangeTokenAddress":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sign_receive_with_erc3009_authorization","displayName":"sign_receive_with_erc3009_authorization","title":"sign_receive_with_erc3009_authorization"},{"name":"sign_receive_with_erc2612_permit","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeTokenAddress","value","tokenDomainName","tokenDomainVersion","deadline","configId","signerAddress"],"properties":{"value":{"type":"string"},"spender":{"$ref":"#/properties/exchangeTokenAddress"},"configId":{"type":"string"},"deadline":{"$ref":"#/properties/value"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"tokenDomainName":{"type":"string","minLength":1},"tokenDomainVersion":{"type":"string","minLength":1},"exchangeTokenAddress":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sign_receive_with_erc2612_permit","displayName":"sign_receive_with_erc2612_permit","title":"sign_receive_with_erc2612_permit"},{"name":"sign_receive_with_permit2","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeTokenAddress","value","deadline","configId","signerAddress"],"properties":{"value":{"type":"string"},"spender":{"$ref":"#/properties/exchangeTokenAddress"},"configId":{"type":"string"},"deadline":{"$ref":"#/properties/value"},"permit2Nonce":{"$ref":"#/properties/value"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"permit2Address":{"$ref":"#/properties/spender"},"exchangeTokenAddress":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sign_receive_with_permit2","displayName":"sign_receive_with_permit2","title":"sign_receive_with_permit2"},{"name":"sign_receive_with_dai_permit","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeTokenAddress","value","tokenDomainName","expiry","configId","signerAddress"],"properties":{"value":{"type":"string"},"expiry":{"$ref":"#/properties/value"},"spender":{"$ref":"#/properties/exchangeTokenAddress"},"configId":{"type":"string"},"signerAddress":{"$ref":"#/properties/exchangeTokenAddress"},"tokenDomainName":{"type":"string","minLength":1},"exchangeTokenAddress":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sign_receive_with_dai_permit","displayName":"sign_receive_with_dai_permit","title":"sign_receive_with_dai_permit"},{"name":"commit_to_offer","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","configId","signerAddress"],"properties":{"buyer":{"type":"string"},"offerId":{"type":"string"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/buyer"}},"additionalProperties":false},"logicalName":"commit_to_offer","displayName":"commit_to_offer","title":"commit_to_offer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"commit_to_conditional_offer","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","tokenId","configId","signerAddress"],"properties":{"buyer":{"type":"string"},"offerId":{"type":"string"},"tokenId":{"$ref":"#/properties/offerId"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/buyer"}},"additionalProperties":false},"logicalName":"commit_to_conditional_offer","displayName":"commit_to_conditional_offer","title":"commit_to_conditional_offer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"commit_to_offer_and_redeem_voucher","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","configId","signerAddress"],"properties":{"offerId":{"type":"string"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"commit_to_offer_and_redeem_voucher","displayName":"commit_to_offer_and_redeem_voucher","title":"commit_to_offer_and_redeem_voucher","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"commit_to_conditional_offer_and_redeem_voucher","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","tokenId","configId","signerAddress"],"properties":{"offerId":{"type":"string"},"tokenId":{"$ref":"#/properties/offerId"},"configId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"commit_to_conditional_offer_and_redeem_voucher","displayName":"commit_to_conditional_offer_and_redeem_voucher","title":"commit_to_conditional_offer_and_redeem_voucher","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"commit_to_buyer_offer","description":"Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerId","configId","signerAddress"],"properties":{"offerId":{"type":"string"},"configId":{"type":"string"},"royaltyInfo":{"type":"object","required":["recipients","bps"],"properties":{"bps":{"type":"array","items":{"type":"string"},"minItems":0},"recipients":{"type":"array","items":{"type":"string"},"minItems":0}},"additionalProperties":false},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"$ref":"#/properties/royaltyInfo/properties/recipients/items"},"collectionIndex":{"$ref":"#/properties/offerId"},"drMutualizerAddress":{"$ref":"#/properties/royaltyInfo/properties/recipients/items"}},"additionalProperties":false},"logicalName":"commit_to_buyer_offer","displayName":"commit_to_buyer_offer","title":"commit_to_buyer_offer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"cancel_voucher","description":"Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"cancel_voucher","displayName":"cancel_voucher","title":"cancel_voucher","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"redeem_voucher","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"redeem_voucher","displayName":"redeem_voucher","title":"redeem_voucher","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"complete_exchange","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["exchangeId","configId","signerAddress"],"properties":{"configId":{"type":"string"},"exchangeId":{"type":"string"},"executionMode":{"enum":["direct","metaTx"],"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"complete_exchange","displayName":"complete_exchange","title":"complete_exchange","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_sellers_by_address","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["address","configId"],"properties":{"address":{"type":"string"},"configId":{"type":"string"},"includeLogs":{"type":"boolean"},"sellersSkip":{"type":"number"},"includeFunds":{"type":"boolean"},"sellersFirst":{"type":"number"},"includeOffers":{"type":"boolean"},"sellersFilter":{"type":"object","additionalProperties":{}},"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"},"includeExchanges":{"type":"boolean"},"sellersOrderDirection":{"enum":["asc","desc"],"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_sellers_by_address","displayName":"get_sellers_by_address","title":"get_sellers_by_address"},{"name":"get_all_products_with_not_voided_variants","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"},"productsSkip":{"type":"number"},"productsFirst":{"type":"number"},"productsFilter":{"type":"object","additionalProperties":{}},"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"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_all_products_with_not_voided_variants","displayName":"get_all_products_with_not_voided_variants","title":"get_all_products_with_not_voided_variants"},{"name":"validate_metadata","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["metadata"],"properties":{"metadata":{"type":"object","required":["type"],"properties":{"type":{"type":"string","minLength":1}},"additionalProperties":true}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"validate_metadata","displayName":"validate_metadata","title":"validate_metadata"},{"name":"store_bundle_metadata","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schemaUrl","type","name","description","externalUrl","licenseUrl","bundleUuid","seller","items","configId","signerAddress"],"properties":{"name":{"type":"string"},"type":{"enum":["BUNDLE"],"type":"string"},"image":{"type":"string"},"items":{"type":"array","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}},"additionalProperties":true}},"seller":{"type":"object","required":["defaultVersion","name","contactLinks"],"properties":{"name":{"type":"string"},"images":{"type":"array","items":{"type":"object","required":["url"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"tokenId":{"type":"string"},"externalUrl":{"type":"string"},"contactLinks":{"type":"array","items":{"type":"object","required":["url","tag"],"properties":{"tag":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}},"defaultVersion":{"type":"number"}},"additionalProperties":true},"configId":{"type":"string"},"condition":{"type":"string"},"imageData":{"type":"string"},"schemaUrl":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","required":["traitType","value"],"properties":{"value":{"type":"string"},"traitType":{"type":"string"},"displayType":{"type":"string"}},"additionalProperties":true}},"bundleUuid":{"type":"string"},"licenseUrl":{"type":"string"},"youtubeUrl":{"type":"string"},"externalUrl":{"type":"string"},"animationUrl":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"store_bundle_metadata","displayName":"store_bundle_metadata","title":"store_bundle_metadata","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"store_base_metadata","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schemaUrl","type","name","description","externalUrl","licenseUrl","configId","signerAddress"],"properties":{"name":{"type":"string"},"type":{"enum":["BASE"],"type":"string"},"image":{"type":"string"},"configId":{"type":"string"},"condition":{"type":"string"},"imageData":{"type":"string"},"schemaUrl":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","required":["traitType","value"],"properties":{"value":{"type":"string"},"traitType":{"type":"string"},"displayType":{"type":"string"}},"additionalProperties":true}},"licenseUrl":{"type":"string"},"youtubeUrl":{"type":"string"},"externalUrl":{"type":"string"},"animationUrl":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"store_base_metadata","displayName":"store_base_metadata","title":"store_base_metadata","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"store_bundle_item_nft_metadata","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schemaUrl","type","name","configId","signerAddress"],"properties":{"name":{"type":"string"},"type":{"enum":["ITEM_NFT"],"type":"string"},"image":{"type":"string"},"terms":{"type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"displayKey":{"type":"string"}},"additionalProperties":true}},"chainId":{"type":"number"},"tokenId":{"type":"string"},"configId":{"type":"string"},"contract":{"type":"string"},"quantity":{"type":"number"},"imageData":{"type":"string"},"schemaUrl":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"type":"string"},"traitType":{"type":"string"},"trait_type":{"type":"string"},"displayType":{"type":"string"},"display_type":{"type":"string"}},"additionalProperties":true}},"image_data":{"type":"string"},"youtubeUrl":{"type":"string"},"externalUrl":{"type":"string"},"youtube_url":{"type":"string"},"animationUrl":{"type":"string"},"external_url":{"type":"string"},"tokenIdRange":{"type":"object","properties":{"max":{"type":"string"},"min":{"type":"string"}},"additionalProperties":true},"animation_url":{"type":"string"},"signerAddress":{"type":"string"}},"additionalProperties":false},"logicalName":"store_bundle_item_nft_metadata","displayName":"store_bundle_item_nft_metadata","title":"store_bundle_item_nft_metadata","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"register_agent","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name","description","entities"],"properties":{"name":{"type":"string"},"entities":{"type":"array","items":{"type":"object","required":["configId","role","entityId","signerAddress","signature"],"properties":{"role":{"enum":["buyer","seller","disputeResolver"],"type":"string"},"configId":{"type":"string"},"entityId":{"type":"string"},"signature":{"type":"string","pattern":"^0x[0-9a-fA-F]{130}$"},"signerAddress":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false},"logicalName":"register_agent","displayName":"register_agent","title":"register_agent","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_registered_agents","description":"Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_registered_agents","displayName":"get_registered_agents","title":"get_registered_agents"},{"name":"get_supported_tokens","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":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"configId":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_supported_tokens","displayName":"get_supported_tokens","title":"get_supported_tokens"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Boson-dACP-Secure-Agentic-Commerce-for-Everything&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYm9zb25wcm90b2NvbC5pby9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Boson-dACP-Secure-Agentic-Commerce-for-Everything%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.bosonprotocol.io%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Boson-dACP-Secure-Agentic-Commerce-for-Everything%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.bosonprotocol.io%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Boson+dACP+%7C+Secure+Agentic+Commerce+for+Everything&connectorUrl=https%3A%2F%2Fmcp.bosonprotocol.io%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Boson-dACP-Secure-Agentic-Commerce-for-Everything\" --url \"https://mcp.bosonprotocol.io/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bosonprotocol-mcp-7ea368e71a","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bosonprotocol-mcp-7ea368e71a/tools/{tool}","mcpServerUrl":"https://mcp.bosonprotocol.io/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/bosonprotocol-mcp-7ea368e71a?live=1"}