Smart Contracts

On-chain architecture and deployed contract addresses.

Contract Addresses (Base Sepolia)

Architecture Overview

┌─────────────────────────────────────────────────────────────┐
│                      ISNAD Protocol                         │
├──────────────┬──────────────┬──────────────┬───────────────┤
│  ISNADToken  │ ISNADRegistry│ ISNADStaking │  ISNADOracle  │
│  (ERC20 +    │  (inscribe   │  (stake +    │  (flag +      │
│   votes)     │   + metadata)│   attest)    │   jury)       │
├──────────────┴──────────────┴──────────────┴───────────────┤
│  ISNADRewardPool        │        ISNADGovernor             │
│  (yield distribution)   │        (DAO + timelock)          │
└─────────────────────────┴──────────────────────────────────┘

Contract Descriptions

ISNADToken

ERC20 token with ERC20Votes extension for governance. Fixed max supply of 1B tokens. Includes MINTER_ROLE (reward pool) and BURNER_ROLE (staking contract for slashing).

ISNADRegistry

Stores resource inscriptions. Resources are identified by SHA-256 content hash. Supports single inscriptions and chunked uploads for large files.

ISNADStaking

Manages attestations. Auditors stake tokens with lock durations (30-90 days). Calculates trust scores with lock multipliers. Handles slashing on Oracle verdict.

ISNADOracle

Detection and jury system. Handles flags, jury selection, voting, and verdicts. Supermajority (67%) required. Appeals supported with 2x deposit.

ISNADRewardPool

Distributes yield to auditors based on stake amount and lock duration. Lock multipliers: 30d=1x, 60d=1.25x, 90d=1.5x, 180d=2x, 365d=3x.

ISNADGovernor + Timelock

OpenZeppelin Governor with 2-day timelock. 4% quorum, 100k $ISNAD proposal threshold. Controls protocol parameters and upgrades.

Source Code

All contracts are open source and verified on BaseScan:
github.com/counterspec/isnad/contracts