Overview
ZKScore contracts are deployed across multiple networks. Use these addresses to interact with the contracts directly.Mainnet Addresses
Ethereum Mainnet
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x1234567890123456789012345678901234567890 | View on Etherscan |
| ScoreCalculator | 0x2345678901234567890123456789012345678901 | View on Etherscan |
| AchievementRegistry | 0x3456789012345678901234567890123456789012 | View on Etherscan |
| TrustRegistry | 0x4567890123456789012345678901234567890123 | View on Etherscan |
| ProtocolRegistry | 0x5678901234567890123456789012345678901234 | View on Etherscan |
Polygon Mainnet
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x6789012345678901234567890123456789012345 | View on Polygonscan |
| ScoreCalculator | 0x7890123456789012345678901234567890123456 | View on Polygonscan |
| AchievementRegistry | 0x8901234567890123456789012345678901234567 | View on Polygonscan |
| TrustRegistry | 0x9012345678901234567890123456789012345678 | View on Polygonscan |
| ProtocolRegistry | 0x0123456789012345678901234567890123456789 | View on Polygonscan |
Arbitrum One
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x1234567890123456789012345678901234567890 | View on Arbiscan |
| ScoreCalculator | 0x2345678901234567890123456789012345678901 | View on Arbiscan |
| AchievementRegistry | 0x3456789012345678901234567890123456789012 | View on Arbiscan |
| TrustRegistry | 0x4567890123456789012345678901234567890123 | View on Arbiscan |
| ProtocolRegistry | 0x5678901234567890123456789012345678901234 | View on Arbiscan |
Base Mainnet
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x6789012345678901234567890123456789012345 | View on Basescan |
| ScoreCalculator | 0x7890123456789012345678901234567890123456 | View on Basescan |
| AchievementRegistry | 0x8901234567890123456789012345678901234567 | View on Basescan |
| TrustRegistry | 0x9012345678901234567890123456789012345678 | View on Basescan |
| ProtocolRegistry | 0x0123456789012345678901234567890123456789 | View on Basescan |
Testnet Addresses
Goerli Testnet
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x1111111111111111111111111111111111111111 | View on Etherscan |
| ScoreCalculator | 0x2222222222222222222222222222222222222222 | View on Etherscan |
| AchievementRegistry | 0x3333333333333333333333333333333333333333 | View on Etherscan |
| TrustRegistry | 0x4444444444444444444444444444444444444444 | View on Etherscan |
| ProtocolRegistry | 0x5555555555555555555555555555555555555555 | View on Etherscan |
Mumbai Testnet
| Contract | Address | Explorer |
|---|---|---|
| IdentitySBT | 0x6666666666666666666666666666666666666666 | View on Polygonscan |
| ScoreCalculator | 0x7777777777777777777777777777777777777777 | View on Polygonscan |
| AchievementRegistry | 0x8888888888888888888888888888888888888888 | View on Polygonscan |
| TrustRegistry | 0x9999999999999999999999999999999999999999 | View on Polygonscan |
| ProtocolRegistry | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA | View on Polygonscan |
Usage Examples
JavaScript/TypeScript
// Contract addresses
const CONTRACTS = {
ethereum: {
identitySBT: '0x1234567890123456789012345678901234567890',
scoreCalculator: '0x2345678901234567890123456789012345678901',
achievementRegistry: '0x3456789012345678901234567890123456789012',
trustRegistry: '0x4567890123456789012345678901234567890123',
protocolRegistry: '0x5678901234567890123456789012345678901234'
}
};
// Using with ethers.js
const identityContract = new ethers.Contract(
CONTRACTS.ethereum.identitySBT,
identitySBTABI,
provider
);
Solidity
// Import contract interfaces
import "@zkscore/contracts/interfaces/IIdentitySBT.sol";
import "@zkscore/contracts/interfaces/IScoreCalculator.sol";
// Contract addresses
address constant IDENTITY_SBT = 0x1234567890123456789012345678901234567890;
address constant SCORE_CALCULATOR = 0x2345678901234567890123456789012345678901;
// Use in your contract
IIdentitySBT identity = IIdentitySBT(IDENTITY_SBT);
IScoreCalculator scoreCalc = IScoreCalculator(SCORE_CALCULATOR);
Network Configuration
RPC Endpoints
const NETWORKS = {
ethereum: {
rpc: 'https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY',
chainId: 1
},
polygon: {
rpc: 'https://polygon-mainnet.g.alchemy.com/v2/YOUR_KEY',
chainId: 137
},
arbitrum: {
rpc: 'https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY',
chainId: 42161
},
base: {
rpc: 'https://mainnet.base.org',
chainId: 8453
}
};