Features Solutions Technology Tokenomics Docs About Launch App
Docs Smart Contracts

Smart Contracts

25 contracts + 4 libraries across 5 layers, built with Foundry and Solidity 0.8.28 on Base Sepolia.

Contract Constellation

Layer Contracts Purpose
Core TAGITCore, TAGITFactory, TAGITRegistry Asset identity, minting, lookup
Token TAGITToken, TAGITStaking, TAGITVesting TAGIT token, staking rewards, vesting
UX TAGITPrograms, TAGITRecovery, TAGITVerifier Incentives, AIRP disputes, verification
Governance TAGITGovernor, TAGITTreasury, TAGITTimelock DAO voting, fee distribution, timelocks
Agent (ERC-8004) TAGITAgentIdentity, TAGITAgentReputation, TAGITAgentValidation AI agent registry, reputation, validation

Core Modules

TAGITCore
mintAsset() · bindNFC() · getAssetState() · transferAsset()
TAGITAccess
grantBadge() · revokeBadge() · hasBadge() · requiresCapability()
TAGITRecovery
openCase() · submitEvidence() · resolveCase()
TAGITGovernor
propose() · vote() · execute() · queue()
TAGITTreasury
collectFee() · distribute() · setFeeRate()
TAGITPrograms
createProgram() · enroll() · claimReward()

BIDGES Badge System

Badge Identity & Delegation for Gated Execution System. Soulbound ERC-5192 identity badges + ERC-1155 capability tokens.

Identity Badges

Badge ID Role
ADMIN 0 System administration
MANUFACTURER 1 Product creation
DISTRIBUTOR 2 Supply chain distribution
RETAILER 3 Point of sale
CONSUMER 4 End user
AUDITOR 5 Compliance verification
AGENT 6 AI agent identity

Capability Tokens

Capability Permission
CAN_MINT Create new digital twins
CAN_BIND Bind NFC chip to asset
CAN_ACTIVATE Activate product for sale
CAN_TRANSFER Transfer ownership
CAN_FLAG Flag suspicious activity
CAN_RECYCLE Recycle expired assets
CAN_VALIDATE Run validation checks
CAN_GOVERN Participate in governance

Deployed Contracts

Contract Address Status
TAGITAccess 0xb56A1D91995C212342FaA843468F03521340A1D6 Verified
TAGITAgentIdentity 0x0611FE60f6E37230bDaf04c5F2Ac2dc9012130a9 Verified
TAGITAgentReputation 0x32be6C82A57d5bCe897538d7dA4109eA0eeB0aA1 Verified
TAGITAgentValidation 0x34766dBa7040C2c8817f1Ee1e448209826DD607e Verified
ReputationStaking 0x4154af74DA2B3a98096317100296966Ade15574A Verified

Code Example

JavaScript — Read Agent Identity
import { createPublicClient, http } from 'viem';
import { baseSepolia } from 'viem/chains';

const client = createPublicClient({
  chain: baseSepolia,
  transport: http(),
});

// Read agent info from TAGITAgentIdentity
const agent = await client.readContract({
  address: '0x0611FE60f6E37230bDaf04c5F2Ac2dc9012130a9',
  abi: TAGITAgentIdentityABI,
  functionName: 'getAgent',
  args: [1n], // Sage Agent #1
});
Back to Documentation