ERC-1404 Restricted Token Features
Vestascan deploys a production-ready, highly configurable implementation of the ERC-1404 standard designed for security tokens, restricted assets, and compliance-heavy tokens.
It allows issuers to enforce complex transfer restrictions while remaining compatible with standard ERC-20 wallets and exchanges.
Compliance Core (ERC-1404)
Atomic Whitelisting
Transfers succeed only if both sender and receiver are whitelisted.
Pre-Flight Checks
Wallets can query detectTransferRestriction to check if a transfer will fail before sending, preventing wasted gas.
Modular Architecture
Compliance logic can be upgraded via an external IComplianceModule without migrating the token.
Vesting and Lockups
- Time-Based Locking: Administrators can enforce lockup periods on specific users.
- Granular Control: Whitelist a user with immediate access or with a specific unlock timestamp.
- Enforcement: Use
setReleaseTime(user, timestamp)to manage locks dynamically.
Role-Based Access Control
The contract separates duties to ensure security:
| Role | Capabilities | Limits |
|---|---|---|
| Default Admin | Bypass restrictions, manage roles, mint/burn, rescue tokens | Full access |
| Compliance Officer | Manage whitelist, set lockups | Max 5 officers |
| Pauser | Trigger emergency stop (pause all transfers) | Pause only |
Lifecycle Configuration
These flags are set once at deployment and cannot be changed, providing trust to investors.
| Feature | Flag | Description |
|---|---|---|
| Minting | isMintable | If enabled, admin can issue new tokens post-deployment up to the cap. |
| Burning | isBurnable | If enabled, users can redeem tokens and admins can seize for compliance. |
| Revoking | isRevocable | If enabled, admin can force-transfer tokens (lost keys, legal seizure). |
| Max Supply | cap | Hard cap that prevents inflation beyond a guaranteed limit. |
Immutable configuration
Lifecycle flags cannot be changed after deployment. Choose your configuration carefully during the deployment process.
Safety and Operations
Emergency Stop
Freeze all transfers instantly in the event of a critical security threat using the Pausable mechanism.
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.
Transfer Validation
Every transfer is validated against compliance rules before execution, with clear error codes.