Deploying a new ERC3643 token

The Factory allows you to deploy an ERC3643 permissioned token easily, with no interaction with the blockchain, simply by configuring information about your token.

To perform this request, the account needs to have the permission. It can either be the owner of smart contracts, or an Issuer Agent; an agent with deployment rights.

cURL request

curl --location --request POST 'https://servicing-api-testing.tokeny.com/api/issuers/{issuer_id}/deploy-token' \
--header 'Authorization: Bearer <jwt>' \
--form 'name="name"' \
--form 'symbol="symbol"' \
--form 'decimals="8"' \
--form 'currency="USD"' \
--form 'type="FUND"' \
--form 'ethereumNetwork="MUMBAI"' \
--form 'logoExtension="image/png"' \
--form 'logoName="logoName"' \
--form 'file=@"<jwt>"'

Parameters

  • name corresponds to the name you want to give to your token. It is a free string, without any special characters, length between 2 and 32 characters.
  • symbol is the symbol of your token on the blockchain, between 2 and 32 characters.
  • decimals is the number of decimals for your token, it is a plain number between 0 and 18.
  • currency can be either USD or EUR
  • type can be either FUND, EQUITY, DEBT, COMMODITY, STABLECOIN, OTHER
  • ethereumNetwork should be MUMBAI in testing, and MAINNET in production
  • logoExtension it can be either png or jpg, the logo will be uploaded and you will receive a logo URL
  • logoName is another name you give to your logo that will be incorporated in the link
  • file import the logo file

Result

{
    "name": "name",
    "symbol": "symbol",
    "decimals": 8,
    "ownerWallet": "<ownerWallet>",
    "type": "FUND",
    "issuerId": "<issuerId>",
    "issuerName": "<issuerName>",
    "currency": "EUR",
    "logo": "<logo url>"
}
  • issuerId unique identifier of the token issuer, as passed in path
  • issuerName name of the issuer
  • logo is the link to your token logo on our AWS S3 bucket, you can use it on your website

Troubleshooting

The format of the error is the following:

{
    "statusCode": 401,
    "timestamp": "xxxx-xx-11T16:47:03.430Z",
    "path": "/api/issuers/{issuer_id}/deploy-token",
    "message": "Unauthorized",
    "name": "REST_UNAUTHORIZED_ERROR"
}
  • 400 with code:
    • E_TOKEN_NAME_NOT_ALPHANUMERIC: you have unauthorized character(s) in your token name. Make sure you are not introducing any special character in it.
  • 401 with code:
    • E_UNAUTHORIZED: you are not authenticated or your authentication has expired. Please authenticate again. If error persists, please open a ticket on the support website.

Next steps: after initial token deployment, if the new token requires a custom compliance (e.g. transaction rules, country restrictions...), or a shared Identity Registry Storage (i.e. shared database of investors between multiple tokens), please inform our support team.

If not done prior to token deployment; add Agent(s) that will manage the token supply as well as investor qualification.