Protocol

Architecture

TAG IT Network runs on the ORACULS stack — Oracle-Augmented Chain for Universal Logistics Security. It is a four-layer architecture that takes a physical NFC tap all the way to a settled, queryable on-chain fact: applications on top, a service gateway in the middle, an L2 execution layer where the contract suite lives, and Ethereum L1 underneath as the settlement anchor.

The ORACULS stack

Every request moves down the same four layers, and every verification result moves back up them. There are no side doors: applications never talk to the chain around the gateway's policy checks, and the gateway never asserts a verification verdict that the execution layer can't back with state.

┌──────────────────────────────────────────────────────────┐
│ 1 · APPLICATIONS                                         │
│   ORACULAR scanner · Admin console · Partner APIs        │
├──────────────────────────────────────────────────────────┤
│ 2 · GATEWAY — tagit-services                             │
│   Auth · Orchestration · Agent gateway                   │
│   api.tagit.network — A2A · MCP · REST /api/v1 · x402    │
├──────────────────────────────────────────────────────────┤
│ 3 · EXECUTION — Base L2 (Base Sepolia, chainId 84532)    │
│   TAGITCore · TAGITAccess · TAGITRecovery                │
│   TAGITGovernor · TAGITTreasury · TAGITPrograms          │
│   25 contracts + 4 libraries                             │
├──────────────────────────────────────────────────────────┤
│ 4 · SETTLEMENT — Ethereum L1                             │
│   Security backstop · Escrow · Timelocks                 │
│   Chainlink CCIP — cross-chain messaging                 │
└──────────────────────────────────────────────────────────┘
LayerComponentsResponsibility
1 · ApplicationsORACULAR scanner, admin console, partner APIsScan/verify UX, asset management, partner integrations
2 · Gatewaytagit-services at api.tagit.networkAuth, orchestration, and the agent gateway — A2A, MCP, REST /api/v1, x402 payments
3 · ExecutionBase L2 — Base Sepolia, chainId 84532 todayAsset identity, lifecycle state machine, access control, governance. Data availability via Ethereum blobs today; EigenDA arrives with the dedicated TAGIT L2 (2028 roadmap)
4 · SettlementEthereum L1 + Chainlink CCIPSecurity backstop, escrow, timelocks; CCIP for cross-chain messaging

Layer 1 — Applications

The ORACULAR scanner is the consumer-facing app: tap a tag, get a verdict and the asset's provenance timeline. The admin console is where manufacturers and partners mint, bind, and manage assets. Partner APIs let existing POS, ERP, and logistics systems drive the same flows programmatically — including autonomous agents that speak A2A or MCP through the gateway.

Layer 2 — Gateway

tagit-services is the single front door. It authenticates callers, verifies NFC signatures, orchestrates multi-step flows, and exposes the agent gateway at api.tagit.network: A2A for agent-to-agent tasks, MCP for tool-calling clients, REST under /api/v1, and x402 for machine-payable requests. Anything the gateway attests, it derives from chain state — it holds no verification authority of its own.

Layer 3 — Execution

The contract suite — 25 contracts and 4 libraries — is deployed to Base Sepolia (chainId 84532). The six core modules are TAGITCore (ERC-721 digital twins and the 7-state lifecycle machine), TAGITAccess (BIDGES badges and capability gates), TAGITRecovery (lost/stolen recovery), TAGITGovernor, TAGITTreasury, and TAGITPrograms, built on the LifecycleLib, AccessLib, CryptoLib, and EventLib libraries.

Layer 4 — Settlement

As an optimistic rollup, Base settles to Ethereum L1, which acts as the security backstop and hosts escrow and timelock logic. Chainlink CCIP handles cross-chain messaging, so asset state can be attested to other chains without trusting a bespoke bridge.

Network today

ParameterValue
NetworkBase Sepolia (testnet)
Chain ID84532
Explorersepolia.basescan.org
Block time~2 s
SettlementEthereum Sepolia (optimistic rollup, ~7-day challenge window)
Testnet only. Mainnet deployment is audit-gated. Internal Slither analysis ran in January 2026 (four high-severity findings triaged as false positives); a Hacken external audit was engaged in July 2026 and no report has been published; mainnet is targeted for H1 2027. Report security issues to info@tagit.network.

Repositories

The platform is developed across 12 repositories in the TAG-IT-NETWORK organization — 6 core and 6 support.

RepositoryTypePurpose
tagit-contractsCoreSolidity contract suite (Foundry) — 25 contracts + 4 libraries
tagit-servicesCoreGateway: auth, orchestration, agent gateway (A2A/MCP/REST/x402)
tagit-indexerCoreGoldsky subgraph — event indexing and GraphQL queries
tagit-bridgeCoreChainlink CCIP cross-chain adapters
tagit-securityCoreAudit tooling, Slither configuration, formal verification
tagit-l2CoreDedicated TAGIT L2 infrastructure (OP Stack) — 2028 roadmap
tagit-dashboardSupportAdmin console (React/TypeScript)
tagit-mobileSupportORACULAR scanner app
tagit-sdkSupport@tagit/sdk — TypeScript SDK
tagit-hardwareSupportNFC provisioning tools and chip specifications (NTAG 424 DNA)
tagit-docsSupportTechnical documentation and wiki exports
tagit-governanceSupportDAO proposal templates, SOPs, policies

Data flow: anatomy of a verification scan

The core loop of the whole system is a single tap. Here is what happens between the phone touching the tag and the verdict appearing on screen:

NFC tap ──► SUN message ──► gateway verify ──► TAGITCore read/write
        ──► events ──► Goldsky subgraph ──► app / agent response
  1. NFC scan. The ORACULAR scanner taps an NTAG 424 DNA tag. Each tap produces a fresh SUN (Secure Unique NFC) message — tag UID, a monotonically increasing tap counter, and an AES-128 CMAC — so a captured scan can never be replayed.
  2. Signature verification. The gateway validates the CMAC against the tag's registered key and rejects any message whose counter does not advance. A cloned tag fails here: copying the tag's static data does not copy the secret key inside the chip.
  3. On-chain state read/write. The gateway (or a client directly, via viem/ethers) reads TAGITCore on Base Sepolia — does the tag hash match the bound asset, what lifecycle state is it in, who owns it? State-changing operations such as claim(), transferAsset(), or flag() are submitted as transactions, gated by BIDGES capability checks in TAGITAccess.
  4. Indexing. Events emitted by the contracts — AssetMinted, TagBound, StateChanged — are picked up by the Goldsky subgraph within seconds, keeping provenance history queryable without hammering the RPC.
  5. App response. The verdict and the asset's provenance timeline flow back to the scanner or console. Agents receive the same result over A2A, MCP, or REST through the gateway.

Roadmap: dedicated TAGIT L2

Planned for 2028. A dedicated TAGIT L2 — an OP Stack rollup with EigenDA for data availability — is on the roadmap for 2028. Until then, the protocol runs on Base: Base Sepolia today, Base mainnet after the audit gate (H1 2027). The execution layer is designed so the eventual migration is transparent to integrators — same contracts, same gateway, same SDK.

Next steps