The process of [[Token Delegated (m-token)|m-token]] declaration is similar to the regular [[How to Create and Manage the Token|CF-20 token declaration]]. The only difference is in the creation of declaration datum.  ## Datum declaration The simple [[Node Command - TOKEN DECL|token declarations]] parameters are: **`net`** - name of the Cellframe Network **`chain`** - name of the chain where token was declared **`token`** - ticker (name) of the token **`total_supply`** - maximum sum of all token emissions `in datoshi` **`signs_total`** - quantity of authorized token signatures **`signs_emission`** - quantity of authorized token signatures required for its emission, must be lower than `signs_emission` value **`decimals`** - number accuration after comma (`18` by default) **`certs`** - certificates which is used to sign token (you can use any certificate) The **`-delegated_token_from`** key with a token ticker value is a required addition. > [!HINT] Note > To create an **m-token** for any token, such token must be already declared and emitted in the corresponding network. `Command example:` ```actionscript cellframe-node-cli token_decl -net riemann -chain zerochain -token mBIG -type CF20 -total_supply 0 -decimals 18 -signs_total 3 -signs_emission 2 -certs riemann.bridge.pvt.0 -delegated_token_from BIG ``` `Response example:` ```actionscript         errors:                 code: 0                 message: Datum 0x8555B08155814FE7FCDE0055E1CC5D2DD76A2F10C71FAB88972079D514239586 with token mBIG is placed in datum pool ``` ## Datum signing Next step is to sign the **declaration datum** with the required number of signatures. It can be done using [[Node Command - TOKEN DECL SIGN]]. `First sign example:` ```actionscript cellframe-node-cli token_decl_sign -net riemann -chain zerochain -datum 0x8555B08155814FE7FCDE0055E1CC5D2DD76A2F10C71FAB88972079D514239586  -certs riemann.bridge.pvt.1 ``` `Response example:` ```actionscript         errors:                 code: 0                 message: Datum was replaced in datum pool:         Old: 0x8555B08155814FE7FCDE0055E1CC5D2DD76A2F10C71FAB88972079D514239586         New: 0xD92AD54FC6DAEBDFC148168F9FC4D5A50353E4E0673C034C8A975706BD696655 ``` `Second sign example:` ```actionscript cellframe-node-cli token_decl_sign -net riemann -chain zerochain -datum 0xD92AD54FC6DAEBDFC148168F9FC4D5A50353E4E0673C034C8A975706BD696655  -certs riemann.bridge.pvt.2 ``` `Response example:` ```actionscript   errors:                 code: 0                 message: Datum was replaced in datum pool:         Old: 0xD92AD54FC6DAEBDFC148168F9FC4D5A50353E4E0673C034C8A975706BD696655         New: 0x5EBEE728270AD919359B7BE9F4DC6B50C549369652B9AEF77A7C09DB24303F13 ``` After signing the datum, it needs to be processed. It can be done using [[Node Command - MEMPOOL PROC]]. `Command example:` ```actionscript cellframe-node-cli mempool_proc -net riemann -chain zerochain -datum 0x5EBEE728270AD919359B7BE9F4DC6B50C549369652B9AEF77A7C09DB24303F13 ``` `Response example:` ```actionscript         datum:             hash: 0x5EBEE728270AD919359B7BE9F4DC6B50C549369652B9AEF77A7C09DB24303F13             type: DATUM_TOKEN             ts_created:                 time_stamp: 1750320715                 str: Thu, 19 Jun 2025 08:11:55 +0000             data_size: 10278         verify:             isProcessed: true             notice: Removed datum from mempool. ``` After the declaration datum is processed by the **root nodes**, it becomes a part of the zerochain and can be found in the network. ## Datum information `Command:` ```actionscript cellframe-node-cli token list -net riemann ``` `Result:` Take notice that this datum has **`ticker_token_from`** key in the token dump. ```actionscript                 mBIG:                     current state:                         -->Token name: mBIG                         type: CF20                         flags: NONE                         description: The token description is not set                         Supply current: 0                         Supply total: 0                         Decimals: 18                         Auth signs valid: 2                         Auth signs total: 3                         Signatures public keys:                                 line: 0                                 hash: 0xE7D0E94E6792FE145A9691ECDFECA151BC1C7477C3E11979DA48E5752C14A2E1                                 pkey_type: DAP_PKEY_TYPE_SIGN_DILITHIUM                                 bytes: 1196                                 line: 1                                 hash: 0x0A57D6D1F3E72E9F2D1DDA6E6089AFEB0AADB953FB347E08C7B6575D65FA6D56                                 pkey_type: DAP_PKEY_TYPE_SIGN_DILITHIUM                                 bytes: 1196                                 line: 2                                 hash: 0x18A38ACF46876226F9AC130427870814503C19B00185A85F034DDC2058D699C1                                 pkey_type: DAP_PKEY_TYPE_SIGN_DILITHIUM                                 bytes: 1196                         Total emissions: 0                     declarations:                             status: ACCEPTED                             Ledger return code: 0                             Datum:                                 === Datum Token Declaration ===:                                 hash: 0x5EBEE728270AD919359B7BE9F4DC6B50C549369652B9AEF77A7C09DB24303F13                                 ticker: mBIG                                 size: 10278                                 version: 2                                 type: DECL                                 subtype: CF20                                 decimals: 18                                 auth signs valid: 2                                 auth signs total: 3                                 total_supply: 0                                 flags: NONE                                 ticker_token_from: BIG                                 emission_rate: 0.001                                 Signatures:                                 status:                                         line: 1                                         hash: 0xE7D0E94E6792FE145A9691ECDFECA151BC1C7477C3E11979DA48E5752C14A2E1                                         sign_type: sig_dil                                         bytes: 2096                                         line: 2                                         hash: 0x0A57D6D1F3E72E9F2D1DDA6E6089AFEB0AADB953FB347E08C7B6575D65FA6D56                                         sign_type: sig_dil                                         bytes: 2096                                         line: 3                                         hash: 0x18A38ACF46876226F9AC130427870814503C19B00185A85F034DDC2058D699C1                                         sign_type: sig_dil                                         bytes: 2096 ``` There you can see all the information about newly declared **m-token**.