Primcast
中文

Architecture

Primcast has three tiers: an Ethereum-secured rollup, four application systems that only the chain can provide, and established protocols deployed on top.

Layers

 ~  on top       Primcast DEX · Morpho (lending) · Chainlink (prices, automation) · ERC-4337 paymaster · Blockscout
 4  issuance     Offering (IRO)
 3  assets       RWAToken + RWATokenFactory             settlement: USDC / USDT (external, allowlisted)
 2  data         AssetHub (bonded providers · devices · readings · median topics)
 1  compliance   IdentityRegistry (KYC · accreditation · jurisdiction · freeze · sanctions)
 0  plumbing     SystemRegistry (system contracts · settlement allowlist) · Arbitrum Nitro / ArbOS 61 · Ethereum

Product architecture

LayerComponentWhat it doesWho operates it
ChainNitro sequencer, batch poster, validatorsOrders transactions every 100 ms, posts data to Ethereum, asserts statePrimcast (validators allow-listed at launch)
ChainCompliance publisher and sentinelMirrors on-chain sanctions into the sequencer filter; filters sanctioned delayed-inbox transactionsPrimcast
0SystemRegistryLists the contracts allowed to move RWA balances and the stablecoins allowed for settlementGovernance
1IdentityRegistryStores facts per wallet; answers complianceOf(address) in one callRegistrars (facts), governance (sanctions)
2AssetHubBonded data providers, registered devices, readings, aggregated topicsProviders; governance slashes
3RWATokenOne ERC-20 per asset with eligibility rules, freeze, forced transfer, holder cap, dividends, redemptions and maturityThe asset's issuer (admin)
3RWATokenFactoryIssuer allowlist; deploys every token as a beacon proxyGovernance (issuers), issuers (tokens)
4OfferingPrimary issuance: subscribe, close, claim or refund, withdraw proceedsIssuers; anyone can close a due offering
On topPrimcast DEX, Morpho, Chainlink, paymaster, keepersTrading, lending, prices, gas sponsorship, schedulingTheir respective operators

What the chain owns, and what it does not

The rule is simple. If a well-audited protocol already does the job and the energy angle does not change its mechanics, deploy the protocol instead of writing a new one.

  • In-house: identity facts, physical-asset data, the security token and primary issuance for assets that do not exist yet. No third party offers these for energy assets.
  • On top: spot trading, lending, price feeds, keepers, payment streams, gas sponsorship and the explorer. See Ecosystem.

How the systems call each other

IdentityRegistry ◄── RWAToken, AssetHub, Offering          (complianceOf / requireKYC / requireNotSanctioned)
SystemRegistry   ◄── everyone                              (isSystem / isSettlementToken)
AssetHub         ◄── RWAToken                              (device bindings)
USDC / USDT      ◄── RWAToken (dividends, redemptions), Offering (subscriptions), AssetHub (bonds)
RWAToken         ◄── Offering                              (mintFor on claim)

Settlement tokens are external, so every contract that takes them in runs the identity checks itself, on both deposit and payout.

Periodic work without a scheduler

Nothing on Primcast runs "at the end of the block". Every periodic task is a public function that anyone may call:

FunctionPurposeIf nobody calls it
Offering.processAll(n) / process(ids)Close offerings whose window ended or whose hard cap was reachedThe offering stays open past its end time, but subscriptions are already refused; anyone can close it
RWAToken.checkMaturity()Move a token to Matured once its maturity time has passedThe token stays active until someone calls it
RWAToken.distributeDividend(amount)Distribute revenue (pulled from the issuer's allowance)The dividend is late; nothing is lost

A stuck keeper therefore delays things but never endangers funds.

Upgrade model

  • The singletons (SystemRegistry, IdentityRegistry, AssetHub, RWATokenFactory, Offering) are UUPS proxies owned by the governance Safe.
  • Every token is a BeaconProxy on one UpgradeableBeacon, so a single upgrade changes all tokens at once.
  • There is no timelock. An upgrade takes effect as soon as the Safe executes it. Storage layout is append-only and checked in CI.
  • The Primcast DEX is not upgradeable: its pairs are immutable and its router is stateless.

See Trust & security for what this means for holders.

Live deployment

The addresses below are read from the deployment this portal is connected to.

ContractAddress · Primcast Demo (31337)
SystemRegistry0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
IdentityRegistry0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9
AssetHub0xa513E6E4b8f2a923D98304ec87F64353C4D5C853
RWATokenFactory0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e
Offering0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82
Authority (owner)…