DEV · OWNER-SIGNED · NO KEY CUSTODY · DO NOT DISABLE VALIDATOR UNLESS LAST RESORT
DEV · Whitelist stake as operator
Crypto Brokers NFT uses Limit Break / OpenSea Creator Token Transfer Validator at security level 3 (operator whitelist). V1 stake pulls fail with 0x1de5204e. Prefer push-stake v2; this page documents the whitelist path for v1 (or any operator).
NFT0x9F7A3ADbF611cBeeC95Ce40e0259bbF96b8Df041
Transfer validator0xa000027a9b2802e1ddf7000061001e5c005a0000
Security level (live)
3 · whitelist · OTC allowed · contract receivers allowed · list id 0 (empty)
Stake v1 (blocked pull)0xd97fd168e71a89b39448861602facf3f5ae631bb
Owner must sign0xdfF1a5dc565a2D8d0C2818f8B190ca8399B869b3
Exact MetaMask steps (call validator)
- createList on validator
0xa000…0000
Selector0xb8dcc68f·createList(string name)
Arg: e.g."CryptoBrokersStake"
Returnsuint120 listId(read from receipt / nextlastListId()). Or use FreeNFT UI /createListCopyfrom an existing OpenSea list. - addAccountsToWhitelist on validator
Selector0xa1cc5cc1·addAccountsToWhitelist(uint120 id, address[] accounts)
Args:listId, array containing stake address (v10xd97f…31bbor your new stakeV2 if you also want contract-operator paths). - applyListToCollection on validator
Selector0xbf7bfd7e·applyListToCollection(address collection, uint120 id)
Args: collection0x9F7A…Df041, yourlistId. - Test: holder
approve(stake, tokenId)then v1stake(tokenId, tier)— must not revert0x1de5204e.
Do not call setTransferValidator(address(0)) or drop to level 1 unless as a documented last resort — that weakens royalty / operator enforcement for the whole collection.
Optional last-resort only: setTransferSecurityLevelOfCollection(collection, 1, false, false, false) selector 0x317e3e8d (level 1 = no list). Prefer whitelist or push-stake v2 instead.
Owner-signed only. Buttons send calldata to the transfer validator — review every MetaMask prompt.
No key custody. No unsupervised txs. FreeNFT UI: developers.freenft.com.