PoE Integration Overview
The universal Proof-of-Existence whitelist can be integrated permissionlessly into any smart contract.
Developers can "authenticate" contract calls by requiring the addresses executing those calls to hold the ERC20 POE token.
The base integration of "only authenticated users can call this function" can be achieved by pasting the following requirement statement into the desired write function:
The 'require' syntax asserts that a logic statement resolves true in order for a contract call to execute. This line requires that the address calling the contract <msg.sender> holds exactly 1 POE.
POE balance of an address is binary, they can only ever be 1 (authenticated) or 0 (non-authenticated).
NOTE: For cleaner code, initialize the POE token address as a global variable and reference that variable in the 'require' statement in place of the address itself.
Building Authenticated Logic
With a POE balance requirement in place, developers can easily add gamification to their contracts and platform mechanics.
Some of the (otherwise not possible) gamification/logic improvements could include...
Token Sale/NFT Mint
Individual "cap" on mints or size of purchase
Anti-Whale price curve: each additional purchase is more expensive than the last
One-claim-per-person with a free or fixed rate
Pre-sale phase where authenticated users get a grace period to interact without competing for gas
Token Contracts
Max/Minimum allowed balance per user (ie: NFT that is limited to one-per-person)
"Bot-Free" Trading
DeFi Games
Capped or anti-whale yield farming/liquidity providing
Modified weight-based pools (minimum and maximum weight)
Governance
Democratic voting (one-vote-per-person)
Logarithmic voting (unlike quadratic, token-based weight is not linear. Min/max voting weights based on token ownership + POE)
Contract List
Network
Proof-of-Existence Token Contract
Polygon (new)
Polygon (old)
Last updated