Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
sign_full_offer · Boson Protocol
Skip to content

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.

Category: Offer management. Returns unsigned tx? No — read-only or returns signed payload.

Input schema

FieldTypeRequiredDescription
offerCreatorstringyesEthereum address of the seller creating this non-listed offer. Must match the seller's assistant address.
committeryesEthereum address of the buyer committing in the same transaction.
collectionIndexstringnoIndex of the seller's NFT collection for vouchers. Omit to use default (index 0).
royaltyInfoobjectno
drMutualizerAddressnoOptional dispute resolver mutualizer contract address that pools resolution funds.
conditionalTokenIdnoOptional token ID of the NFT gate token used by this specific commit (for SpecificToken gating type).
conditionobjectno
useDepositedFundsbooleannoIf true, use funds already deposited in the protocol treasury instead of transferring from the wallet.
sellerIdyesNumeric ID of the seller entity. Obtain via get_sellers_by_address.
buyerIdyesNumeric ID of the buyer entity. Use '0' for seller-initiated offers.
executionModedirect | metaTxno'direct' = standard on-chain tx (sign locally with your wallet → send_signed_transaction). 'metaTx' = gasless relay via Biconomy (send_meta_transaction). Defaults to 'direct'.
metadataUristringyesIPFS URI pointing to the offer metadata JSON. Obtain by calling store_product_v1_metadata, store_bundle_metadata, or store_base_metadata.
metadataHashstringyesKeccak256 hash of the metadata JSON. Returned alongside metadataUri from the store_*_metadata tools.
exchangeTokenAddressnoERC-20 token accepted for payment. Omit or use address(0) for native ETH. Call get_supported_tokens for valid values.
priceyesOffer price in the exchange token's smallest unit (wei). Pass as string to avoid precision loss, e.g. '1000000000000000000' = 1 ETH.
sellerDeposityesSeller collateral in same unit as price. Released to seller on completion or forfeited on dispute. Pass as string.
agentIdnoOptional dACP agent facilitating this offer. Omit or pass '0' if no agent.
buyerCancellationPenaltyyesAmount buyer forfeits on cancel, in same unit as price. Must be <= price. Pass as string.
quantityAvailablenumberyesHow many times this offer can be committed to. Must be 1 when creator='BUYER'.
validFromDateInMSnumberyesUnix timestamp in milliseconds when the offer becomes active. Example: Date.now() for immediate.
validUntilDateInMSnumberyesUnix timestamp in milliseconds when the offer can no longer be committed to.
voucherRedeemableFromDateInMSnumberyesTimestamp in ms from which buyer can redeem. Must be >= validFromDateInMS.
voucherRedeemableUntilDateInMSnumberyesTimestamp in ms after which voucher cannot be redeemed. Set to 0 to use voucherValidDurationInMS instead.
disputePeriodDurationInMSnumberyesDuration in ms for buyer to raise a dispute after redeeming. Example: 604800000 = 7 days.
voucherValidDurationInMSnumberyesVoucher is redeemable for this many ms after commit. Set to 0 to use voucherRedeemableUntilDateInMS instead.
resolutionPeriodDurationInMSnumberyesDuration in ms to respond to a resolution proposal before it expires. Example: 259200000 = 3 days.
disputeResolverIdstringnoID of the dispute resolver for escalated disputes. Call get_dispute_resolvers to list available resolvers.
feeLimitnoMax protocol fee the seller accepts in same token unit. Pass as string.
priceTypenumberno0 = static price, 1 = discovery price (auction).
creatorSELLER | BUYERno'SELLER' (default) = seller creates offer. 'BUYER' = buyer-initiated offer, quantity must be 1.
configIdstringyesBoson/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.
signerAddressyesEthereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.

Related