Smart contracts for the PRESENZ platform - a decentralized, privacy-first, real-time presence mapping platform that visualizes global human activity without exposing personal identity.
PRESENZ is built on the principle of presence without identity. The PSZ token powers this ecosystem by incentivizing meaningful contribution, enabling visibility-based utilities, and supporting a sustainable economic flywheel.
| Attribute | Value |
|---|---|
| Token Name | PRESENZ |
| Token Symbol | PSZ |
| Total Supply | 1,000,000,000 (1 Billion) |
| Decimals | 18 |
| Blockchain | Base (Ethereum L2) |
| Supply Model | Fixed Cap + Deflationary Burns |
| Contract | Address | Explorer |
|---|---|---|
| PresenzToken | 0xf28e5b3656564949a4F085f64b94Ab0B184C6d87 |
View on Basescan |
| VestingContract | 0xC638A478010287a60E18f2B9b9961FC3db04142C |
View on Basescan |
| MiningRewards | 0xb7b1d45D337e6cCA2027a68185aE2F7979f5a2FA |
View on Basescan |
π Note: Mainnet deployment addresses will be added here after production launch.
| Contract | Description |
|---|---|
| PresenzToken.sol | ERC20 token with minting, burning, and role-based access control |
| MiningRewards.sol | Community mining rewards distribution (400M tokens over 7 years) |
| VestingContract.sol | Token vesting for Team, Investors, and Advisors |
| TokenAllocation.sol | Manages Business Dev, Liquidity, and Marketing allocations |
| Allocation | Percentage | Tokens | Contract |
|---|---|---|---|
| Community Mining Rewards | 40% | 400,000,000 | MiningRewards.sol |
| Team & Founders | 15% | 150,000,000 | VestingContract.sol |
| Treasury/DAO | 15% | 150,000,000 | Treasury Wallet |
| Investors (Seed/Private) | 12% | 120,000,000 | VestingContract.sol |
| Business Development | 8% | 80,000,000 | TokenAllocation.sol |
| Liquidity & Exchanges | 5% | 50,000,000 | TokenAllocation.sol |
| Advisors | 3% | 30,000,000 | VestingContract.sol |
| Marketing & Partnerships | 2% | 20,000,000 | TokenAllocation.sol |
The mining rewards follow the whitepaper specifications:
| Parameter | Value |
|---|---|
| Photo Post Reward | 2 PSZ |
| Video Post Reward | 2 PSZ |
| Venue Check-in Reward | 5 PSZ |
| Daily Cap per User | 10 PSZ |
| Max Posts per Day | 5 posts |
Reward Formula: Rd = min(Nd Γ Rp, Cd) where:
Rp= 2 PSZ (reward per post)Cd= 10 PSZ (daily cap)Ndβ€ 5 (max posts per day)
| Category | Cliff | Vesting Duration |
|---|---|---|
| Team & Founders | 1 year | 3 years linear |
| Investors | 6 months | 18 months linear |
| Advisors | 6 months | 2 years linear |
| Year | Tokens Released | % of Mining Pool |
|---|---|---|
| Year 1 | 100,000,000 | 25% |
| Year 2 | 80,000,000 | 20% |
| Year 3 | 60,000,000 | 15% |
| Year 4 | 48,000,000 | 12% |
| Year 5 | 40,000,000 | 10% |
| Year 6 | 36,000,000 | 9% |
| Year 7 | 36,000,000 | 9% |
# Clone the repository
git clone https://github.com/presenz/presenz-contracts.git
cd presenz-contracts
# Install dependencies
forge installforge build# Run all tests
forge test
# Run with verbosity
forge test -vvv
# Run specific test file
forge test --match-path test/MiningRewards.t.sol
# Run with gas report
forge test --gas-reportforge coverageforge fmt# Use the automated deployment script
chmod +x deploy.sh
./deploy.sh# Setup
cp .env.example .env
nano .env # Configure your settings
# Deploy to Base Sepolia (testnet)
forge script script/DeployPresenzToken.s.sol:DeployPresenzToken \
--rpc-url base_sepolia \
--broadcast \
--verify \
-vvvv
# Deploy to Base Mainnet (production)
forge script script/DeployPresenzToken.s.sol:DeployPresenzToken \
--rpc-url base_mainnet \
--broadcast \
--verify \
-vvvvπ For complete deployment guide, see DEPLOYMENTS.md
- DEPLOYMENTS.md - Complete deployment guide, addresses, and commands
- PRESENZ_TOKENOMICS.md - Token economics and distribution
- deploy.sh - Interactive deployment script
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PRESENZ TOKEN ECONOMY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ βββββββββββββββββββ β
β β PresenzToken β β MiningRewards β β
β β (ERC20) βββββββββββ (400M Pool) β β
β β β β β β
β β β’ Mint/Burn β β β’ 7-yr emissionβ β
β β β’ Pausable β β β’ Daily caps β β
β β β’ AccessControlβ β β’ Post limits β β
β ββββββββββ¬βββββββββ βββββββββββββββββββ β
β β β
β ββββββββββ΄βββββββββ βββββββββββββββββββ β
β β β β β β
β βΌ βΌ βΌ β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β β Vesting β β Token β β Treasury β β β
β β Contract β β Allocation β β (Wallet) β β β
β β β β β β β β β
β β β’ Team 15% β β β’ BizDev 8% β β β’ DAO 15% β β β
β β β’ Invest 12%β β β’ Liquid 5% β β β β β
β β β’ Advisor 3%β β β’ Mktg 2% β β β β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Smart contracts follow OpenZeppelin best practices
- Role-based access control for sensitive operations
- Reentrancy guards on all token transfer functions
- Pausable functionality for emergency situations
- All contracts are designed to be audited before mainnet deployment
MIT License - see LICENSE for details.
Disclaimer: This document is for informational purposes only. The PSZ token is a utility token designed for the PRESENZ ecosystem and does not represent equity, ownership, or investment interest.