Contract architecture
14 deployed contract components on Polygon mainnet (chainId 137) are covered by the deployment pack. Core proxies follow the UUPS upgrade model; upgrade execution is intended to be controlled through the Safe multisig.
Technical reference
USDPROP is an ERC-3643-based issuance and investor operations platform built on Polygon using ONCHAINID, IdentityRegistry, ClaimIssuer, compliance modules, USDC settlement and multisig treasury controls.
Technical reference
Core deployment assumptions, upgrade model and operational role notes for technical review. Values are sourced from the current deployment artifact and public Polygon addresses where available.
14 deployed contract components on Polygon mainnet (chainId 137) are covered by the deployment pack. Core proxies follow the UUPS upgrade model; upgrade execution is intended to be controlled through the Safe multisig.
The Smart Contract Structure & Deployment Report contains the complete contract inventory, deployment topology and interaction model.
Download Smart Contract Structure ReportOperational agents are separated across deployer, execution, admin, KYC issuer and NAV roles. Current artifact uses the same EOA for adminAgent and navAgent, so role separation should be reviewed before formal production sign-off.
| Parameter | Current value |
|---|---|
| Network | Polygon mainnet, chainId 137 |
| Token standard | ERC-3643 (T-REX protocol) |
| Identity | ONCHAINID, ERC-734 / ERC-735 identity and claim model |
| Proxy pattern | UUPS, OpenZeppelin upgradeable pattern for core upgradeable contracts |
| Payment token | USDC native Polygon, 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
| Treasury | Safe multisig, 2/3 threshold in current deployment artifact |
| Compliance | Reg D 506(c), Reg S and EU MiFID II operational support model |
| Tooling | Hardhat, ethers.js, OpenZeppelin |
CORE STANDARDS & DEPENDENCIES
Core protocols, identity standards, settlement components and dependencies used by the USDPROP architecture.
Permissioned Security Token Standard
Identity & Claims Framework
Settlement Network
Settlement Asset
Treasury Governance
01 / System architecture
USDPROP separates investor onboarding and legal review from token transfer enforcement. Off-chain systems collect documents and KYC payloads. On-chain registries store identities, issuers and claim references used by the token compliance layer.
Identity registration, claim verification, transfer eligibility, issuance, burn, NAV reads, dividend accounting and event emission.
Document intake, KYC/AML review, accreditation evidence, API validation, user interface state, operational monitoring and administrative workflows.
Contract inventory
Deployed contracts, responsibilities and upgrade status. Address cells include Polygonscan and source links for direct review.
| Contract | Category | Standard | Upgradeable | Address |
|---|---|---|---|---|
| USDPROP Token | Issuance / ownership record | ERC-3643 | Yes | 0x6F6c...5826PolygonscanSource |
| IdentityRegistry | Identity registry | ONCHAINID / ERC-734 / ERC-735 | Yes | 0x82e0...6bacPolygonscanSource |
| ModularCompliance | Transfer compliance engine | T-REX ModularCompliance | Yes | 0x42a1...1294PolygonscanSource |
| USDPROPComplianceModule | Custom compliance module | Compliance module | Pending Review | 0x6A78...bDccPolygonscanSource |
| ClaimIssuer | Claim attestation issuer | ONCHAINID ClaimIssuer | No | 0x656B...a61aPolygonscanSource |
| InvestmentManager | Subscription execution | EIP-712 + USDC settlement | Yes | 0xe901...949fPolygonscanSource |
| NAVOracle | NAV reference | Oracle adapter | Yes | 0x356B...F9a9PolygonscanSource |
| DividendDistributor | Distribution accounting | Distribution module | Yes | 0x26Fa...D1D1PolygonscanSource |
| Safe Treasury | Treasury control | Safe multisig | Configurable | 0xe1f7...f92cPolygonscanSource |
02 / Smart contract suite
Source code links point to the Polygonscan code tab for each address. Upgradeability and verification status are summarized in the primary matrices below.
ERC-3643 restricted token representing the ownership record governed by identity and compliance checks.
Registry that links investor wallets to ONCHAINID identities and eligible claim topics.
Compliance orchestration contract used by token transfers to validate module-level restrictions.
Issuer contract used to sign and publish claim attestations accepted by the IdentityRegistry.
Execution contract for subscription flows, consent checks, USDC transfer and token issuance.
NAV source used by investment and distribution operations to reference pricing state.
Distribution accounting contract for dividend lifecycle and investor settlement claims.
Multisig treasury address used for controlled assets, approvals and operational funding.
Roles and permissions
Operational authority boundaries and control responsibilities. Role separation reduces single-key blast radius; formal review should confirm current assignees, signer custody and any overlapping authority.
| Role | Controls | Criticality |
|---|---|---|
| Owner | Contract ownership, role assignment, upgrade/admin handoff and emergency authority depending on the contract. | Critical |
| ClaimIssuer | Signs, updates and revokes investor claim topics for KYC, AML, accreditation and jurisdiction status. | Critical |
| AdminAgent | Operational configuration, parameter changes and administrative workflows authorized by ownership policy. | High |
| NAVAgent | NAV and accounting references consumed by investment, redemption and distribution workflows. | High |
| DistributionAgent | Distribution lifecycle preparation, entitlement accounting and settlement operation support. | High |
| SafeSigner | Approves treasury movements and upgrade execution through the Safe threshold model. | Critical |
| IdentityAgent | Registers ONCHAINID mappings and wallet-to-identity relationships used by transfer checks. | High |
| ComplianceAgent | Configures claim topics, trusted issuers, transfer modules, lockups and eligibility restrictions. | Critical |
Upgradeability matrix
What can be upgraded. Pattern labels reflect current deployment documentation and should be confirmed against Polygonscan proxy records during formal review.
| Contract | Upgradeable | Pattern |
|---|---|---|
| USDPROP Token | Yes | UUPS |
| IdentityRegistry | Yes | UUPS |
| ModularCompliance | Yes | UUPS |
| ClaimIssuer | No | Immutable |
| InvestmentManager | Yes | UUPS |
| NAVOracle | Yes | UUPS |
| DividendDistributor | Yes | UUPS |
| Safe Treasury | Configurable | Safe Configuration |
03 / Upgrade path
Core upgradeable contracts follow the UUPS pattern. Upgrades should require Safe multisig approval, and no single key should be able to upgrade unilaterally after ownership transfer.
upgradeToAndCall(newImpl, data) on the proxy.Storage layout must be preserved across upgrades. New variables are appended only. Existing slots must not be reordered, removed or type-mutated.
04 / Investment flow
investWithConsent() execution path.The investment path uses investor consent, backend verification and on-chain settlement. Exact ABI parameters must be confirmed against the deployed contract before production integration.
Consent messages must be single use. Backend and contract state should reject replayed nonces.
Signed intent includes an expiry. Expired execution requests must fail before value movement.
Minimum token output or equivalent acceptance condition protects the investor from stale NAV assumptions.
EIP-712 domain separation, chain ID, contract address and nonce are required to prevent cross-context reuse.
05 / Redemption flow
redeemWithConsent() control path.The redemption path mirrors investment consent patterns and adds validation around burn, settlement availability and redemption policy.
Investor consent is explicit and scoped to the intended redemption parameters. The same signing policy should be used by the UI, backend and contract verification path.
Controls can include eligibility review, redemption windows, NAV freshness, liquidity availability, lockups and manual approval gates.
06 / Identity and claims
Investor eligibility is represented through identity registration and claim attestations. Legal and KYC evidence remains outside the token contract. The token reads registry and compliance state before transfers.
Identity layer for associating wallet addresses with investor identity contracts and verifiable claims.
Canonical registry used by the token to determine whether sender and recipient identities satisfy the required state.
Authorized issuer that creates, updates or revokes claims used by compliance checks.
07 / Compliance engine
ERC-3643 transfer validation routes through registry and compliance checks before token balances move. Compliance modules encode restrictions that are external to standard ERC20 behavior.
canTransfer()Pre-transfer check used to test whether sender, recipient and amount satisfy registry and module requirements.
moduleCheck()Module-level validation for country restrictions, limits, lockups or custom policy constraints.
Transfer permissions can depend on KYC, AML, accreditation, Reg D and Reg S claims.
| Control | Input | Enforcement point |
|---|---|---|
| Investor eligibility | Identity and claims | IdentityRegistry and token transfer path |
| Country restrictions | Jurisdiction claim or registry metadata | Compliance module |
| Lockups | Investor or issuance timestamp | Compliance module |
| Transfer restrictions | Sender, recipient, amount | canTransfer() and module checks |
Technical comparison
A simple ERC20 transfer model does not include investor identity, eligibility, transfer restrictions, treasury controls or servicing logic. USDPROP combines ERC-3643 issuance with ONCHAINID, issuer-backed claims, compliance modules and operational controls.
Does not know who buys.
Does not validate KYC.
Does not block transfers.
Does not distribute dividends.
Identity through ONCHAINID.
KYC and AML claims.
Compliance on transfers.
Safe multisig and separated agents.
Off-chain layer
Base legal document templates used as operational references for private placement structuring, investor subscription, regulatory notice workflow and tax documentation. Templates are reference material, not legal advice.
Common legal documents used in private placement and investor onboarding workflows.
Operational modules
08 / Treasury governance
The deployment artifact records a 2 of 3 Safe threshold. Formal diligence should review owners, modules, spending policies, recovery plan and signer rotation procedures.
Treasury operations require threshold approval before asset movement or operational funding.
Rotation should be documented with an approval trail, owner replacement procedure and incident escalation path.
Threshold must balance liveness and compromise risk. Current deployment artifact records 2 of 3.
09 / Dividend distribution
The distribution layer uses NAV/accounting inputs and token ownership state to calculate investor entitlement and settlement workflow.
10 / Security model
This section documents known security assumptions. It does not replace a formal audit, threat model workshop or deployment-specific key ceremony.
| Risk | Mitigation | Residual risk |
|---|---|---|
| Admin key risk | Use multisig, role separation, least privilege and monitored admin actions. | Compromised quorum or poorly scoped roles can still affect system state. |
| Oracle manipulation | Restrict NAV writer role, require review process and monitor NAV changes. | Incorrect NAV input can affect issuance, redemption or distribution calculations. |
| Signer compromise | Safe threshold, hardware wallets, signer rotation and incident runbook. | Threshold compromise remains a critical custody event. |
| Claim issuer compromise | Dedicated issuer keys, issuer monitoring, claim revocation and registry controls. | Invalid claims can create improper eligibility until detected and revoked. |
| Replay attacks | EIP-712 domain separation, nonce tracking, deadlines and chain ID binding. | Implementation defects in nonce or domain handling can reintroduce replay paths. |
| Upgrade risk | Publish upgrade policy, require review, use timelocks where applicable and monitor bytecode changes. | Upgrade authority remains a governance trust assumption unless fully removed. |
11 / Deployment records
Deployment values are sourced from investor-app/src/contracts/deployment.json. Per-contract verification status is tracked below.
| Component | Address | Verification Status | Record |
|---|---|---|---|
| USDPROP Token | 0x6F6c5Ab2865E028beDFEbabD86E046D73EAC5826 | Verified | Polygonscan |
| IdentityRegistry | 0x82e04Ac5abC1c6979781aeB2ACa5133B59f86bac | Verified | Polygonscan |
| ModularCompliance | 0x42a133b07c53FEb1043Ac84481993ceec72D1294 | Verified | Polygonscan |
| USDPROPComplianceModule | 0x6A7863dF05D06956bfE8B7650f2c2983e214bDcc | Verified | Polygonscan |
| ClaimIssuer | 0x656B7DDFf86ce7aBE9E86A8bf97642d55B95a61a | Verified | Polygonscan |
| NAVOracle | 0x356B60F2600D0454871F9492a4B90cE750b0F9a9 | Verified | Polygonscan |
| InvestmentManager | 0xe901ef0395850A217b19F2cc0819527ae4D2949f | Verified | Polygonscan |
| DividendDistributor | 0x26FaD8d74c2Eb3461c94e5CeAC8e8AEb48e6D1D1 | Verified | Polygonscan |
| Safe Treasury | 0xe1f7615962BcFEE1C9992A2c501702130835f92c | Verified | Polygonscan |
| USDC | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | Verified | Polygonscan |
12 / ABI and integration
Local ABIs are stored in investor-app/src/contracts/abis.js. A clean mainnet deployment is estimated at 4 to 6 hours including Safe setup and ClaimIssuer configuration.
Reference layout used for deployment, testing, integration and operations.
contracts/Solidity contracts and interfacesdeploy/Deployment configuration and network artifactsscripts/Operational scripts and deployment helperstest/Unit, integration and regression testsdocs/Architecture and diligence documentsfrontend/Investor-facing runtime applicationbackend/API, execution agent and integration servicesExternal protocols, libraries and infrastructure components relied upon by the deployment.
const manager = new ethers.Contract(
INVESTMENT_MANAGER,
investmentManagerAbi,
signer
);
// Pseudocode. Confirm exact ABI before execution.
await manager.investWithConsent({
amountUSDC,
minTokensOut,
deadline,
nonce,
signature
});
| Event category | Operational use | Consumer |
|---|---|---|
| Investment execution | Subscription audit trail and investor app state | Backend, investor app, operations logs |
| Transfer validation | Restricted ownership movement evidence | Compliance review, operations |
| Claim update | KYC/eligibility change trail | KYC panel, compliance review |
| Distribution | Dividend lifecycle and settlement state | Investor app, fund operations |
13 / Gas and operations
Ranges are operational estimates. USD equivalents are illustrative only. Actual cost changes with network gas price, POL/USD price, bytecode, module configuration and state access patterns.
| Operation | Indicative gas range | Approx. USD fee | Primary drivers |
|---|---|---|---|
| Onboarding registration | 120k to 260k | ≈ US$0.0003 to US$0.0007 | Identity registration, storage writes, claim topic checks |
| Claim issuance | 90k to 220k | ≈ US$0.0002 to US$0.0006 | Issuer signature, identity state, topic storage |
| Investment | 180k to 380k | ≈ US$0.0005 to US$0.0010 | USDC transfer, consent verification, token issuance, events |
| Redemption | 160k to 340k | ≈ US$0.0004 to US$0.0009 | Consent verification, token burn, USDC transfer, events |
| Restricted transfer | 90k to 190k | ≈ US$0.0002 to US$0.0005 | Registry lookup, module checks, balance update |
| Dividend distribution | 140k to 320k plus variable settlement cost | ≈ US$0.0004 to US$0.0009 base | Accounting writes, funding path, per-investor settlement model |
Regression Test Coverage
Automated regression coverage validates deployment, hardening, identity, claims, compliance, investments, redemptions, treasury operations, governance controls and security-critical behavior.
A dedicated test validation report is available separately.
Regression Validation Report
The USDPROP validation suite covers deployment, hardening, identity, claims, compliance, investments, redemptions, treasury operations, governance controls, security protections and historical vulnerability regressions.
All tests are documented in the dedicated Validation Report.
14 / Audit and review status
Do not treat this page as an audit report. It is a technical architecture reference for review preparation.
No external audit report is published in this repository at this time.
Deployment records and public addresses are available. Formal verification, source matching and role review must be performed per deployment.
Recommended review areas include monitoring, admin runbooks, signer continuity, KYC provider adapters, gas reporting and source verification pack.
227 automated regression tests currently pass across deployment, compliance, governance, treasury and security-critical workflows.
See Validation Report for detailed coverage and evidence mapping.
15 / Documentation
Review architecture, validation evidence, deployment records and source references before conducting independent verification.