Equity tokenization (API)
Step-by-step API guide covering platform setup, user onboarding, trusted issuer configuration, token deployment, and shareholder supply for an equity issuance.
Follow these steps to run the ACME Holdings equity tokenization example using DALP Platform API calls. The walkthrough covers platform setup, user onboarding, trusted issuer configuration, collateral verification, token creation, and supply operations. Each step links to the dedicated API guide for that operation. Treat the names, email addresses, ISIN, and share values as example data; use your own legal instrument terms, approved issuer records, and compliance policy for production.
The diagram shows the full sequence: organisation setup, compliance preparation, token deployment, and investor supply. Complete each group before moving to the next. Later steps depend on outputs from earlier ones.
Prerequisites
Before starting, confirm that your EVM network has the three core contracts deployed. The platform deployer installs them once.
| Contract | Purpose | Deployed by |
|---|---|---|
| DALP Directory | Registry and discovery service for all platform instances and their components | Platform deployer |
| DALP Identity Factory | Creates on-chain identity contracts for users | Platform deployer |
| DALP System Factory | Deploys organisation-specific system contracts | Platform deployer |
You also need these items before starting.
- Platform URL (e.g.,
https://your-platform.example.com) - API access token with appropriate roles
- For public chains: ETH or native tokens for transaction gas fees
- Email addresses for all demo participants
For public chains, fund each persona's wallet before starting. Required amounts:
- Daniel Admin: moderate balance for system deployment and permission management.
- Clara Compliance: small balance for user registration and verification issuance.
- Olivia Operator: moderate balance for asset creation, permissions, minting, and transfers.
- Colin Collateral: small balance for issuing collateral verifications.
- Each invited user: small balance for identity creation when using the invitation flow.
Scenario overview
This demonstration tokenizes 100,000 shares of ACME Holdings S.A., a Luxembourg company. Digital Securities S.A. operates the multi-organisation platform.
Organizations
| Organisation | Role | Domain | Jurisdiction |
|---|---|---|---|
| Digital Securities S.A. | Platform operator | digital-securities.example | Luxembourg |
| ACME Holdings S.A. | Issuer (equity owner) | acme-holdings.example | Luxembourg |
| Guardian Collateral Services Ltd | Collateral agent | guardian-collateral.example | (generic) |
| Exchange Ltd | Exchange/vault provider | exchange.example | (generic) |
Key personas
Platform operators at Digital Securities S.A.:
| Persona | Name | Purpose | |
|---|---|---|---|
| Platform Admin | Daniel Admin | [email protected] | System setup and configuration |
| Asset Operator | Olivia Operator | [email protected] | Asset creation and management |
| Compliance Officer | Clara Compliance | [email protected] | KYC and regulatory compliance |
External partners:
| Organisation | Persona | Name | Purpose | |
|---|---|---|---|---|
| ACME Holdings S.A. | Issuer Representative | Ian Issuer | [email protected] | Legal equity owner |
| Guardian Collateral Services | Collateral Agent | Colin Collateral | [email protected] | Collateral verification |
| Exchange Ltd | Vault Provider | NovaX Vault | [email protected] | Token custody |
ACME equity token specifications
Instrument details:
| Property | Value |
|---|---|
| Issuer | ACME Holdings S.A. (Luxembourg) |
| Security type | Ordinary shares |
| Total shares | 100,000 |
| Reference currency | EUR |
| Price per share | €0.71 |
On-chain token fields:
| Property | Value |
|---|---|
| Token name | ACME Holdings Equity |
| Symbol | ACME |
| Decimals | 0 (1 token = 1 share) |
| Maximum supply | 100,000 |
| Asset class | EQUITY |
| ISIN | LU0000ACME01 |
| Initial distribution | 80,000 to issuer, 20,000 to exchange |
Implementation steps
Platform initialization
Daniel Admin initializes the system as the first platform administrator. See First Administrator Setup for the API flow.
Configure these example values:
- Email: [email protected]
- Organisation name: Digital Securities S.A.
- Base currency: EUR
- Asset factories to enable: Equity, ... (add whatever asset types you want to support)
Grant additional administrative permissions
Continue as Daniel Admin. Platform setup grants Daniel the minimum roles for managing the new organisation. Before the next steps, grant two additional roles: Add-on Manager for platform extensions and modules, and Identity Manager for inviting other users. See Change Admin Roles for the API flow.
Invite platform team
Continue as Daniel Admin. Add the platform operators and external partners who participate in this example. See Create Users for the API flow.
Platform operators:
-
Olivia Operator ([email protected]): creates tokens, handles minting and burning, and manages token lifecycle events. Also needs wallet verification to send transactions.
-
Clara Compliance ([email protected]): manages KYC/AML verification, registers identities, and issues verifications. Also needs wallet verification to send transactions.
External organizations:
-
Ian Issuer ([email protected]): legal owner of the equity being tokenized.
-
Colin Collateral ([email protected]): independently verifies collateral backing. Also needs wallet verification to send transactions.
-
NovaX Vault ([email protected]): institutional vault for token custody.
Assign platform admins
Continue as Daniel Admin. After onboarding the team, assign the roles each platform administrator needs. See Add Administrators for the API flow.
Olivia Operator requires the Asset Manager role to create and configure new assets. That role lets her work with assets without granting compliance administration.
Clara Compliance requires four roles: Identity Manager for the user registry, Verification Issuer for KYC and compliance verifications, Compliance Manager for global compliance rules, and Verification Policy Manager for verification topics and trusted issuers. Together, these let Clara set up the topic registry, approve issuers, and enforce investor checks.
Colin Collateral requires the Verification Issuer role to issue collateral verifications. That role lets him issue verifications without broader platform administration.
Configure trusted issuers
Log in as Clara Compliance and configure which issuers can issue each verification topic. See Configure Trusted Issuers for the API flow.
Clara Compliance is the trusted issuer for investor-level verifications. She verifies all investor identities using the Know Your Customer (KYC) topic. Add further topics when the relevant investor classes apply to your deployment: Accredited Investor for US qualified investor status, Qualified Institutional Investor for EU institutional investors, Anti-Money Laundering for source of funds, and Professional Investor for MiFID classification. Clara owns all investor eligibility checks in this example.
Colin Collateral is the trusted issuer for the Collateral topic. He verifies that sufficient collateral backs the token. Guardian Collateral Services fills this role in the example.
Olivia Operator is the trusted issuer for asset-level verifications: Base Price (reference pricing), Unique Identifier (ISIN and internal reference numbers), Asset Classification (category and type), and Asset Location (jurisdiction of the underlying asset, required for real-estate tokens). Olivia issues these verifications because she manages token metadata and classification in this example.
Register investors in registry
Log in as Clara Compliance and register the investors that will receive tokens. See Register User for the API flow.
Register Ian Issuer and NovaX Vault, selecting Luxembourg as jurisdiction for each. Both users then show "Registered" status and can receive KYC verifications.
Issue KYC verifications
Continue as Clara Compliance and issue KYC verifications to the registered investors. See Verify KYC for the API flow.
Issue a Know Your Customer verification to Ian Issuer and a second one to NovaX Vault. Both users then have KYC verifications and can receive ACME tokens.
Create the ACME equity token
Create the equity token using the Asset Designer and the compliance modules needed for this example. See Create Asset for the API flow.
Log in as Olivia Operator and configure the following fields across the five sections of the asset creation form.
Asset Class: select the Flexible Income class and choose the Equity type.
Basic Details: set Name to "ACME Holdings Equity", Symbol to "ACME", Decimals to 0 (whole shares only), and Jurisdiction to Luxembourg.
Asset Classification: set Category and Class to "Common Equity", Unique Identifier to LU0000ACME01 (ISIN format), and Internal Reference to ACME-EQ-001.
Pricing: set Currency to EUR and Base Price to 0.71 (€0.71 per share).
Compliance Modules: enable Identity Verification and set the required verification topic to "Know Your Customer" so only KYC-verified users can receive the asset. Optionally, enable the Collateral Requirement module with topic "Collateral" and a ratio of 100% (full collateral backing). The collateral verifier records the backing check for this example.
Configure token permissions
Asset creation gives Olivia the minimum token administration roles. Grant the token-specific roles needed for supply operations, emergency controls, and controlled servicing. See Change Asset Admin Roles for the API flow.
Assign Olivia Operator these additional roles:
- Custodian: execute transfers and forced transfers
- Emergency: pause and unpause token operations
- Supply Management: mint and burn token supply
Issue collateral verification
Colin must issue a collateral verification before minting is possible. Minting is blocked when collateral modules are enabled and no valid verification exists. See Collateral for the API flow.
Log in as Colin Collateral and issue a verification for amount 100000 (covering full supply) with expiration set to 1 year from now. This records that Guardian Collateral Services verified backing for the full token supply in the demo scenario.
Unpause the token
Log in as Olivia Operator and activate the ACME asset. Olivia can unpause because she holds the Emergency role on the ACME token. See Pause/Unpause Asset for the API flow.
Mint and distribute ACME tokens
Continue as Olivia Operator and mint tokens to the issuer. See Mint Assets for the API flow.
Mint to ACME Holdings using these values:
- Recipient: Ian Issuer (select from contacts or use wallet address)
- Amount: 100000 (full token supply)
- Purpose: Initial distribution to issuer
Execute forced transfer to exchange
Continue as Olivia Operator. Move 20,000 tokens from the issuer to the exchange vault using the forced transfer workflow as a controlled custodian operation. See Forced Transfer for the API flow.
Transfer configuration:
- From address: ACME Holdings (select from contacts)
- To address: NovaX Exchange (select from contacts)
- Amount: 20000
- Purpose: Allocate tokens to exchange for secondary market custody
Use forced transfer here only to demonstrate a custodian-controlled servicing operation between verified parties. Do not model ordinary investor transfers on this step. Olivia can execute this operation because she has the Custodian role on the ACME token.
Troubleshooting
| Issue | Solution |
|---|---|
| Minting fails | Ensure collateral verification covers mint amount (if enabled). Verify all recipients have required KYC verifications. Check operator has Supply Management role. Confirm wallet has sufficient gas tokens (ETH, MATIC, etc.) for public chains. |
| User cannot receive assets | Verify user is registered in identity registry. Ensure user has valid KYC verification. Check token compliance requirements. Confirm user's wallet address is correct. |
| Verifications not trusted | Verify issuer is configured as trusted for specific topic. Check verification data format and expiration. Ensure issuer transaction was confirmed. Refresh page after configuration changes. |
| Role assignment fails | Confirm you have role management permissions. Verify target user completed onboarding. Ensure user belongs to your organisation (for internal roles). Check transaction has sufficient gas tokens for public chains. |
For the next operational step, review asset detail workspace and the compliance overview.