Skip to main content

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:

  1. Identity Registry — maps wallet addresses to on-chain identity contracts
  2. Compliance Module — enforces per-token transfer rules (country restrictions, accreditation, etc.)
  3. 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.

ActivityCompliance RequiredClaims Needed
General Trading (commitments, yield)None — plain ERC-20—
Trade Finance (commodity bonds, guarantees)ERC-3643 Tier 1Topic 1 (KYC), Topic 3 (country), Topic 4 (Trade Finance)
Security Token Issuance (bond minting)ERC-3643 Tier 2Topic 1, Topic 2 (accreditation), Topic 3
Staking & Validator DelegationERC-3643 Tier 1Topic 1, Topic 5 (validator auth)
Financing SubscriptionsERC-3643 Tier 1Topic 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:

  1. The user contacts a trusted issuer or the platform with their original KYC documents
  2. The issuer verifies identity and re-issues claims to a new wallet address
  3. 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​

MethodEndpointDescription
POST/api/erc3643/identity/registerRegister 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/verifyTrigger KYC claim issuance after onboarding approval
GET/api/erc3643/compliance/checkCheck 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
}