Skip to content
REWARDS
ParticipateRewardsAffiliatesHoldersNFTsLeaderboardYour walletDocumentation
Documentation 01 / TINCTA

Start here

How rewards workTincta GenesisMint your first NFT

The protocol

Season holder rewardsOnchain seasons and votingSeasons and collections

Participate

Claim your prizeAffiliate rewardsClaim a refund

Reference

Verify the contract
Back to participate

DOCUMENTATION

Opening your guide.

Loading the page…

Rewards governed by smart contracts.

ExploreTinctaOur researchUpcoming projectsTincta RewardsWhitepaper
RewardsParticipatePrizes & refundsAffiliatesHolder rewardsYour wallet
LearnHow it worksSimulationDocumentationNFT collectionsLeaderboardFAQ
ConnectJoin the launch listSupportContactComing soonTelegramComing soonX
© 2026 Tincta
Documentation/Reference

TINCTA / REWARD GUIDE

Verify the contract

Check the network, addresses, state and transaction intent.

6 min readProtocol guide
On this page
The contract is the sourceUseful contract readsVerification boundariesPermanent numbers identify the NFT

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.

From verified state to a confirmed action
  1. 01
    Read one verified block

    Check the network, deployed code and collection identity using the checks for that deployment.

  2. 02
    Review and recheck

    Show exact transaction details, refresh wallet-dependent eligibility and simulate through the wallet provider.

  3. 03
    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#

Ticket identity is separate from the draw
  1. 01
    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.

  2. 02
    Apply a reversible encoding

    Four Feistel rounds and the public collection key permute the 16-bit index into a unique code.

  3. 03
    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.

Four numbers, 65,536 possible identities

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.

PreviousClaim a refund

Check the selected collection’s terms and network before you sign.

On this page

The contract is the sourceUseful contract readsVerification boundariesPermanent numbers identify the NFT
Back to top