TINCTA / REWARD GUIDE
Verify the contract
Check the network, addresses, state and transaction intent.
On this page
The contract is the source#
The website checks the configured network and deployed code before loading collection data. The current launch uses one contract for Genesis, paid collections and holder pools; earlier deployments use separate contracts whose bindings are also checked. Displayed state comes from one block. Failed or stale reads disable signing, and unavailable balances are not shown as zero.
Before signing, the app checks the deployment and selected collection through your wallet’s provider, then simulates the transaction. Review the destination, function, amount, network and account in your wallet. A confirmed receipt establishes execution; a website message alone does not.
- Read one verified block
Check the network, deployed code and collection identity using the checks for that deployment.
- Review and recheck
Show exact transaction details, refresh wallet-dependent eligibility and simulate through the wallet provider.
- Sign, submit, confirm
Your wallet approves the transaction. Its confirmed receipt establishes execution.
A failed or stale read disables signing. The contract remains authoritative if ownership, remaining slots or other state changes before execution.
Useful contract reads#
On the current single-contract deployment, read catalogCount and prepared for catalog progress; collection(id) for a collection’s identity; round(id) for its schedule, mints and draw state; and terms(id), winningOption(id) and mintDeadline(id) for its selected terms. Collection 0 is Genesis. optionCount and option(index) expose the immutable ballot menu; option indexes start at zero.
The app displays an NFT’s number within its collection. For ERC-721 calls, use tokenId(collectionId, serial) to obtain its global token ID, or tokenLocation(token) to decode one. Read combination(token) and tokenURI(token) for permanent paid-NFT identity; tokenForCombination(collectionId, numbers) reverses the encoding. score(token) requires a finalized draw. round(id) includes the winning NFT numbers and draw timestamps; awardRank(token) and awardBeneficiary(token) show prize status. refundsAvailable(id) reports whether refunds are open.
Read seasons(seasonId) for the season pool’s funded amount, eligible NFT count and claims. holderSummary(seasonId) returns its unlock state, claim limit and reward per NFT. holderClaimed(token) and ownerOf(token) help check an individual claim. Ownership alone does not reserve a slot.
Earlier deployments expose different functions across their controller, voting, collection and holder-pool contracts. Use the ABI and verified source for that exact deployment; do not apply the single-contract function names or token IDs to historical NFTs.
Verification boundaries#
Source publication or a passing test suite is not an independent security audit. A configured site does not guarantee Chainlink availability. X is an independent event observer and can be delayed without affecting the protocol. Deployed contracts can also be read and called on their verified explorer pages.
Permanent numbers identify the NFT#
- Start with the collection’s NFT number − 1
Subtract one from the NFT’s number within its collection to get a distinct zero-based index.
- Apply a reversible encoding
Four Feistel rounds and the public collection key permute the 16-bit index into a unique code.
- Display four numbers
Split the code into four base-16 digits and add one to each. The numbers and artwork stay fixed after the draw.
The public key provides uniqueness, not secrecy or randomness. Buyers supply no numbers or seed. Read the finalized contract state for scores and winners.
16⁴ = 65,536
code = (A − 1) × 16³ + (B − 1) × 16² + (C − 1) × 16 + (D − 1)
- A, B, C, D
- The four permanent numbers, each from 1 to 16.
- code
- A value from 0 to 65,535. Decoding it with the collection key and adding one recovers the NFT’s number within that collection.
Only minted, unburned tokens are valid NFTs. A larger number or code does not improve the chance of winning.
Check the selected collection’s terms and network before you sign.