ERC-1404 Restricted Token Features

Vestascan deploys a production-ready, highly configurable implementation of the ERC-1404 standard. It is designed specifically for Security Tokens, Restricted Assets, and Compliance-Heavy Tokens.

It allows issuers to enforce complex transfer restrictions (Whitelisting, Lockups) while remaining compatible with standard ERC-20 wallets and exchanges.

1. Compliance Core (ERC-1404)

  • Atomic Whitelisting: Transfers are only successful if both the Sender AND the Receiver are whitelisted.
  • Pre-Flight Checks: Wallets can query detectTransferRestriction to see if a transfer will fail before sending it, preventing wasted gas.
  • Modular Architecture: The compliance logic can be upgraded by pointing to an external IComplianceModule (e.g., for future ERC-3643 compatibility) without migrating the token.

2. Vesting & Lockups

  • Time-Based Locking: Administrators can enforce lockup periods on specific users.
  • Granular Control: You can whitelist a user with immediate access or with a specific unlock timestamp.
  • Enforcement: Use setReleaseTime(user, timestamp) to manage locks dynamically.

3. Role-Based Access Control

The contract separates duties to ensure security:

  • DEFAULT_ADMIN_ROLE (Super Admin):
    • Can bypass restrictions (if Revocable).
    • Can Manage Roles (grant/revoke).
    • Can Mint/Burn (if enabled).
    • Can Rescue stuck tokens.
  • COMPLIANCE_ROLE (Compliance Officer):
    • Can Manage Whitelist (addToWhitelist, removeFromWhitelist).
    • Can Set Lockups.
    • Limit: Hardcoded limit of 5 Compliance Officers for security.
  • PAUSER_ROLE:
    • Can trigger the Emergency Stop (pause).

4. Lifecycle Configuration (Immutable)

These flags are set once at deployment and cannot be changed, providing trust to investors.

FeatureFlagDescription
MintingisMintableIf true, Admin can print new tokens post-deployment. If false, supply is fixed forever.
BurningisBurnableIf true, Users can redeem (burn) their tokens, and Admins can seize (burn) tokens for compliance.
RevokingisRevocableIf true, Admin can force-transfer tokens from any wallet (e.g., lost keys, legal seizure). If false, this is permanently disabled.
Max SupplycapIf Minting is enabled, this Hard Cap prevents inflation beyond a guaranteed limit.

5. Safety & Operations

  • Emergency Stop (Pausable): Freeze all transfers in the event of a critical security threat.
  • Token Rescue: Admin can recover any ERC-20 tokens accidentally sent to the contract address.
  • Bulk Whitelisting: batchAddToWhitelist allows adding up to 200 investors in a single transaction to save Gas.