Creating Syscoin Platform Tokens (SPTs) on Spark

Creating an SPT Token on Spark


Install Spark wallet
Complete the Create Token Form
  • Go to the Create Token Dialogue in the main menu.

    You will see the Issue New Token form with 9 fields:
  • You will need to complete each field of this form with the specifications and parameters of your token.

More information on each form field is detailed below:


1. Token Symbol

The Token Symbol field is a 3 to 8 character alphanumeric string used to identify your token on exchanges, wallets, block explorers and any application that supports SPTs. Symbols may contain letters or numbers only. All Symbols must be uppercase and not contain any special characters.

  • This is a REQUIRED field.
  • Some exchanges support a maximum of 5 characters.

aA& - is not a valid Symbol
APX12 - is a valid Symbol

2. Public Value

Public Value is a text string that includes any information you would like quickly and easily accessible to users through block explorers, wallets or other applications that support SPTs that gives details about your token, such as a short description or reason for creation.

  • This is NOT a REQUIRED field.
  • Up to a maximum of 256 characters.
3. Owner Address

Owner Address is the address used to fund the creation of your token, and the owner of the allocation of tokens created in the Initial Supply of Asset.

  • This is a REQUIRED field.
  • The dropdown will show only Syscoin addresses with a balance large enough to create a token.
  • Choose one of the addresses in the dropdown.
4. Initial Supply

Initial Supply is the number of tokens created in the initial allocation, when you first create the token.

  • This is a REQUIRED field.
  • These MUST NOT EXCEED the number of tokens in Maximum Supply.
  • These WILL NOT appear in the My Tokens page, but in the Distribute Tokens page.
  • These can only be distributed using the Distribute Tokens function.
5. Precision

Precision is the number of units that your token can be divisible by.

  • This is a REQUIRED field.
  • Choose a number between 0 and 8 from the dropdown.
  • Precision also affects Maximum Supply. There are a maximum 18 decimal places. Precision 0 will allow 9^18 indivisible tokens, Precision 1 will allow 9^17 tokens divisible by 10, Precision 2 will allow 9^16 tokens divisible by 100 etc.
  • Default is set to 8 (Bitcoin Precision)

Precision 0 = Units cannot be divided and will be represented by whole numbers only.
Precision 8 = Units can be divided into units of 0.00000001 of the whole, exactly like Bitcoin.

6. Maximum Supply

Maximum Supply is a number you set as the maximum number of your tokens that can ever be created.

  • This is a REQUIRED field.
  • You can set your maximum supply to any number between 1 and 1^18 (depending on Precision).
  • Clicking the blue maximum supply button will autofill the form field with the the highest number allowed to be created.
  • Your Initial Supply will be taken out of this number.
  • Total Supply can never exceed Maximum Supply.

Maximum supply = 1000000, Initial supply=1000. Total supply=1000

7. Update Flags

Update Flags set editable token parameters. Each permission flag has a unique number, the sum of which define parameters the owner can change after token creation.

1 Admin Status
2 Can Edit Public Field
4 Can Edit Smart Contract (Ethereum) Address
8 Can Update Supply
16 Can Change Flags (Admin Status Required)
  • This is a REQUIRED field.
  • All flags (Full permissions, or 31) is the default setting.

The creator wants to be able to update total supply (mint new tokens) and the description, but does not want the Ethereum smart contract to ever be editable, so they choose flags 2 and 8 (Can edit public field and supply) only.
10 (2+8=10) = Can edit public field and update supply but no other permissions.

31 (1+2+4+8+16) = Full permissions.

8. Witness

Witness is a Syscoin address that will sign as a witness to the creation of the token for web-of-trust notarization of this transaction.

  • This is NOT a REQUIRED field.
9. Contract

Contract is the address for the Ethereum token contract used on the Ethereum side of the Syscoin Bridge.

  • This is NOT a REQUIRED field.
  • Must be in hex and not include the ‘0x’ format tag.
  • Leave empty for no smart contract bridge.

Example: contract ‘0xb060ddb93707d2bc2f8bcc39451a5a28852f8d1d’ should be set as: