Issue asset deploys a new token from an instrument template that your organisation has published. The token is a composable token, one contract that carries the template's features, metadata fields and compliance rules from the moment it exists. The wizard creates only this kind of asset, called a DALP asset. The template you pick on the first step decides which later steps appear and which fields they ask for.
Decide the template, the role holders and the compliance values before you start. To list or edit tokens that already exist, use All assets.
The first step, “Instrument”, lists under “Choose an instrument” the templates your organisation has published in one table, with a search field and the “Class” and “Features” filters.
Each row carries a radio, the template's name with a short description, its class, its feature count and the assets issued from it.
Steps
The steps run in a fixed order:
- Instrument.
- General info, titled after the template once you pick one, such as “Corporate Bond information”.
- Instrument details, when the template leaves values for you to set.
- One step per compliance module the template's policy leaves open.
- Holder rule.
- Asset permissions.
- Token logo.
- Review.
Selecting the template also sets the asset class, so there is no separate asset class step.
A structure is a set of linked templates issued together, such as a dual-class share or a convertible note. For a structure, the draft card at the top of the step list names the structure and its number of classes. The list gives each class its own section, such as “Controlling class” and “Economic class”, with that class's instrument under the heading. Each class's “General info” step shows the token name and symbol entered for it, or “Not set” until you enter them, so a class you have filled in stays in view while you work on the next.
Nothing reaches the chain until you confirm the summary with your wallet verification. A deployment that succeeds cannot be undone or deleted from the Console. A failed attempt keeps your entries, so you can correct them and try again.
Choose the instrument
Open “Assets”, then “All assets”, and select Issue asset. The page keeps the Console sidebar and top bar and shows the heading “Issue asset”. On a wide screen a list of steps sits beside the form. On a narrower screen a bar with a “Steps” button replaces it. Each step ends with “Back” and a button that names the next step.
The first step, Choose an instrument, is one table of the templates your organisation has published and not hidden. Each row has a radio, the name with a one-line description, its class, how many features it includes, how many assets your organisation has issued from it and the date of the latest one. Search by name or description, narrow the rows with the “Class” and “Features” filters, or sort any column. Select a row, with its radio or anywhere on the row, to open its detail below it: the full description, the included features, with the ones you set at issue marked “You set”, the compliance policy and its controls, and the asset class. A template that needs a token your organisation does not have yet keeps its radio disabled and shows a “Needs a denomination asset” or “Needs a target token” label. Select the row to see what is missing and how to add it.
Three DALP Library templates start published in every organisation: Common Equity, Corporate Bond and Fiat-Backed Stablecoin. Every other template appears after someone with the Permission manager, System manager or Asset designer role publishes it on Instrument templates. A structure, such as a dual-class share or a convertible note, is listed only when your organisation has published the structure and every template in it, and none of them is hidden. Both DALP Library structures start unpublished, so the list leaves them out until someone publishes them on the Structures tab of Instrument templates.
A template stays visible but disabled, with the label “Needs a feature factory”, when one of its features has no feature factory on your organisation's system. Every DALP Library template that uses holds, such as Fiat-Backed Stablecoin, reads this way on a system that predates DALP 3.2 until its Hold factory is installed. Select the row to see which features are missing. A System manager gets Open Factories, which opens Factories to deploy them. Anyone else reads that a System manager deploys them. Once the factory is indexed, the row is enabled.
When you hold one of those roles, a line under the list reads “You can publish more templates from the instrument templates overview.” with an Open instrument templates link. When your organisation offers no template, the step shows “No instrument templates yet” in place of the list. With a managing role you get the same link. Without it, the step tells you to ask an asset designer or administrator. When a search matches nothing, the search box stays and the list reads “No results found”, with “Try adjusting your filters to find what you're looking for.”
This step also checks your wallet. When it has no on-chain identity, the step shows “Your wallet has no identity yet”, names the wallet, and offers “Copy wallet address” and Check again. The continue button stays disabled until an Identity manager creates the identity, because creating the asset would fail after you enter your PIN.
Picking a template sets four things at once. The figure shows the four and which entries a change of template resets.
Switching to a different template resets the instrument details, metadata values and compliance values to the new template's defaults.
Enter the asset basics and instrument details
The step after Instrument is titled after the template, for example “Corporate Bond information”. A built-in template shows its name in your language. An organisation's own template shows its name as typed. Enter:
- Name: required, at most 50 characters. A name of only spaces is refused with “Name cannot be blank.”
- Symbol: required, uppercase letters A to Z and digits only. The field takes up to 12 characters and fills itself from the name until you edit it.
- Decimals: a whole number from 0 to 18. The default is 18. An empty or out-of-range value reads “Decimals must be a whole number from 0 to 18.”
- Jurisdiction: the country recorded on the token's identity at creation. It does not restrict which countries holders come from. Country compliance modules do that.
- Base price with its currency: required, except on a template with maturity redemption, where the price comes from the face value and denomination asset you set next. The price must be greater than zero. The field refuses zero and a negative price with the same message.
When an asset in your organisation already has the same name, symbol and decimals, a warning names it and suggests changing one of the three. The warning does not block the step. When the factory already holds an asset with the same name, symbol, decimals and asset type, the deployment view ends on “<asset name> was not issued”.
Instrument details follows when the template leaves feature values or metadata fields for you to set. It shows only those values, within the minimum and maximum the template allows. Issue asset does not ask for a value the template fixed.
Each group of values is a section with its name on the left and its fields on the right. The template's own metadata comes first, in groups that fit the instrument: “Issue”, “Issuer” and “Terms” for a bond, “Issuer” and “Reserve” for a stablecoin, “Identifiers”, “Issuer” and “Share terms” for equity, and “Identifiers” and “Fund” for a fund. Any other template shows its fields in “Identifiers”, “Issuer” and “Details”. One section per configurable feature follows, such as “Maturity and redemption”, “Fixed treasury yield”, “Dividend yield” or “Management fee”. Identifier fields such as ISIN and LEI carry a short line that gives the format, and a value that fails its check shows a warning under the field without blocking the step. Where values combine, a line under the fields shows the result as you type: what each coupon pays per token, the redemption amount on the maturity date, or the fee on a transfer, burn or mint of 1,000 tokens.
A value that a feature section already asks for is entered once, in that section. The metadata section shows it as read-only text, for example “Same as Maturity and redemption below” for a bond's maturity date and “Same as Management fee below” for a fund's management fee. Where a form shows one, it reads “Fixed by the template:” followed by the value. An amount that a feature holds in another token, such as a bond's face value in its denomination asset, is entered in whole units of that token, and the field shows that token's symbol once you choose it. A date field, such as a bond's Issue date, shows the day written out, for example “10 Nov 2026”, the same way the “Maturity date” field and the review step show it.
A date field takes a day up to 100 years ahead. When the template sets a “Lower bound” or an “Upper bound” on the field, that day is the earliest or the latest it takes. It refuses a typed day outside that range, such as 9999-12-31, and a day that does not exist, such as 2026-02-30. A money amount, such as a tokenized bank deposit's “Insurance limit”, cannot be negative. Each field shows a message under it when it refuses an entry. Continue stays unavailable until you correct the value or clear an optional date.
When the Console assistant is on and its data scope is Send documents, both steps offer to read a term sheet PDF of up to 20 MB and fill the fields it states. What the assistant sends covers that setting. Each filled field shows the page and words it came from. Check every field before you continue.
Fill in the compliance details
Each compliance module that the template's policy leaves open for issuers gets its own step under Compliance details, titled with the module's name, such as “Country allow list”. A policy can apply the same module more than once. Each instance then gets its own step, marked “Inherited from template (N rules)” and “Rule 1 of N”. The step shows the module's parameters with the policy's values filled in, and an “Applies to” line with the senders and receivers the rule checks. The scope comes from the policy and cannot be changed here.
A control the policy requires without configuring it gets a step too. A module the policy fixes for issuers, by turning Make configurable in Issue asset off, gets no step. Its values come from the policy and are installed as they are. Policy templates explains that choice, and Compliance modules describes each module's parameters.
When the country rules contradict each other, for example a country on both an allow list and a block list, the step and the summary show Contradictory country rules and explain who can no longer receive the asset. The warning does not block you, so read it before you continue.
When the Console assistant can draft, as set on Assistant, each compliance step starts with “Write the policy”. Write the policy in your own words and select Read the policy. “Fill N rules into the design” then writes each rule's values into the matching step and adds a step for a rule the policy does not bring, and a message says how many steps were filled. Nothing is installed until you create the asset. After creation, the platform stores the policy text with the asset.
A capital raise limit needs the system's price resolver add-on. Creation is refused when the system has none. The platform fills in the resolver and the price topic for you when it is installed.
Choose the holder rule
On Holder rule, state who may hold the token. The step has no default you did not choose. Pick one of three options:
- Policy template: use the identity verification rule of a compliance template. The step preselects your organisation's default template when it has a holder rule.
- Custom expression: build the rule from claim topics in the expression builder.
- No holder requirement: write no rule. Only wallets registered in the system identity registry and not marked lost can hold the token.
You cannot continue until you choose. Creation writes the rule to the token's identity registry and shows it as a Writing holder rule step of the deployment. You can change it later on the token's Compliance tab. See Capacity topics for admitting custodians.
Assign the initial permissions
On Asset permissions, decide which accounts hold which roles on the new token. Your own wallet is always listed with Permission manager, Governance, Supply management and Emergency. These four roles show “Required for the creator” and cannot be switched off. Together they let your wallet mint, launch and halt the token, change its features, compliance and documents, and grant any role on it to any wallet, your own included. Your wallet can add Custodian to itself and force a transfer, and a role grant waits for a second person only while the “Administration” row protects the “Role management” group. Move roles to other wallets from the token's page after it deploys when your rules keep them apart.
Select Add permission to give another account any of Permission manager, Custodian, Emergency, Funds manager, Governance, Offering admin and Supply management. Custodian can freeze balances, force a transfer out of any holder's wallet and recover a lost wallet's tokens, even while the token is halted. Roles and permissions describes each role. The zero address cannot hold a role. Removing a row offers an undo for a few seconds. When your organisation has segregation of duties rules, the platform checks the assignments when you submit, your own four roles included, and refuses a create that would give one account two roles those rules keep apart.
Add a logo
“Token logo” takes a PNG, JPEG or WebP image of at most 5 MiB and 2048 by 2048 pixels, and square images work best. Select Skip for now to keep the generated disc. You can add or replace the logo later from the token page. When the upload fails, retry it or skip the step.
Review
Review shows one section for each step you completed: “Instrument”, “Basics”, “Instrument details”, “Compliance”, “Holder rule”, “Permissions” and “Logo”. “Compliance” shows the policy and one row per control with its settings in words, and “Holder rule” shows the rule and the floor.
Each section has an Edit link that returns to that step, and your answers stay. When the template links no policy, a finding above the sections reads “Compliance: None” and “Asset will deploy without compliance controls.” The button at the bottom is “Issue asset”.
The token starts halted. Select Open for transfers once issued under “On issue” to launch it as part of the deployment. Left off, an account with the Emergency role must launch the token with “Resume token operations” before mint and transfer operations work.
When a feature pays in a denomination asset, the summary reads that asset's decimals first. While it loads, the create button stays disabled with “Loading denomination details before creation…”. When the read fails, a Retry button appears and the create button stays disabled until a retry succeeds.
While you read the summary, the Console asks the platform whether the creation would be refused, using the same checks the creation runs: your role, the active system, the template and its factory, the feature factories the template's features need, the denomination asset, the payout treasury, the issuer identity and the price feed signer. A refusal appears once, as a finding above the sections with its fix, and the create button stays disabled until you correct the cause. The check changes nothing and asks for no PIN. When the check itself cannot run, the summary says so and does not block you, because the creation repeats every check and refuses the same way.
A paired structure is checked the same way, once for each class. The review of a structure lists every class under its own heading. A refusal appears once, as a finding under the class it concerns, and the accept button stays disabled until every class clears the check. Terms that only an accepted issuance run can issue, such as a distribution waterfall, are checked when you accept, not before.
Select Issue asset and confirm with your PIN or one-time code in “Confirm asset creation”. When the platform refuses the denomination asset or a payout treasury before anything deploys, the wizard returns you to “Instrument details” with the field marked. Any other refusal keeps you on the summary and shows an error notification with its reference.
The Console then opens the deployment view. Its card is titled “Issuing” followed by the asset name, and holds a live list of steps. Go to activity in the card footer leaves the page, and the deployment keeps running. When the wallet that pays for the deployment runs short of gas, a “Waiting for gas” notice and a funding prompt appear in the card, and the deployment continues once the wallet is funded. When the connection to the live view drops, a status line reads “Reconnecting. Still deploying…” while the deployment continues on the server. Do not submit again.
The view ends on one of three screens:
- “
<asset name>is issued”: the card shows the asset and its address, and the Console opens the new asset's page. Open asset opens it by hand and “Issue another asset” starts a new draft. - “
<asset name>was not issued”: a notice shows the reason as the platform wrote it, followed by the reference in your language and a “Copy reference” button. The step list shows where it stopped, with the step named in your language. “Back to review” returns you to the summary with your entries in place. Try again asks for your PIN and submits the same draft again as a new deployment. When the asset itself was already created and only its setup failed, “Try again” is not offered, because it would create a second asset. The notice says so, and “Open All assets” leads to the row where you finish the setup or discard it. - “Deployment status unknown”: the connection ended or the live view failed before the deployment reported a result, and the asset is most likely still deploying. This screen has no button back to the wizard. Select Go to activity and follow the deployment there, and search “All assets” for the name and symbol before you submit again.
A structure deploys one class at a time in its declared order, each with its own steps and summary, and “Review” comes before the first deployment. When a later class fails, the classes already deployed stay live. The footer offers Resume followed by the class name, which retries that class with its draft intact.
Troubleshooting
The Issue asset button is missing or disabled
Signal: no Issue asset button appears, or a direct link shows “Not available”. Cause: no wallet of yours holds the Asset manager role on the organisation's system. Fix: ask a Permission manager to grant the role, then reload. When the button is disabled with a line that names another wallet, the role sits on that wallet. Switch to it to issue.
Continue stays disabled on the first step
Signal: “Your wallet has no identity yet”, and a line under the continue button says your wallet needs an identity before you can issue an asset. Cause: the wallet you act with has no on-chain identity. Fix: copy the wallet address, ask an Identity manager to create the identity, then select Check again. A new identity can take a moment to show.
Continue stays unavailable on Instrument details
Signal: the continue button stays unavailable. Cause: a required field is empty, or a field refuses its entry, such as a day that does not exist, a day outside the field's range or a negative amount. A refused entry shows a message under its field. Fix: fill every required field, correct a refused value, or clear an optional date. An identifier warning, such as on an ISIN, does not block the step.
The template you need is not listed
Signal: the first step lists fewer templates than the instrument templates catalogue holds, or shows “No instrument templates yet”. Cause: your organisation has not published the template, or has hidden it from Issue asset. Only Common Equity, Corporate Bond and Fiat-Backed Stablecoin start published. When Issue asset shows “No instruments yet” instead of its steps, the system has no “DALP asset” factory: ask a system manager to register it on Factories. Fix: with the Permission manager, System manager or Asset designer role, follow the link under the list, or open “Asset design”, then Instrument templates, and publish the template. Without that role, ask an asset designer or administrator to publish it. Then reopen “Issue asset”.
Your saved template is no longer available
Signal: a resumed draft shows “Your saved template is no longer available. Pick another one.” and the continue button is unavailable. Cause: the template you picked earlier was unpublished, hidden or deleted after you saved your draft. Fix: pick another template, or have the earlier one published again and select it.
A template cannot be selected
Signal: the template's radio is disabled and its row carries a “Needs a denomination asset” or “Needs a target token” label. Cause: the template pays fees, yield or a maturity redemption in a denomination asset, or converts into a target token, and your organisation has no such token yet. Fix: select the row to open its details. Register an external token opens the register sheet on the same step and keeps your draft. “Issue a stablecoin”, or “Issue a conversion target token”, restarts Issue asset on the instrument step, filtered to the asset class that token needs. Once the token exists, the radio is enabled.
Signal: the row carries a “Needs a feature factory” label and its details name the features. Cause: one of the
template's features has no feature factory on your organisation's system, so the token factory would refuse the
deployment. Fix: a System manager deploys the missing factories from Open Factories, or with System updates.
Once the factory is indexed, the radio is enabled. The API refuses the same create with
TOKEN_ before anything is signed.
Selecting a template shows an error about its compliance rules
Signal: Couldn't apply the template's compliance rules. Cause: the template's policy names a control that this environment does not have, names the issuer while your wallet has no identity or wallet on this network, or could not be loaded. Fix: read the message under the title. Ask an Identity manager to create your identity and try again, pick another template, or ask your administrator to correct the policy.
A field is marked after you submit
Signal: the wizard returns to Instrument details with a message on the denomination asset or a treasury field. Cause: the platform refused the value before anything deployed, for example a denomination asset whose ERC-20 symbol and decimals cannot be read, or a token contract named as a payout treasury. Fix: choose another token, or name a wallet as the treasury or leave it empty to pay from the issuing wallet. Then submit again.
Deployment fails after submission
Signal: the deployment view ends on “<asset name> was not issued” with an error and a “Copy reference” button.
Cause: a deployment failed after submission, for example because the asset duplicates one the factory already holds,
or because the create was refused in simulation before it was sent. A refusal in simulation reads “The create
broadcast was not sent”, and nothing reached the chain. Fix: read the error. When “Try again” is offered, nothing was
deployed: fund the wallet or correct what the error names, then select Try again, or “Back to review” to change
your entries first. Copy the reference before you contact support.
The deployment view says it is reconnecting
Signal: the status line “Reconnecting. Still deploying…” above a list of steps that has stopped updating. Cause: the live connection to the deployment dropped, but the deployment continues on the server. Fix: wait, and do not submit again. When the connection recovers, the list continues. When it does not, the view moves to Deployment status unknown.
A deployment ends with no result
Signal: “Deployment status unknown” with a “Go to activity” button and no way back to the wizard. Cause: the connection ended or the live view failed before the deployment reported a result. Fix: do not submit again. Select Go to activity and follow the deployment there. The way back to the wizard is missing on purpose, because submitting your entries again could start a second deployment.
A funding prompt appears mid-deployment
Signal: a “Waiting for gas” notice and a prompt to fund a wallet appear in the deployment card. Cause: the account that pays for the deployment ran short of gas. Fix: fund the wallet as prompted. The deployment continues once the funds arrive.
Frequently asked questions
None of the available templates fit. Where do I create a new one?
On Instrument templates, under Asset design in the sidebar. Check there first for a DALP Library template that fits and is still unpublished. Once a template is published, it appears on the first step of Issue asset.
Can I add or remove role holders after the asset deploys?
Yes, from the token's own page. Asset permissions in this wizard sets only who holds a role at deployment.
Can an integration check a name or predict an address before it creates an asset?
Yes, through the Platform API, without changing anything. GET /api/ answers whether a name, symbol and decimals are still free. It also answers that they are free when the system has no factory of that type. POST /api/ returns the address of the new token's access manager. Call it with the wallet that will create the asset, because the address depends on that wallet. It answers 422 when the system has no factory of that type.
Can an integration create an asset without a template?
Only on a deployment whose operator turned on legacy asset creation, as Upgrade a deployment to DALP 3.2 describes. With that setting off, the default, POST /api/ refuses every classic asset type with HTTP 422 and TOKEN_, with or without a template. With it on, POST /api/ takes templateId as optional when type is bond, equity, deposit, fund, stablecoin, precious-metal or real-estate, and requires it when type is dalp-asset, the type every instrument template deploys. A classic asset created without a templateId is not held to any template, so publication, “Hide from Issue asset” and a template's policy do not apply to it. The caller still needs the role that creating a token requires.
With a templateId, a classic type is checked only for a template that is published and not hidden in your organisation. A template that declares features is refused for a classic type with Template, because a classic token cannot take features. The template's parameters and metadata apply only to dalp-asset.
If I leave the token halted, can I launch it later?
Yes. In the Console, your wallet always receives the Emergency role at creation, whether or not you select “Open for transfers once issued”. Launch the token later: on its page, open “Actions” and select Resume token operations. To let another wallet launch it, grant that wallet the Emergency role on “Asset permissions” or later from the token's page.