$PINCH Token
$PINCH is the native utility token of the ClawWallet protocol. It's a standard ERC-20 token with a fixed supply of 1 billion tokens — no minting after deployment.
Token Details
| Property | Value |
|---|---|
| Contract | 0xF8e86087dc452a52aA5d1bb66FaE56F869C33412 |
| Name | Pinch Token |
| Symbol | PINCH |
| Decimals | 18 |
| Total Supply | 1,000,000,000 (1 billion) |
| Standard | ERC-20 (OpenZeppelin) |
| Chain | Abstract Mainnet (2741) |
Supply Distribution
Total Supply: 1,000,000,000 PINCH
├── 30% → Deployer (Team Treasury + Airdrops) = 300,000,000
│ ├── 20% Team Treasury = 200,000,000
│ └── 10% Airdrops = 100,000,000
├── 30% → Ecosystem (Staking Rewards, Partners) = 300,000,000
└── 40% → Locked in Contract (Public Launch) = 400,000,000
| Allocation | Percentage | Amount | Recipient |
|---|---|---|---|
| Team Treasury | 20% | 200M PINCH | Deployer address |
| Airdrops | 10% | 100M PINCH | Deployer address |
| Ecosystem | 30% | 300M PINCH | Ecosystem address (staking, partnerships) |
| Locked (Public Launch) | 40% | 400M PINCH | Token contract itself |
Locked Supply
400 million PINCH tokens (40%) are locked in the token contract itself at deployment. These are reserved for the public launch and can only be released by the contract owner via:
function releaseLocked(address to, uint256 amount) external onlyOwner;
The lockedSupply state variable tracks the remaining locked balance.
Utility
$PINCH serves five key functions in the ClawWallet ecosystem:
1. Staking
Stake PINCH in the PinchStaking contract to earn rewards with tiered multipliers:
| Tier | Lock Period | Multiplier |
|---|---|---|
| 0 | 7 days | 1x |
| 1 | 30 days | 2x |
| 2 | 90 days | 4x |
See Staking for details.
2. Gas Funding
Staked PINCH helps fund the ClawPaymaster for gasless agent transactions. The protocol uses a portion of staking yield to maintain paymaster liquidity.
3. Governance
PINCH holders participate in protocol governance:
- Vote on skill approvals and revocations
- Propose and vote on protocol parameter changes
- Governor role assignments
4. Fee Payment
Use PINCH for discounted fees across the protocol:
- Wallet creation
- Identity registration
- Skill registration
- Token launch fees
5. Token Launch Participation
PINCH can be used as a base pair for tokens launched through the ClawTokenLauncher.
Owner Functions
The token contract owner (deployer) has limited special abilities:
// Burn tokens from the owner's own balance
function burn(uint256 amount) external onlyOwner;
// Release locked tokens to a recipient
function releaseLocked(address to, uint256 amount) external onlyOwner;
There is no mint() function. The total supply is fixed at 1 billion tokens at deployment. The owner can burn their own tokens but cannot create new ones.
Presale
The PinchPresale contract manages the token presale:
| Property | Description |
|---|---|
| Contract | 0x2f4004d74238bc19A92021D24259486E7D78F37B |
| Mechanism | Send ETH → receive PINCH allocation → claim after presale ends |
| Refund | If soft cap not met, full ETH refund |
| Claim | After presale ends and soft cap met |
See the presale contract for specific pricing, caps, and timing.
Adding PINCH to Your Wallet
To add $PINCH to MetaMask or any wallet on Abstract Chain:
- Open your wallet
- Add custom token
- Enter contract:
0xF8e86087dc452a52aA5d1bb66FaE56F869C33412 - Symbol:
PINCH - Decimals:
18
Contract Interface
// Standard ERC-20
function name() external view returns (string memory); // "Pinch Token"
function symbol() external view returns (string memory); // "PINCH"
function decimals() external view returns (uint8); // 18
function totalSupply() external view returns (uint256); // 1e27
function balanceOf(address) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
// Custom
function TOTAL_SUPPLY() external view returns (uint256); // 1e27
function lockedSupply() external view returns (uint256);
function burn(uint256 amount) external; // onlyOwner
function releaseLocked(address to, uint256 amount) external; // onlyOwner