Identity & Compliance
TradeArena implements ERC-3643 (T-REX Protocol) to enforce regulated transfer restrictions on security tokens used in Trade Finance, Bond Issuance, and Staking activities. The identity layer is layered on top of Huntrecht's existing KYC infrastructure — no duplicate verification is required.
ERC-3643 and the T-REX Protocol
The T-REX Protocol (Token for Regulated EXchanges) is the reference implementation of ERC-3643. It adds three on-chain components to a standard ERC-20 token:
- Identity Registry — maps wallet addresses to on-chain identity contracts
- Compliance Module — enforces per-token transfer rules (country restrictions, accreditation, etc.)
- Claim Issuers — trusted third parties (banks, auditors, KYC providers) who attest to identity facts via on-chain claims
All three components are deployed on Polygon and are referenced by the $ARENA, guarantee, and bond token contracts.
Participant Compliance Tiers
The compliance tier required depends on the activity. General trading is open to all — it does not use ERC-3643 transfers and is plain ERC-20.
| Activity | Compliance Required | Claims Needed |
|---|---|---|
| General Trading (commitments, yield) | None — plain ERC-20 | — |
| Trade Finance (commodity bonds, guarantees) | ERC-3643 Tier 1 | Topic 1 (KYC), Topic 3 (country), Topic 4 (Trade Finance) |
| Security Token Issuance (bond minting) | ERC-3643 Tier 2 | Topic 1, Topic 2 (accreditation), Topic 3 |
| Staking & Validator Delegation | ERC-3643 Tier 1 | Topic 1, Topic 5 (validator auth) |
| Financing Subscriptions | ERC-3643 Tier 1 | Topic 1, Topic 3 |
On-Chain Claim Topics and Recovery
Claim Lifecycle
sequenceDiagram
participant U as User
participant P as Platform
participant TI as Trusted Issuer
participant IR as Identity Registry
U->>P: Request ERC-3643 identity registration
P->>P: Verify onboarding_status = 'approved'
P->>TI: Request claim signature (topic 1, 3)
TI->>IR: Issue on-chain claim
IR-->>U: Identity active
Country Restrictions
Country codes in erc3643_identities.country_code are checked by the compliance module before each regulated transfer. Countries on the OFAC sanctions list or restricted by the platform are blocked at the smart-contract level — transfers to or from wallets with restricted country claims are automatically reverted.
Recovery Mechanisms
If a user loses access to their identity wallet:
- The user contacts a trusted issuer or the platform with their original KYC documents
- The issuer verifies identity and re-issues claims to a new wallet address
- The old identity contract is revoked; the new one is added to the registry
Recovery does not require re-submitting KYC documents if the claim issuer can match the user's existing user_profiles record.
Planned API Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /api/erc3643/identity/register | Register an on-chain ERC-3643 identity for a wallet |
GET | /api/erc3643/identity/{address} | Get identity status, claims, and accreditation for a wallet |
POST | /api/erc3643/kyc/verify | Trigger KYC claim issuance after onboarding approval |
GET | /api/erc3643/compliance/check | Check whether a wallet can perform a given regulated action |
Register Identity Example
POST /api/erc3643/identity/register
{
"wallet_address": "0xYourWalletAddress",
"did": "did:ethr:polygon:0xYourWalletAddress"
}
Response:
{
"success": true,
"identity_contract": "0xIdentityContractAddress",
"claims_issued": [1, 3],
"kyc_status": "approved",
"country_code": "NG"
}
Compliance Check Example
GET /api/erc3643/compliance/check?wallet=0x...&activity=trade_finance
{
"wallet": "0x...",
"activity": "trade_finance",
"compliant": true,
"missing_claims": [],
"restricted_country": false
}
Related Pages
- Arena Token — Which $ARENA operations require ERC-3643
- Bond Issuance — Bond minting requires Tier 2 compliance
- Inventory Validation — Validator registration requires identity
- KYC Verification — Underlying Huntrecht KYC system