IdentityRegistry model. The paper is at peaq.xyz/economics-2-0; this page documents what the deployed contracts do. Live figures (activated machines, PEAQ bonded, tier prices at the current oracle rate) are on the Machine Explorer.
What is live
Activation and the bond
One transaction toMachineStateAndSync.activateMachine mints the machine’s ERC-721 in MachineRegistry, stores its DID document, bonds PEAQ in MachineSubscription on a tier, and records peaq as the home chain in CrossChainMirror. The sender is the owner and the payer.
The bond is quoted in USD per tier and converted to PEAQ at the oracle rate when you call:
MachineSubscription). The machine’s recorded bond stays at the full amount. A voucher can cover the whole bond, in which case nothing is transferred and the machine is still bonded in full.
The bond is not withdrawable. It stays bonded while the subscription is renewed, and unwinds through grace and runoff when it is not.
Tiers
Tier prices are protocol parameters set by governance (
InfoDesk.setTierPriceUsd), quoted per 365-day period. When governance changes a price, the quote changes with it. Always preview before you spend: peaqos activate ... --dry-run, previewMachineActivation, or preview_machine_activation. The PEAQ figure moves with the oracle price every day; the preview prints it.
Tiers also carry points that weight bonding rewards per operator. Higher tiers earn more points per machine.
Paying in USDT
--payment usdt (CLI) or activateMachineWithUsdt / activate_machine_with_usdt (SDKs) settles the PEAQ-quoted bond in USDT through SubscriptionTokenProvisionPool, which performs the conversion. You approve a maximum USDT amount derived from the quote and your accepted slippage; the call never spends more than that maximum. The bond, the voucher credit, and the net amount stay denominated in PEAQ.
Subscription lifecycle
Parameters inInfoDesk on peaq mainnet:
- Renew at any point in Active, Grace, or Runoff. Renewal uses the stored tier and extends from the stored period end, not from now. It cures Grace or Runoff immediately.
- Runoff moves the decayed part of the bond half to the burn address and half to the treasury, one step per daily settlement. The burn address in
InfoDeskis unset, so the burn half does not reduce supply yet. - Terminated machines are retired: the NFT is burned and the subscription record deleted. A machine that is relocating is never terminated mid-flight.
- Fraud termination (protocol owner only) forfeits the whole bond immediately, 50% burn and 50% treasury.
- Suspend / resume is a voluntary pause by the owner or controller. It does not change the subscription.
Credits, not payouts
Economics 2.0 never pays PEAQ to a wallet. Two kinds of credit accrue to the machine owner and are redeemed against the next bond:
Both are funded from the same surplus (
epochPool, whatever PEAQ sits in MachineSubscription beyond bonds and committed credits) and split by one protocol parameter each epoch. A controller who pays for a renewal does not receive the credit; it lands on the owner.
Machine ID and DID
uint256 (bigint in JavaScript, int in Python, a decimal string on every wire). There is no mapping from legacy sequential IDs or from did:peaq:0x<address>: a legacy machine that migrates gets a new 2.0 ID. See peaqID.
Ownership and control
Transferring the NFT moves ownership and retains the controller. There is no operator-sponsored activation: the account that signs
activateMachine owns the machine and pays the bond. Fleets use machine-owned, operator-controlled activation; see Fleet onboarding.
Trust validators
Three different roles are easy to confuse. Keep them apart:
Until the oracle holds a price,
activateMachine reverts with PriceNotAvailable. Prices are 8-decimal USD values keyed by keccak256("PEAQ").
Coordination fees and x402
CoordinationFeeCollector can charge a per-tier USD coordination fee on machine services and accepts x402-style payments through EIP-3009 transferWithAuthorization. The fee is configured at 0 for every tier, so no coordination fee is collected today. Not exposed in the SDKs or CLI.
Legacy machines
Machines onboarded under Tokenomics 1.0 (IdentityRegistry, 1 PEAQ native bond, separate MachineNFT) keep working on the 1.0 contracts and the 1.0 MCR API. MachineMigrationHub mirrors them into Economics 2.0: peaq mirrors a legacy machine as a 2.0 machine owned by the hub, and the hub pays the tier bond. Handing the permanent 2.0 ID to the machine’s owner is a later step. Mirroring is operated by peaq for partner fleets and is not exposed in the SDKs or the CLI.
A mirrored machine’s legacy 1 PEAQ bond stays in IdentityStaking; the 2.0 tier bond is bonded in addition.
Cross-chain relocation
Economics 2.0 relocates a whole machine record between registered chains throughMachineBridgeAdapter and CrossChainMirror (LayerZero V2 transport). This differs from the 1.0 Machine NFT bridge, which moves only the NFT. Relocation is switched off on peaq mainnet and agung (InfoDesk.isMachineRelocationEnabled() is false), and the SDKs expose relocation status reads only. The 1.0 bridgeNft / bridge_nft path throws MACHINE_RELOCATION_UNAVAILABLE in Tokenomics mode. See Omni-chain.
Solana mainnet is the first registered relocation peer: peaq’s MachineBridgeAdapter points at the Solana adapter (protocol chain 5, LayerZero EID 30168), and the eleven Solana programs are live. No machine can relocate while the flag is off. Program IDs are on Smart contracts.
Relocation is not how a machine gets to Solana today. A machine is created on Solana: the operator reserves its ID and bonds the tier on peaq, peaq mirrors reservation and tier to Solana, and the Solana owner mints the machine there. Bond, points, vouchers and the subscription record stay on peaq; the identity, DID document and NFT are Solana accounts. See Onboard a machine on Solana.
Related
- Activate: the one-transaction onboarding
- Smart contracts: addresses on peaq mainnet and agung
- Tokenomics: supply, inflation, the block reward split, and the wallet consolidation
- CLI: machine: lifecycle, subscription, ownership, and DID commands

