OnChainID Module (sdk.onchainid)
The identity module manages ONCHAINID identities and claims-the foundation of all compliance in the framework.
Purpose: Create and manage on-chain identities, issue KYC claims, and handle claim lifecycle operations.
Key capabilities:
- Create identities - Deploy an
Identitycontract linked to a user’s wallet address - Retrieve identities - Look up existing identity contracts by wallet address
- Issue KYC claims - Generate and sign claims that verify a user’s identity
- Issue Role claims - Generate and sign claims that verify a particular role
- Add claims to identities - Attach signed claims to identity contracts
- Remove claims - Revoke claims when they are no longer valid
Machine NFT Module (sdk.mnft)
The Machine NFT module handles the registration and management of tokenized physical assets.

- Ensure allowances - Verify and approve ERC-20 allowances for registration fees
- Register machines - Mint MachineNFTs with associated DID documents that describe the physical asset
- Read DID documents - Retrieve the machine metadata stored on-chain
Contract NFT Module (sdk.cnft)
The Contract NFT module manages digital agreements between multiple parties.
Purpose: Create, sign, and manage multi-party contracts that are represented as NFTs on-chain.
Key capabilities:
- Create contracts - Initialize a new contract with specified counterparties and document hash
- Sign contracts - Allow counterparties to sign and finalize agreements
- Cancel drafts - Allow initiators to cancel contracts before all parties have signed
- Verify contracts - Validate that document content matches the on-chain hash
RWA NFT Factory Module (sdk.rwanft)
The RWA NFT factory module manages the top-level factory contract that coordinates machine issuers and regulators.
Purpose: Administrative operations for the PeaqRwaNft factory contract.
Key capabilities:
- Manage machine regulators - Add or remove addresses authorized to approve machine issuers
- Manage machine issuers - Register new issuers who can mint MachineNFTs
- Emergency controls - Block or unblock machine issuers and NFT operations
Vault Module (sdk.vault)
The Vault module enables the fractionalization of assets into security tokens and manages yield distribution.

- Create vaults - Deploy new vault instances with associated security tokens and reward distributors
- Pause/unpause tokens - Control token transferability for regulatory or emergency purposes
- Register identities - Add verified identities to the vault’s identity registry (required for token holders)
- Deposit and mint - Lock NFTs in a vault and mint security tokens representing fractional ownership
- Deposit yield - Add revenue to the vault for distribution to token holders
- Claim yield - Allow token holders to withdraw their share of accumulated yield
- Transfer tokens - Move security tokens between verified holders
Roles in the Ecosystem
The RWA Framework defines several key roles, each with specific responsibilities and required claims:| Role | Description | Required Claim |
|---|---|---|
| Framework Owner | Administers the entire framework, manages trusted claim issuers, and creates vaults | Admin access |
| Claim Issuer | Issues KYC and role claims to users after verification | Trusted by Framework Owner |
| Machine Regulator | Approves machine issuers and oversees their operations | CT_MNFT_REGULATOR |
| Machine Issuer | Registers physical machines as MachineNFTs | CT_MNFT_ISSUER |
| User / Investor | Owns MachineNFTs, holds security tokens, and receives yield | CT_KYC_APPROVED |

