Skip to content
Last updated

Once you have successfully created a project, you can create one or several token(s) under it.

We currently support two asset classes: bonds and shares (equities). While they share certain fields, they also require datapoints that are specific to them. The metadata sent to the blockchain also differs depending on the asset class.

POST Initialize tokenized asset creation /api/tokenization/{institutionId}/tokenized-assets

Request Example

# UAT BASE_URL: https://uat.vault.nyala.de
# Production BASE_URL: https://vault.nyala.de

# The {institutionIid} is 8c8f78bc-78e0-47a7-b4e0-a793343175f0
# The {projectId} is 40ff9e56-cf2a-499a-9fe7-706e0e136eb7

curl -X POST {{BASE_URL}}/api/tokenization/{institutionId}/tokenized-assets \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "blockchain": 14,
    "name": "TK-United States of America",
    "unitName": "TK6976",
    "isin": "DE976",
    "totalSupply": 1000,
    "enableFreeze": true,
    "enableClawback": true,
    "isRegulatedSecurity": true,
    "projectId": "40ff9e56-cf2a-499a-9fe7-706e0e136eb7",
    "isManuallyCreated": true,
    "credentials": {
        "passphrase": "{your-secure-passphrase}"
    },
    "interestPaymentPeriod": 3,
    "numberOfPayments": 0,
    "issuerName": "United States of America",
    "price": "100",
    "nominalAmountPerToken": "100",
    "duration": "2035-01-01"
}'

The table below describes parameters common to both bond and share tokens.

ParameterDescriptionExpected Values
Institution IDThe UID of your institution."cdae5c01-a629-4362-be56-52101ec22a49"
Project IDThe ID of the project the new token belongs."5a8591dd-4039-49df-9202-96385ba3eff8"
BlockchainBlockchain on which the token will be created."Polygon", "Stellar", "Peaq", or "NotSet"
NameFull name of the token. Visible on-chain and immutable."Tech Company Bond A"
Unit nameThe ticker of the token. Visible on-chain and immutable."TCB"
Issuer nameFull legal name of the issuing entity including legal form. Visible on-chain and immutable."Tech Company AG"
Total SupplyThe total number of tokens to be minted. Visible on-chain.5000
ISINISIN of the associated security that is being tokenized. Mandatory for securities. Visible on-chain and immutable."DE000A418DA8"
DecimalsStating whether the token shall be fractionalized or not and to what fraction. This refers to the fractionalization of the token. By default, if you do not wish to make the token fractionalizable, you should set "7" for Stellar or "18" for Polygon. If the field is left empty, no fractionalization will be possible.
If you do wish to make the token fractionalizable, you can enter "1", "2", "3", etc. for the number of desired decimals.
"18"
Is regulated securitySet "True" if token represents a regulated financial security (it must always be true if the tokenized asset has an ISIN).TRUE
Enable freezeMust be "True" for an eWpG token (financial security). It indicates if asset movements can be frozen. Note that the actual freezing of the asset can only be done by the registrar (Smart Registry GmbH).TRUE
Enable clawbackMust be "True" for an eWpG token (financial security). Indicating if asset can be forcefully removed from investor if an incident is later detected. Note that the actual clawback of the asset can only be done by the registrar (Smart Registry GmbH).TRUE
Custom attributesIn case you want to send custom attributes on-chain, you can use this field to add them. Visible on-chain and immutable.
Is fungibleAlways set to TRUE for a security / an eWpG token / any token that is not an NFT.TRUE
PassphraseEnter the project passphrase here to finalize the token creation request."Passphraseprojectxyz"
URLCan be left empty

The table below describes parameters specific to bond tokens.

ParameterDescriptionExpected Values
PricePrice per token that an investor will pay. The currency will be the same as indicated at project creation. The price of a share is not public, nor is it sent on chain."1000"
Nominal amount per tokenNominal value of a bond token. Can be different from the price. The currency will be the same as indicated at project creation. Visible on-chain and immutable."1000"
DurationStates the date when the bond is expiring. Ideally sent as a date following the format YYYY-MM-DD."2035-01-01"
Interest rateYearly interest rate of the bond, including the % sign. If the bond does not pay interest, you can leave this blank."8%"
Issuing memoSet the nominal price + "E" (if held in individual entry)."250E"

The table below describes parameters specific to share tokens.

ParameterDescriptionExpected Values
Share classThe class of shares being issued (preferred, common, etc.). Sent on-chain and immutable."Common stock"
Voting rightWhether the owner is allowed to vote at shareholder meetings or not. Sent on-chain and immutable.FALSE
Voting rightsIf the above is set to true, add a description of the voting rights as a string. Can be left empty. Sent on-chain and immutable.
Par valueThe par-value, also known as nominal or original value, is the face value of a share as stated in the corporate charter. No-Par-Value shares do not have a redeemable price, rather prices are determined by the amount that investors are willing to pay for the share on the open market. Sent on-chain and immutable.TRUE
Company consentIndicates whether the issuer must give their explicit consent before shares can be transferred to another investor. Sent on-chain and immutable.FALSE
Mixed record keepingMixed record keeping can refer to a setup where share tokens can be both held in collective and individual entries or are issued as both paper and electronic certificates. Sent on-chain and immutable.FALSE

ℹ️ You will receive a token ID back from us via the API. Use this ID to later request opt-ins and trigger token transfers. The token ID you will get back is an internal ID. You must use it to trigger other token-related API functions. It is NOT the blockchain address of the token, which follows a different format (0xABC123...). The blockchain address is not required, except to look for token operations on chain explorers such as Polygonscan.com.

Response Example:

{
    "data": "ef86ea3e-f46f-4274-aad8-e83b1a241360",
    "errorMessageCodes": null
}

GET Tokenized asset details /api/Tokenization/{institutionId}/tokenized-assets/{tokenizedAssetId}

You can retrieve the details of any tokenized asset. They include the data points listed above, as well as all past transfers, open opt-in requests, etc.

Request Example

# UAT BASE_URL: https://uat.vault.nyala.de
# Production BASE_URL: https://vault.nyala.de

# The {institutionId} is 8c8f78bc-78e0-47a7-b4e0-a793343175f0
# The {tokenizedAssetId} is ef86ea3e-f46f-4274-aad8-e83b1a241360

curl -X GET {{BASE_URL}}/api/Tokenization/{institutionId}/tokenized-assets/{tokenizedAssetId} \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json"
ParameterDescriptionExpected Values
Tokenized asset IDThe ID of the tokenized asset returned to you at token creation.

Response Example:

{
  "errorMessageCodes": null,
  "data": {
    "id": "ef86ea3e-f46f-4274-aad8-e83b1a241360",
    "name": "TK-United States of America",
    "unitName": "TK6976",
    "isin": "DE976",
    "totalSupply": 1000.0,
    "decimals": 0,
    "blockchain": 14,
    "issuerAddress": "0xFAd49EDeeE6F882e273DA477D81708338D42E666",
    "distributionAddress": "0x5456aB5F167DFBA39ac923f626e842b47cc8bb6b",
    "status": {
      "reviewDecision": 1,
      "reviewedAt": "2026-02-16T00:32:06Z",
      "paused": true
    },
    "compliance": {
      "enableFreeze": true,
      "enableClawback": true,
      "isRegulatedSecurity": true
    },
    "financials": {
      "price": "100",
      "nominalAmountPerToken": "100",
      "duration": "2035-01-01",
      "interestPaymentPeriod": 3
    }
  }
}