MCPサーバー

agentic-commerce

io.bosonprotocol/agentic-commerce

このMCPでできること

Enables on-chain commerce through Boson Protocol, including product offers, buyer and seller accounts, voucher exchanges, escrow-like funds, redemptions, completions, and disputes.

approve_exchange_token
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeTokenAddress', 'amount', 'configId', 'signerAddress'], 'properties': {'amount': {'type': 'string', 'description': "Allowance in wei. Use max uint256 string for unlimited: '115792089237316195423570985008687907853269984665640564039457584007913129639935'."}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token contract address to approve for the Boson Protocol diamond.'}}, 'additionalProperties': False}
cancel_voucher
Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
commit_to_buyer_offer
Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'configId', 'signerAddress'], 'properties': {'offerId': {'type': 'string', 'description': "ID of a buyer-initiated offer (creator='BUYER') to commit to. The seller fulfils the offer."}, 'configId': {'type': 'string', '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."}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'type': 'string', '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, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}, 'collectionIndex': {'$ref': '#/properties/offerId'}, '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."}}, 'additionalProperties': False}
commit_to_conditional_offer
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'tokenId', 'configId', 'signerAddress'], 'properties': {'buyer': {'type': 'string', 'description': "Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'."}, 'offerId': {'type': 'string', 'description': "ID of a conditional (token-gated) offer to commit to. Caller must hold the gating token specified by the offer's condition."}, '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).'}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}}, 'additionalProperties': False}
commit_to_conditional_offer_and_redeem_voucher
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'tokenId', 'configId', 'signerAddress'], 'properties': {'offerId': {'type': 'string', 'description': 'ID of a conditional (token-gated) offer to commit to and immediately redeem in a single transaction.'}, '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).'}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
commit_to_offer
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'configId', 'signerAddress'], 'properties': {'buyer': {'type': 'string', 'description': "Optional buyer address if different from signerAddress. When set, executionMode must be 'direct'."}, 'offerId': {'type': 'string', 'description': 'ID of the active offer to commit to. Creates an exchange and mints a voucher NFT.'}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}}, 'additionalProperties': False}
commit_to_offer_and_redeem_voucher
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'configId', 'signerAddress'], 'properties': {'offerId': {'type': 'string', '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.'}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
complete_exchange
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
create_buyer
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
create_dispute_resolution_proposal
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).
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'buyerPercentBasisPoints', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'buyerPercentBasisPoints': {'$ref': '#/properties/exchangeId', 'description': 'Proposed percentage of disputed funds for the buyer, 0â\x80\x9310000 (basis points). The counterparty must sign this same value.'}}, 'additionalProperties': False}
create_offer
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'.
破壊的操作あり
入力スキーマ
{'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', 'description': "Offer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH."}, 'agentId': {'$ref': '#/properties/price', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/agentId', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'$ref': '#/properties/exchangeTokenAddress'}, 'minItems': 0, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}, 'collectionIndex': {'$ref': '#/properties/agentId', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, 'drMutualizerAddress': {'$ref': '#/properties/exchangeTokenAddress', 'description': 'Optional dispute resolver mutualizer contract address that pools resolution funds.'}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/price', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
create_offer_and_commit
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signature', 'offerCreator', 'committer', 'sellerId', 'buyerId', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS', 'configId', 'signerAddress'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/collectionIndex', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'buyerId': {'$ref': '#/properties/collectionIndex', 'description': "Numeric ID of the buyer entity. Use '0' for seller-initiated offers."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/collectionIndex', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'sellerId': {'$ref': '#/properties/collectionIndex', 'description': 'Numeric ID of the seller entity. Obtain via get_sellers_by_address.'}, 'committer': {'$ref': '#/properties/offerCreator', 'description': 'Ethereum address of the buyer committing in the same transaction.'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/collectionIndex', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'$ref': '#/properties/offerCreator', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'signature': {'type': 'string', 'description': 'ECDSA signature over the offer typed data. Workflow: sign_full_offer â\x86\x92 sign the returned typed data locally with your wallet (EIP-712) â\x86\x92 use result here.'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', '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, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'offerCreator': {'type': 'string', 'description': "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'sellerDeposit': {'$ref': '#/properties/collectionIndex', 'description': 'Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as 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.'}, 'collectionIndex': {'type': 'string', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'useDepositedFunds': {'type': 'boolean', 'description': 'If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.'}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'conditionalTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/collectionIndex', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
create_offer_commit_and_redeem
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signature', 'offerCreator', 'committer', 'sellerId', 'buyerId', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS', 'configId', 'signerAddress'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/collectionIndex', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'buyerId': {'$ref': '#/properties/collectionIndex', 'description': "Numeric ID of the buyer entity. Use '0' for seller-initiated offers."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/collectionIndex', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'sellerId': {'$ref': '#/properties/collectionIndex', 'description': 'Numeric ID of the seller entity. Obtain via get_sellers_by_address.'}, 'committer': {'$ref': '#/properties/offerCreator', 'description': 'Ethereum address of the buyer committing in the same transaction.'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/collectionIndex', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'$ref': '#/properties/offerCreator', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'signature': {'type': 'string', 'description': 'ECDSA signature over the offer typed data. Workflow: sign_full_offer â\x86\x92 sign the returned typed data locally with your wallet (EIP-712) â\x86\x92 use result here.'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', '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, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'offerCreator': {'type': 'string', 'description': "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'sellerDeposit': {'$ref': '#/properties/collectionIndex', 'description': 'Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as 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.'}, 'collectionIndex': {'type': 'string', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'useDepositedFunds': {'type': 'boolean', 'description': 'If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.'}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'conditionalTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/collectionIndex', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
create_offer_with_condition
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['condition', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS', 'configId', 'signerAddress'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/condition/properties/minTokenId', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/agentId', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/condition/properties/minTokenId', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'type': 'string', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'type': 'string', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'$ref': '#/properties/exchangeTokenAddress'}, 'minItems': 0, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}, 'collectionIndex': {'$ref': '#/properties/agentId', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/condition/properties/minTokenId', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
create_seller
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.
破壊的操作あり
入力スキーマ
{'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', '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."}, 'authTokenId': {'$ref': '#/properties/royaltyPercentage', 'description': "NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens."}, 'contractUri': {'type': 'string', 'description': 'URI for OpenSea-style storefront metadata. Can be IPFS URI or empty string.'}, 'description': {'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', 'description': 'Auth token type: 0=None, 1=Lens Protocol profile NFT.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'legalTradingName': {'type': 'string'}, 'contactPreference': {'type': 'string'}, 'royaltyPercentage': {'type': 'string', 'description': 'Default resale royalty in basis points (0â\x80\x9310000). Applied to all offers unless overridden.'}}, 'additionalProperties': False}
decide_dispute
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'buyerPercent', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'buyerPercent': {'$ref': '#/properties/exchangeId', 'description': 'Percentage of disputed funds to buyer in basis points (0â\x80\x9310000). 10000 = all to buyer, 0 = all to seller.'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
deposit_funds
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entityId', 'tokenAddress', 'amount', 'configId', 'signerAddress'], 'properties': {'amount': {'$ref': '#/properties/entityId', 'description': 'Amount in wei. For ERC-20, approve_exchange_token must be called first. Pass as string.'}, 'configId': {'type': 'string', '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."}, 'entityId': {'type': 'string', 'description': "Numeric ID of the entity to credit. Must match signerAddress's seller account."}, 'tokenAddress': {'type': 'string', 'description': 'ERC-20 token to deposit. Use address(0) for native ETH.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}}, 'additionalProperties': False}
escalate_dispute
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
expire_dispute
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
expire_dispute_batch
Marks multiple expired disputes in one transaction. All exchanges must be in 'Disputed' state past their respective timeouts. Permissionless. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeIds', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeIds': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': "Array of exchange IDs whose dispute period has passed. All must be in 'Disputed' state past their timeout."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
expire_escalated_dispute
Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
extend_dispute_timeout
Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'newDisputeTimeout', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'newDisputeTimeout': {'$ref': '#/properties/exchangeId', 'description': 'New absolute Unix timestamp in SECONDS (not ms) for the dispute deadline. Must be later than current timeout.'}}, 'additionalProperties': False}
get_all_products_with_not_voided_variants
Reads product groupings with at least one non-voided variant from the Boson subgraph. Useful for storefront displays. Supports pagination and ordering. Read-only.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, '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}
get_config_ids
Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_dispute_by_id
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['disputeId', 'configId'], 'properties': {'configId': {'type': 'string', '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."}, 'disputeId': {'type': 'string', 'description': 'Numeric ID of the dispute to retrieve. Note: disputeId equals the exchangeId of the associated exchange.'}, 'queryVars': {'description': 'Optional additional subgraph query variables for field selection. Leave empty for default fields.'}}, 'additionalProperties': False}
get_dispute_resolvers
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, '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}
get_disputes
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, '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}
get_exchanges
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangesSkip': {'type': 'number'}, 'exchangesFirst': {'type': 'number'}, 'exchangesFilter': {'type': 'object', 'additionalProperties': {}}, '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'}}, 'additionalProperties': False}
get_funds
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 }.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, '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}
get_offers
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, 'offersSkip': {'type': 'number'}, 'offersFirst': {'type': 'number'}, 'offersFilter': {'type': 'object', 'additionalProperties': {}}, 'exchangesSkip': {'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'}, 'exchangesFirst': {'type': 'number'}, 'exchangesFilter': {'type': 'object', 'additionalProperties': {}}, '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'}, 'includeExchanges': {'type': 'boolean'}, 'offersOrderDirection': {'enum': ['asc', 'desc'], 'type': 'string'}, 'exchangesOrderDirection': {'enum': ['asc', 'desc'], 'type': 'string'}}, 'additionalProperties': False}
get_registered_agents
Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}}, 'additionalProperties': False}
get_sellers
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}, '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}
get_sellers_by_address
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['address', 'configId'], 'properties': {'address': {'type': 'string'}, 'configId': {'type': 'string', '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."}, '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}
get_supported_tokens
Returns ERC-20 tokens accepted as exchange tokens on the given configId deployment. Use returned addresses in exchangeTokenAddress fields of create_offer. Read-only. Returns: array of { address, name, symbol, decimals }.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'configId': {'type': 'string', '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."}}, 'additionalProperties': False}
raise_dispute
Raises a dispute on a redeemed exchange. Caller must be the buyer. Must be called within disputePeriodDurationInMS after redemption. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
redeem_voucher
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
refuse_escalated_dispute
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
register_agent
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.
入力スキーマ
{'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', 'description': "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted."}}, 'additionalProperties': False}}, 'description': {'type': 'string'}}, 'additionalProperties': False}
render_contractual_agreement
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template', 'offerData', 'offerMetadata', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'template': {'type': 'string'}, 'offerData': {'type': 'object', 'required': ['price', 'sellerDeposit', 'agentId', 'buyerCancelPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'resolutionPeriodDurationInMS', 'exchangeToken', 'disputeResolverId', 'metadataUri', 'metadataHash', 'collectionIndex'], 'properties': {'price': {'type': 'string'}, 'agentId': {'$ref': '#/properties/offerData/properties/price'}, 'feeLimit': {'$ref': '#/properties/offerData/properties/price'}, 'priceType': {'type': 'number'}, 'metadataUri': {'type': 'string'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'$ref': '#/properties/offerData/properties/exchangeToken'}, 'minItems': 0, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string'}, 'exchangeToken': {'type': 'string', 'description': "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted."}, 'sellerDeposit': {'$ref': '#/properties/offerData/properties/price'}, 'collectionIndex': {'$ref': '#/properties/offerData/properties/price'}, 'disputeResolverId': {'$ref': '#/properties/offerData/properties/price'}, 'quantityAvailable': {'$ref': '#/properties/offerData/properties/price'}, 'validFromDateInMS': {'$ref': '#/properties/offerData/properties/price'}, 'buyerCancelPenalty': {'$ref': '#/properties/offerData/properties/price'}, 'validUntilDateInMS': {'$ref': '#/properties/offerData/properties/price'}, 'voucherValidDurationInMS': {'$ref': '#/properties/offerData/properties/price'}, 'disputePeriodDurationInMS': {'$ref': '#/properties/offerData/properties/price'}, 'resolutionPeriodDurationInMS': {'$ref': '#/properties/offerData/properties/price'}, 'voucherRedeemableFromDateInMS': {'$ref': '#/properties/offerData/properties/price'}, 'voucherRedeemableUntilDateInMS': {'$ref': '#/properties/offerData/properties/price'}}, 'additionalProperties': False}, 'offerMetadata': {'type': 'object', 'required': ['sellerContactMethod', 'disputeResolverContactMethod', 'escalationDeposit', 'escalationResponsePeriodInSec', 'sellerTradingName', 'returnPeriodInDays'], 'properties': {'escalationDeposit': {'$ref': '#/properties/offerData/properties/price'}, 'sellerTradingName': {'type': 'string'}, 'returnPeriodInDays': {'type': 'number'}, 'sellerContactMethod': {'type': 'string'}, 'disputeResolverContactMethod': {'type': 'string'}, 'escalationResponsePeriodInSec': {'$ref': '#/properties/offerData/properties/price'}}, 'additionalProperties': False}, '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.'}}, 'additionalProperties': False}
resolve_dispute
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'buyerPercentBasisPoints', 'sigR', 'sigS', 'sigV', 'configId', 'signerAddress'], 'properties': {'sigR': {'type': 'string', 'description': '32-byte R component of the ECDSA resolution signature as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.'}, 'sigS': {'type': 'string', 'description': '32-byte S component as 0x-prefixed hex. From the locally-signed EIP-712 signature parameters.'}, 'sigV': {'$ref': '#/properties/exchangeId', 'description': 'Recovery byte V: 27 or 28. From the locally-signed EIP-712 signature parameters.'}, 'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'buyerPercentBasisPoints': {'$ref': '#/properties/exchangeId', 'description': "Agreed buyer share in basis points (0â\x80\x9310000). 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)."}}, 'additionalProperties': False}
retract_dispute
Retracts a raised dispute, releasing seller deposit and restoring completion flow. Caller must be the buyer who raised it. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
revoke_voucher
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeId', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'exchangeId': {'type': 'string', 'description': 'Numeric ID of the exchange/dispute to act on. Obtain from get_exchanges or the response of commit_to_offer.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
search_products
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keywords', 'configId'], 'properties': {'configId': {'type': 'string', '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."}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'description': 'List of keywords matched against product title, description, brand, category, and tags.'}, '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'}, 'includeInvalidOffers': {'type': 'boolean', 'description': 'When true, include products whose offers are outside their validity window. Defaults to false (valid offers only).'}, 'productsOrderDirection': {'enum': ['asc', 'desc'], 'type': 'string'}}, 'additionalProperties': False}
send_forwarded_meta_transaction
Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.
破壊的操作あり
入力スキーマ
{'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', '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."}, 'signature': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]+$'}, '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.'}, 'contractAddress': {'type': 'string', 'description': "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted."}, 'domainSeparator': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$'}}, 'additionalProperties': False}
send_meta_transaction
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.
破壊的操作あり
入力スキーマ
{'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', '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."}, 'functionName': {'type': 'string', 'minLength': 1}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'functionSignature': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]+$'}}, 'additionalProperties': False}
send_native_meta_transaction
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.
破壊的操作あり
入力スキーマ
{'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', '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."}, '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.'}, 'contractAddress': {'type': 'string', 'description': "Valid Ethereum address (e.g. '0xAbCd...' or '0xabcd...'). Mixed-case addresses are checksum-validated; all-lowercase and all-uppercase addresses are also accepted."}, 'functionSignature': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]+$'}}, 'additionalProperties': False}
send_signed_transaction
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signedTransaction', 'configId'], 'properties': {'configId': {'type': 'string', '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."}, 'signedTransaction': {'type': 'string', 'description': 'RLP-encoded signed Ethereum transaction as 0x-prefixed hex string. Obtain from local wallet signing (e.g. ethers `wallet.signTransaction(tx)`).'}}, 'additionalProperties': False}
sign_full_offer
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerCreator', 'committer', 'sellerId', 'buyerId', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS', 'configId', 'signerAddress'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/collectionIndex', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'buyerId': {'$ref': '#/properties/collectionIndex', 'description': "Numeric ID of the buyer entity. Use '0' for seller-initiated offers."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/collectionIndex', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'sellerId': {'$ref': '#/properties/collectionIndex', 'description': 'Numeric ID of the seller entity. Obtain via get_sellers_by_address.'}, 'committer': {'$ref': '#/properties/offerCreator', 'description': 'Ethereum address of the buyer committing in the same transaction.'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/collectionIndex', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'$ref': '#/properties/offerCreator', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', '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, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'offerCreator': {'type': 'string', 'description': "Ethereum address of the seller creating this non-listed offer. Must match the seller's assistant address."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'sellerDeposit': {'$ref': '#/properties/collectionIndex', 'description': 'Seller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as 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.'}, 'collectionIndex': {'type': 'string', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'useDepositedFunds': {'type': 'boolean', 'description': 'If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.'}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'conditionalTokenId': {'$ref': '#/properties/collectionIndex', 'description': 'Optional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/collectionIndex', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
sign_receive_with_dai_permit
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeTokenAddress', 'value', 'tokenDomainName', 'expiry', 'configId', 'signerAddress'], 'properties': {'value': {'type': 'string', 'description': 'Amount in wei the spender is authorized to pull from the signer.'}, 'expiry': {'$ref': '#/properties/value', 'description': 'Unix timestamp in seconds after which the DAI-style permit is no longer valid.'}, 'spender': {'$ref': '#/properties/exchangeTokenAddress', 'description': 'Optional spender address. Defaults to the Boson Protocol diamond from SDK config.'}, 'configId': {'type': 'string', '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."}, '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.'}, 'tokenDomainName': {'type': 'string', 'minLength': 1, 'description': "EIP-712 domain name of the DAI-style token (e.g. 'Dai Stablecoin')."}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token contract address that supports the permit/authorization standard.'}}, 'additionalProperties': False}
sign_receive_with_erc2612_permit
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeTokenAddress', 'value', 'tokenDomainName', 'tokenDomainVersion', 'deadline', 'configId', 'signerAddress'], 'properties': {'value': {'type': 'string', 'description': 'Amount in wei the spender is authorized to pull from the signer.'}, 'spender': {'$ref': '#/properties/exchangeTokenAddress', 'description': 'Optional spender address. Defaults to the Boson Protocol diamond from SDK config.'}, 'configId': {'type': 'string', '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."}, 'deadline': {'$ref': '#/properties/value', 'description': 'Unix timestamp in seconds after which the 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.'}, 'tokenDomainName': {'type': 'string', 'minLength': 1, 'description': "EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator."}, 'tokenDomainVersion': {'type': 'string', 'minLength': 1, 'description': "EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator."}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token contract address that supports the permit/authorization standard.'}}, 'additionalProperties': False}
sign_receive_with_erc3009_authorization
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeTokenAddress', 'value', 'tokenDomainName', 'tokenDomainVersion', 'validAfter', 'validBefore', 'configId', 'signerAddress'], 'properties': {'value': {'type': 'string', 'description': 'Amount in wei the spender is authorized to pull from the signer.'}, 'spender': {'$ref': '#/properties/exchangeTokenAddress', 'description': 'Optional spender address. Defaults to the Boson Protocol diamond from SDK config.'}, 'configId': {'type': 'string', '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."}, '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.'}, '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.'}, 'tokenDomainName': {'type': 'string', 'minLength': 1, 'description': "EIP-712 domain name of the token contract (e.g. 'USD Coin'). Required for ERC-3009 / EIP-2612 domain separator."}, 'tokenDomainVersion': {'type': 'string', 'minLength': 1, 'description': "EIP-712 domain version of the token contract (e.g. '2'). Required for ERC-3009 / EIP-2612 domain separator."}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token contract address that supports the permit/authorization standard.'}}, 'additionalProperties': False}
sign_receive_with_permit2
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exchangeTokenAddress', 'value', 'deadline', 'configId', 'signerAddress'], 'properties': {'value': {'type': 'string', 'description': 'Amount in wei the spender is authorized to pull from the signer.'}, 'spender': {'$ref': '#/properties/exchangeTokenAddress', 'description': 'Optional spender address. Defaults to the Boson Protocol diamond from SDK config.'}, 'configId': {'type': 'string', '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."}, 'deadline': {'$ref': '#/properties/value', 'description': 'Unix timestamp in seconds after which the Permit2 authorization is no longer valid.'}, '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.'}, 'permit2Address': {'$ref': '#/properties/spender', 'description': 'Optional Uniswap Permit2 contract address. Defaults to contracts.permit2 from SDK config.'}, 'exchangeTokenAddress': {'type': 'string', 'description': 'ERC-20 token contract address that supports the permit/authorization standard.'}}, 'additionalProperties': False}
store_base_metadata
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.
入力スキーマ
{'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', '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."}, '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'}, 'description': {'type': 'string'}, 'externalUrl': {'type': 'string'}, 'animationUrl': {'type': 'string'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
store_bundle_item_nft_metadata
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.
入力スキーマ
{'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', '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."}, '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'}, 'description': {'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', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
store_bundle_item_product_v1_metadata
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.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schemaUrl', 'type', 'uuid', 'product', 'shipping', 'exchangePolicy', 'configId', 'signerAddress'], 'properties': {'type': {'enum': ['ITEM_PRODUCT_V1'], 'type': 'string'}, 'uuid': {'type': 'string'}, 'product': {'type': 'object', 'required': ['uuid', 'version', 'title', 'description', 'productionInformation_brandName', 'details_offerCategory', 'visuals_images'], 'properties': {'uuid': {'type': 'string'}, 'title': {'type': 'string'}, 'version': {'type': 'number'}, 'description': {'type': 'string'}, 'details_tags': {'type': 'array', 'items': {'type': 'string'}}, 'visuals_images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'visuals_videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'details_category': {'type': 'string'}, 'details_sections': {'type': 'array', 'items': {'type': 'string'}}, 'identification_sKU': {'type': 'string'}, 'details_subCategory': {'type': 'string'}, 'details_subCategory2': {'type': 'string'}, 'details_offerCategory': {'type': 'string'}, 'details_personalisation': {'type': 'array', 'items': {'type': 'string'}}, 'identification_productId': {'type': 'string'}, 'identification_productIdType': {'type': 'string'}, 'productionInformation_brandName': {'type': 'string'}, 'productionInformation_materials': {'type': 'array', 'items': {'type': 'string'}}, 'productionInformation_modelNumber': {'type': 'string'}, 'productionInformation_manufacturer': {'type': 'string'}, 'productionInformation_manufacturerPartNumber': {'type': 'string'}}, 'additionalProperties': True}, 'configId': {'type': 'string', '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."}, 'shipping': {'type': 'object', 'required': ['returnPeriod'], 'properties': {'returnPeriod': {'type': 'string'}, 'defaultVersion': {'type': 'number'}, 'countryOfOrigin': {'type': 'string'}, 'redemptionPoint': {'type': 'string'}, 'supportedJurisdictions': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'deliveryTime'], 'properties': {'label': {'type': 'string'}, 'deliveryTime': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': True}, 'schemaUrl': {'type': 'string'}, 'variations': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'option'], 'properties': {'type': {'type': 'string'}, 'option': {'type': 'string'}}, 'additionalProperties': True}}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'exchangePolicy': {'type': 'object', 'required': ['uuid', 'version', 'template', 'sellerContactMethod', 'disputeResolverContactMethod'], 'properties': {'uuid': {'type': 'string'}, 'label': {'type': 'string'}, 'version': {'type': 'number'}, 'template': {'type': 'string'}, 'sellerContactMethod': {'type': 'string'}, 'disputeResolverContactMethod': {'type': 'string'}}, 'additionalProperties': True}, 'productOverrides': {'type': 'object', 'properties': {'title': {'type': 'string'}, 'description': {'type': 'string'}, 'visuals_images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'visuals_videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'identification_sKU': {'type': 'string'}, 'identification_productId': {'type': 'string'}, 'identification_productIdType': {'type': 'string'}, 'productionInformation_brandName': {'type': 'string'}, 'productionInformation_materials': {'type': 'array', 'items': {'type': 'string'}}, 'productionInformation_modelNumber': {'type': 'string'}, 'productionInformation_manufacturer': {'type': 'string'}, 'productionInformation_manufacturerPartNumber': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
store_bundle_metadata
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 }.
入力スキーマ
{'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'}, 'description': {'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', '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."}, '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'}, 'description': {'type': 'string'}, 'externalUrl': {'type': 'string'}, 'animationUrl': {'type': 'string'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
store_product_v1_metadata
Stores a ProductV1 metadata object to IPFS. Call before create_offer to get metadataUri and metadataHash. Returns: { metadataUri: 'ipfs://...', metadataHash: '0x...' }.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schemaUrl', 'type', 'uuid', 'name', 'description', 'externalUrl', 'licenseUrl', 'image', 'attributes', 'product', 'seller', 'shipping', 'exchangePolicy', 'configId', 'signerAddress'], 'properties': {'name': {'type': 'string'}, 'type': {'enum': ['PRODUCT_V1'], 'type': 'string'}, 'uuid': {'type': 'string'}, 'image': {'type': 'string'}, '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'}, 'description': {'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}, 'product': {'type': 'object', 'required': ['uuid', 'version', 'title', 'description', 'productionInformation_brandName', 'details_offerCategory', 'visuals_images'], 'properties': {'uuid': {'type': 'string'}, 'title': {'type': 'string'}, 'version': {'type': 'number'}, 'description': {'type': 'string'}, 'details_tags': {'type': 'array', 'items': {'type': 'string'}}, 'visuals_images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'visuals_videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'details_category': {'type': 'string'}, 'details_sections': {'type': 'array', 'items': {'type': 'string'}}, 'identification_sKU': {'type': 'string'}, 'details_subCategory': {'type': 'string'}, 'details_subCategory2': {'type': 'string'}, 'details_offerCategory': {'type': 'string'}, 'details_personalisation': {'type': 'array', 'items': {'type': 'string'}}, 'identification_productId': {'type': 'string'}, 'identification_productIdType': {'type': 'string'}, 'productionInformation_brandName': {'type': 'string'}, 'productionInformation_materials': {'type': 'array', 'items': {'type': 'string'}}, 'productionInformation_modelNumber': {'type': 'string'}, 'productionInformation_manufacturer': {'type': 'string'}, 'productionInformation_manufacturerPartNumber': {'type': 'string'}}, 'additionalProperties': True}, 'configId': {'type': 'string', '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."}, 'shipping': {'type': 'object', 'required': ['returnPeriod'], 'properties': {'returnPeriod': {'type': 'string'}, 'defaultVersion': {'type': 'number'}, 'countryOfOrigin': {'type': 'string'}, 'redemptionPoint': {'type': 'string'}, 'supportedJurisdictions': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'deliveryTime'], 'properties': {'label': {'type': 'string'}, 'deliveryTime': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': True}, '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'}, 'variations': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'option'], 'properties': {'type': {'type': 'string'}, 'option': {'type': 'string'}}, 'additionalProperties': True}}, 'youtubeUrl': {'type': 'string'}, 'description': {'type': 'string'}, 'externalUrl': {'type': 'string'}, 'animationUrl': {'type': 'string'}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'exchangePolicy': {'type': 'object', 'required': ['uuid', 'version', 'template', 'sellerContactMethod', 'disputeResolverContactMethod'], 'properties': {'uuid': {'type': 'string'}, 'label': {'type': 'string'}, 'version': {'type': 'number'}, 'template': {'type': 'string'}, 'sellerContactMethod': {'type': 'string'}, 'disputeResolverContactMethod': {'type': 'string'}}, 'additionalProperties': True}, 'productOverrides': {'type': 'object', 'properties': {'title': {'type': 'string'}, 'description': {'type': 'string'}, 'visuals_images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'visuals_videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string'}, 'url': {'type': 'string'}}, 'additionalProperties': True}}, 'identification_sKU': {'type': 'string'}, 'identification_productId': {'type': 'string'}, 'identification_productIdType': {'type': 'string'}, 'productionInformation_brandName': {'type': 'string'}, 'productionInformation_materials': {'type': 'array', 'items': {'type': 'string'}}, 'productionInformation_modelNumber': {'type': 'string'}, 'productionInformation_manufacturer': {'type': 'string'}, 'productionInformation_manufacturerPartNumber': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
update_seller
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'kind', 'contactPreference', 'authTokenId', 'authTokenType', 'id', 'configId', 'signerAddress'], 'properties': {'id': {'$ref': '#/properties/authTokenId', 'description': 'Numeric ID of the existing seller entity to update. Obtain from get_sellers_by_address.'}, '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', '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."}, 'authTokenId': {'type': 'string', 'description': "NFT token ID used as auth token (e.g. Lens profile ID). Pass '0' if not using auth tokens."}, 'description': {'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', 'description': 'Auth token type: 0=None, 1=Lens Protocol profile NFT.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}, 'legalTradingName': {'type': 'string'}, 'contactPreference': {'type': 'string'}}, 'additionalProperties': False}
validate_metadata
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.
読み取り専用
入力スキーマ
{'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}
void_non_listed_offer
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sellerId', 'buyerId', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS', 'configId', 'signerAddress'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/condition/properties/minTokenId', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'buyerId': {'$ref': '#/properties/condition/properties/minTokenId', 'description': "Numeric ID of the buyer entity. Use '0' for seller-initiated offers."}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'configId': {'type': 'string', '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."}, 'feeLimit': {'$ref': '#/properties/agentId', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'sellerId': {'$ref': '#/properties/condition/properties/minTokenId', 'description': 'Numeric ID of the seller entity. Obtain via get_sellers_by_address.'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/condition/properties/minTokenId', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'type': 'string', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'type': 'string', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'$ref': '#/properties/exchangeTokenAddress'}, 'minItems': 0, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}, 'collectionIndex': {'$ref': '#/properties/agentId', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'useDepositedFunds': {'type': 'boolean', 'description': 'If true, use funds already deposited in the protocol treasury instead of transferring from the wallet.'}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, 'buyerCancellationPenalty': {'$ref': '#/properties/condition/properties/minTokenId', 'description': 'Amount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}
void_non_listed_offer_batch
Voids multiple private offers atomically. Same prerequisite as void_non_listed_offer, but for an array of full offer objects. Returns unsigned transaction data.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fullOffers', 'configId', 'signerAddress'], 'properties': {'configId': {'type': 'string', '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."}, 'fullOffers': {'type': 'array', 'items': {'type': 'object', 'required': ['sellerId', 'buyerId', 'metadataUri', 'metadataHash', 'price', 'sellerDeposit', 'buyerCancellationPenalty', 'quantityAvailable', 'validFromDateInMS', 'validUntilDateInMS', 'voucherRedeemableFromDateInMS', 'voucherRedeemableUntilDateInMS', 'disputePeriodDurationInMS', 'voucherValidDurationInMS', 'resolutionPeriodDurationInMS'], 'properties': {'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."}, 'agentId': {'$ref': '#/properties/fullOffers/items/properties/sellerId', 'description': "Optional dACP agent facilitating this offer. Omit or pass '0' if no agent."}, 'buyerId': {'$ref': '#/properties/fullOffers/items/properties/sellerId'}, 'creator': {'enum': ['SELLER', 'BUYER'], 'type': 'string', 'description': "'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1."}, 'feeLimit': {'$ref': '#/properties/fullOffers/items/properties/sellerId', 'description': 'Max protocol fee the seller accepts in same token unit. Pass as string.'}, 'sellerId': {'$ref': '#/properties/fullOffers/items/properties/condition/properties/minTokenId'}, 'condition': {'type': 'object', 'required': ['method', 'tokenType', 'tokenAddress', 'gatingType', 'minTokenId', 'maxTokenId', 'threshold', 'maxCommits'], 'properties': {'method': {'type': 'number', 'description': 'Gating method: 0=None, 1=Threshold (hold >= threshold tokens), 2=SpecificToken (hold specific token ID).'}, 'threshold': {'$ref': '#/properties/fullOffers/items/properties/condition/properties/minTokenId', 'description': 'Minimum token balance required. Pass as string.'}, 'tokenType': {'type': 'number', 'description': 'Token standard: 0=ERC-20, 1=ERC-721, 2=ERC-1155.'}, 'gatingType': {'type': 'number', 'description': '0=PerAddress (each address commits once), 1=PerTokenId (each token ID can be used once).'}, '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.'}, 'minTokenId': {'type': 'string', 'description': 'Min token ID (inclusive) for ERC-721/1155 criteria. Pass as string.'}, 'tokenAddress': {'type': 'string', 'description': 'Address of the gate token contract buyers must hold.'}}, 'additionalProperties': False}, 'priceType': {'type': 'number', 'description': '0 = static price, 1 = discovery price (auction).'}, 'metadataUri': {'type': 'string', 'description': 'IPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.'}, 'royaltyInfo': {'type': 'object', 'required': ['recipients', 'bps'], 'properties': {'bps': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 0, 'description': 'Royalty amounts per recipient in basis points (1 bp = 0.01%). Parallel to recipients. Total must not exceed 10000.'}, 'recipients': {'type': 'array', 'items': {'$ref': '#/properties/fullOffers/items/properties/exchangeTokenAddress'}, 'minItems': 0, 'description': 'Array of addresses receiving resale royalties.'}}, 'additionalProperties': False}, 'metadataHash': {'type': 'string', 'description': 'Keccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.'}, '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.'}, 'collectionIndex': {'$ref': '#/properties/fullOffers/items/properties/sellerId', 'description': "Index of the seller's NFT collection for vouchers. Omit to use default (index 0)."}, 'disputeResolverId': {'type': 'string', 'description': 'ID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.'}, 'quantityAvailable': {'type': 'number', 'description': "How many times this offer can be committed to. Must be 1 when creator='BUYER'.", 'exclusiveMinimum': 0}, 'useDepositedFunds': {'type': 'boolean'}, 'validFromDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.'}, 'validUntilDateInMS': {'type': 'number', 'description': 'Unix timestamp in milliseconds when the offer can no longer be committed to.'}, '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.'}, '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.'}, 'voucherValidDurationInMS': {'type': 'number', 'description': 'Voucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.'}, 'disputePeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.'}, 'resolutionPeriodDurationInMS': {'type': 'number', 'description': 'Duration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.'}, 'voucherRedeemableFromDateInMS': {'type': 'number', 'description': 'Timestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.'}, 'voucherRedeemableUntilDateInMS': {'type': 'number', 'description': 'Timestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.'}}, 'additionalProperties': False}, 'minItems': 1}, '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.'}}, 'additionalProperties': False}
void_offer
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offerId', 'configId', 'signerAddress'], 'properties': {'offerId': {'type': 'string', 'description': 'ID of the listed offer to void. Caller must be the seller assistant. Existing exchanges are unaffected.'}, 'configId': {'type': 'string', '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."}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, 'signerAddress': {'type': 'string', 'description': 'Ethereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.'}}, 'additionalProperties': False}
withdraw_funds
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.
破壊的操作あり
入力スキーマ
{'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', 'description': "Amount in token's smallest unit (wei). Use '0' to withdraw full available balance. Pass as string."}, 'tokenAddress': {'type': 'string', 'description': 'ERC-20 token address to withdraw. Use address(0) for native ETH.'}}, 'additionalProperties': False}, 'minItems': 1}, 'configId': {'type': 'string', '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."}, 'entityId': {'type': 'string', 'description': 'Numeric ID of the seller or buyer entity withdrawing funds.'}, 'executionMode': {'enum': ['direct', 'metaTx'], 'type': 'string', 'description': "'direct' = standard on-chain tx (sign locally with your wallet â\x86\x92 send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'."}, '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.'}}, 'additionalProperties': False}
追加
get_supported_tokens
2026年9月17日12:40
追加
get_registered_agents
2026年9月17日12:40
追加
register_agent
2026年9月17日12:40
追加
store_bundle_item_nft_metadata
2026年9月17日12:40
追加
store_bundle_item_product_v1_metadata
2026年9月17日12:40
追加
render_contractual_agreement
2026年9月17日12:40
追加
store_base_metadata
2026年9月17日12:40
追加
store_bundle_metadata
2026年9月17日12:40
追加
store_product_v1_metadata
2026年9月17日12:40
追加
validate_metadata
2026年9月17日12:40
追加
search_products
2026年9月17日12:40
追加
get_all_products_with_not_voided_variants
2026年9月17日12:40
追加
get_sellers_by_address
2026年9月17日12:40
追加
complete_exchange
2026年9月17日12:40
追加
redeem_voucher
2026年9月17日12:40
追加
cancel_voucher
2026年9月17日12:40
追加
commit_to_buyer_offer
2026年9月17日12:40
追加
commit_to_conditional_offer_and_redeem_voucher
2026年9月17日12:40
追加
commit_to_offer_and_redeem_voucher
2026年9月17日12:40
追加
commit_to_conditional_offer
2026年9月17日12:40
追加
commit_to_offer
2026年9月17日12:40
追加
sign_receive_with_dai_permit
2026年9月17日12:40
追加
sign_receive_with_permit2
2026年9月17日12:40
追加
sign_receive_with_erc2612_permit
2026年9月17日12:40
追加
sign_receive_with_erc3009_authorization
2026年9月17日12:40
追加
approve_exchange_token
2026年9月17日12:40
追加
revoke_voucher
2026年9月17日12:40
追加
create_dispute_resolution_proposal
2026年9月17日12:40
追加
expire_escalated_dispute
2026年9月17日12:40
追加
refuse_escalated_dispute
2026年9月17日12:40