SettleMint
ArchitectureComponentsCapabilities

Token Sale (DAIO)

The Token Sale capability provides compliant primary distribution infrastructure for Digital Asset Initial Offerings (DAIOs), with multi-currency payment support, optional vesting, a five-phase lifecycle, and identity-gated buyer eligibility.

Purpose: Describe the Token Sale capability -- compliant primary distribution infrastructure for Digital Asset Initial Offerings with multi-currency payment, vesting, and identity-gated participation.

  • Doc type: Reference

What you'll find here

  • Four-contract architecture and responsibilities
  • Five-phase sale lifecycle
  • Payment, vesting, and compliance model
  • Roles, trust boundaries, and configuration surface

Boundary

The Token Sale handles the primary distribution of digital assets from issuer to investors. It enforces buyer eligibility through the DALP identity registry, manages payment collection in multiple currencies, and optionally applies vesting schedules to purchased tokens. It does not handle secondary market trading, ongoing compliance monitoring, or asset servicing after the offering closes -- those are responsibilities of the SMART Protocol and other platform capabilities.

Contract architecture

ContractResponsibility
IDALPTokenSaleInterface defining the complete Token Sale API (functions, events, errors)
DALPTokenSaleImplementationMain logic: compliance checks, vesting, multi-currency pricing, lifecycle management
DALPTokenSaleProxyTransparent upgradeable proxy preserving state and address across upgrades
DALPTokenSaleFactoryImplementationFactory for CREATE2 deployment of new sale instances with deterministic addresses

The proxy pattern enables bug fixes and feature additions without redeploying the sale or changing its address. The factory provides deterministic addresses through CREATE2, enabling address prediction before deployment.

Roles

RoleSourcePermissions
SALE_ADMIN_ROLEToken access managerConfigure sale parameters, manage lifecycle transitions, set vesting and pricing
FUNDS_MANAGER_ROLEToken access managerWithdraw collected sale proceeds
SYSTEM_MANAGER_ROLESystem access controlCreate new token sales via the factory

Role assignments flow through the token's ISMARTTokenAccessManager, ensuring that sale administration is governed by the same access control framework as the underlying asset.

Sale lifecycle

The token sale progresses through five phases. Transitions are enforced on-chain and cannot be bypassed.

PhaseStatusBehavior
SetupSETUPConfigure timing, pricing, payment currencies, purchase limits, vesting. No purchases accepted.
PresalePRESALE (optional)Accept purchases from whitelisted presale investors only. Auto-transitions to public sale at presale end time.
Public SalePUBLIC_SALEAccept purchases from all eligible buyers. Enforce per-investor limits and hard cap.
PausedPAUSEDTemporarily halt all purchases. Configuration preserved. Can resume to presale or public sale.
EndedENDEDPermanently concluded. Allow vested token withdrawals and fund withdrawals by administrators.

Phase transitions are one-directional (Setup to Presale to Public Sale to Ended), with Paused as a reversible detour from any active phase.

Payment support

The token sale accepts both native currency (ETH) and multiple ERC20 tokens as payment. Each accepted currency has a configurable price ratio that determines the exchange rate between payment currency and sale tokens.

Price ratios are set by the sale administrator and can accommodate different decimal precisions across payment currencies. The contract calculates token amounts automatically at purchase time based on the configured ratio.

Vesting

When vesting is configured, purchased tokens are not immediately transferable. Instead:

  • A cliff period must elapse before any tokens can be withdrawn
  • After the cliff, tokens release linearly over the configured vesting duration
  • Investors withdraw their vested portion at any time after the cliff

Vesting is optional. When not configured, tokens distribute immediately upon purchase.

Compliance

Buyer eligibility is enforced automatically through the DALP identity registry. Before any purchase executes, the contract verifies that the buyer's identity is registered and meets the compliance rules configured on the underlying token. Purchases from unverified or non-compliant addresses are rejected.

This compliance check is the same mechanism used throughout the DALP platform for transfer restrictions and investor verification, ensuring consistent enforcement across the asset lifecycle.

Trust boundaries

  • Identity verification -- every purchase is gated by the DALP identity registry; no tokens are distributed to unverified buyers
  • Reentrancy protection -- all purchase and withdrawal operations use ReentrancyGuard
  • Pausable operations -- the sale administrator can immediately halt purchases during incident response
  • Immutable core terms -- timing, hard cap, and compliance integration cannot be modified after the sale moves beyond the setup phase

Dependencies

DependencyRole
DALP identity registryBuyer eligibility verification
Token contracts (SMART Protocol)The digital asset being sold
System access controlFactory-level authorization for creating new sales
Token access managerRole assignments for sale and funds administration

Configuration surface

ParameterScopeMutability
Sale timing (start, end, presale window)Sale instanceSet during setup, immutable after activation
Price ratios per payment currencySale instanceConfigurable by SALE_ADMIN_ROLE
Per-investor purchase limits (min/max)Sale instanceSet during setup
Hard cap (total tokens available)Sale instanceImmutable after activation
Vesting parameters (start, duration, cliff)Sale instanceSet during setup, immutable after activation
Accepted payment currenciesSale instanceManaged by SALE_ADMIN_ROLE

Smart contracts are deployed and available. The UI wizard for creating and managing token sales is in development.

On this page