Developer Center

Developer Center

  • Getting Started
  • Built-in Features
  • REST API Endpoints
  • Guides
  • Cheat Sheet

›Built-in Features

Getting Started

  • What is Sirius Chain
  • Setting up your workstation
  • Writing your first application

Built-in Features

  • Account
  • Mosaic (SDA)
  • Namespace
  • Transfer Transaction
  • Aggregate Transaction
  • Multisig Account
  • Metadata
  • Account Restriction
  • Cross-Chain Swaps
  • Exchange Market
  • Decentralized Exchange Market
  • Liquidity Provider
  • Storage

Protocol

  • Node
  • Block
  • Cryptography
  • Transaction
  • Validating
  • Consensus Algorithms
  • Receipt
  • Inflation

REST API

  • Overview
  • Tools
  • Serialization
  • Websockets
  • Status Errors

SDKs

  • Overview
  • Architecture
  • Languages
  • Extending Sirius Chain Capabilities
  • SDK Development
  • SDK Documentation

Wallets & Explorers

  • Wallets & Explorers

Cheat Sheet

  • Sirius Chain Cheat Sheet

Guides

  • Overview
  • External Guides
  • Account

    • Creating and opening an account
    • Getting account information
    • Getting the amount of XPX sent to an account
    • Reading transactions from an account

    Account Restriction

    • Preventing spam attacks with account restrictions

    Aggregate Transaction

    • Sending payouts with aggregate-complete transaction
    • Creating an escrow with aggregate bonded transaction
    • Asking for mosaics with aggregate-bonded transaction
    • Signing announced aggregate-bonded transactions

    Block

    • Listening to New Blocks
    • Getting block by height

    Cross Chain Swaps

    • Atomic cross-chain swap between Sirius public and private chains

    Metadata

    • Account Metadata
    • Mosaic Metadata
    • Namespace Metadata
    • Account Metadata (Deprecated since 0.7.0 Sirius Chain release)
    • Mosaic Metadata (Deprecated since 0.7.0 Sirius Chain release)
    • Namespace Metadata (Deprecated since 0.7.0 Sirius Chain release)

    Monitoring

    • Monitor transaction

    Mosaic

    • Creating a mosaic (SDA)
    • Getting the mosaic information
    • Getting the asset identifier behind a namespace with receipts

    Mosaic Levy

    • Modifying Mosaic Supply

    Multisig Account

    • Converting an account to multisig
    • Modifying a multisig account
    • Creating a multi-level multisig-account
    • Sending a multisig transaction

    Namespace

    • Registering a namespace
    • Registering a subnamespace
    • Getting the Namespace information
    • Linking a namespace to a mosaic
    • Linking namespace to account

    Transfer Transaction

    • Transfer transaction
    • Sending an encrypted message

    Storage

    • Data Modification Cancel
    • Data Modification
    • Download Channel
    • Download Payment
    • Drive Closure
    • Finish Download Channel
    • Prepare Bc Drive
    • Replicator Offboarding
    • Replicator Onboarding
    • Storage Payment
    • Verification Payment

Storage

  • Overview
  • Participate
  • External Economy
  • Roles
  • Verification
  • Challenge
  • Rewards
  • Transaction Schemas
  • Built-In Features

    • Drive
    • Replicator
    • Verifier
    • Supercontracts

    Protocols

    • Cross-Block Protocol
    • Fair Streaming

    Storage User Application

    • Overview
    • Getting Started
    • Managing Drives
    • Managing Drive Files
    • Downloading Data

Namespace

Namespaces allow you to create an on-chain unique place for your business and your assets on the Sirius Chain.

Name

A namespace starts with a name that you choose, similar to an internet domain name. The name must appear as unique in the network, and may have a maximum length of 64 characters. Allowed characters are a, b, c, …, z, 0, 1, 2, …, 9, _ , -.

An account can link a registered name (namespace or subnamespace) with an account or a mosaic identifier.

Subnamespaces

On the internet, a domain name can have a sub-domain name. In Sirius Chain, namespaces can have subnamespaces.

You can create multiple subnamespaces with the same name in different namespaces. For example, you can create the subnamespaces foo.bar and foo2.bar.

Namespaces can have up to 3 levels, a namespace and its two levels of subnamespace domains. A subnamespace has the same duration as its parent namespace.

Alias

Alias transactions link namespaces to accounts and mosaics.

An alias or its linked asset can be used interchangeably when sending a transaction. Using the alias makes long addresses rememberable and mosaics recognizable.

Only the creator of the namespace can link the namespace to an account or mosaic. This link will be editable, so the creator may unlink a previously set alias.

The block receipts store the resolution of the alias for a given transaction.

Restrictions:

  • A namespace can be associated with only one account or mosaic, but each account or mosaic can be linked to multiple namespaces.
  • An account can assign a name to any account that permits receiving AddressNamespaceTransactions. In contrast, if the account wants to assign the alias to a mosaicId, it should be the creator of the mosaic.
  • An account can only link the alias to a mosaicId when the account is the creator of the mosaic.

Duration

Namespace life cycle

Namespace life-cycle

At the time of the namespace registration, you must set the number of confirmed blocks you would like to rent the namespace for.

The maximum namespace duration is 365 days. By default, the network is configured to generate a block every 15 seconds. You can use the following formula to approximately convert days to blocks:

duration ≈ numberOfDays * 86400 / blockGenerationTargetTimeInSeconds

During the renting period, the namespace owner can create subnamespaces, alias accounts and mosaics. The owner can also extend the rental by sending a register namespace transaction with the desired number of additional blocks.

The network can define a grace period that enables the namespace owner to renew the namespace past the expiration date before it becomes publicly available for registration.

When the grace period ends, the existing aliases and subnamespaces are pruned, becoming inactive. Hence, other accounts can now register the namespace again.

Cost

The cost of creating a namespace is configurable per network. By default, registering a namespace costs 1 xpx per block plus transactions fees. Registering a subnamespace has a fixed cost of 100 xpx plus transaction fees.

Example

A customer buys a ticket for an event. The ticket sales company sends a ticket to the customer account.

Recognizable mosaics and addresses

Recognizable mosaics and addresses

Identifying the sender

The ticket seller has registered the namespace ticketsales to link it to its account as an alias. Customers can quickly recognize incoming transactions from the vendor account.

Identifying the ticket

The same company sells tickets for events organized in different venues. The company registers a non-transferable mosaic for each actuation.

The ticket seller adds a series of subdomains on top of the root domain of ticketsales. The root plus subdomains are ticketsales.event<ID>.ticket.

The company links one registered mosaic with ticketsales.event1.ticket namespace name.

Identifying the buyer

Alice, who wants to buy the ticket, has registered the namespace alice and assigned it to her account as an alias.

The ticket vendor can send 1 ticketsales.event1.ticket to alice instead of 1 0dc67fbe1cad29e3 to VCVG35-ZSPMYP-L2POZQ-JGSVEG-RYOJ3V-BNIU3U-N2E6.

Tips

NamespaceId is upper bracket of uint64, therefore the first namespaceId hex is represented by 80 to FF.

Eg. All namespaceId hex will start from 80XXXXXXXXXXXXXX to FFXXXXXXXXXXXXXX.

Guides

  • Registering a namespace

    How to register your own namespace.

  • Registering a subnamespace

    How to register a subnamespace.

  • Linking a namespace to a mosaic

    Link a namespace to a mosaic.

  • Linking a namespace to an address

    Link a namespace to an account.

  • Getting the namespace information

    Get the ownership and duration for a given namespace identifier.

Schemas

Note:

Configuration parameters are editable . Public network configuration may differ.

Register Namespace Transaction

Announce a register namespace transaction to register and rent a namespace again.

Version: 0x02

Entity type: 0x414E

Inlines:

  • Transaction or EmbeddedTransaction
PropertyTypeDescription
namespaceTypeNamespaceTypeThe type of the registered namespace.
durationuint64The renting duration represents the number of confirmed blocks we would like to rent our namespace for. During the renting period, it is possible to extend the rental by sending a register namespace transaction with the extra-confirmed block to rent the namespace. When a renting period ends, the namespace will become inactive.
parentIduint64If it is a subdomain, a reference to parent namespace name is required.
namespaceIduint64The id of the namespace.
namespaceNameSizeuint8The size of the namespace name.
namearray(bytes, namespaceNameSize)A namespace name must be unique and may have a maximum length of 64 characters. Allowed characters are a, b, c, …, z, 0, 1, 2, …, 9, ‘, _ , -.

AddressAliasTransaction

Announce an alias transaction to attach a namespace to an account. A namespace can be assigned to any account present in the network.

Version: 0x01

Entity type: 0x424E

Inlines:

  • Transaction or EmbeddedTransaction
PropertyTypeDescription
aliasActionAliasActionThe alias action.
namespaceIduint64The id of the namespace that will become an alias.
address25 bytes (binary)The aliased address.

MosaicAliasTransaction

Announce an alias transaction to attach a namespace to a mosaic. Setting an alias to a mosaic is only possible if the account announcing the transaction has created the namespace and mosaic involved.

Version: 0x01

Entity type: 0x434E

Inlines:

  • Transaction or EmbeddedTransaction
PropertyTypeDescription
aliasActionAliasActionThe alias action.
namespaceIduint64The id of the namespace that will become an alias.
mosaicIduint64The aliased mosaic id.

NamespaceType

Enumeration: uint8

IdDescription
0Root namespace.
1Child namespace.

Alias Action

Enumeration: uint8

IdDescription
0Link alias.
1Unlink alias.
← Mosaic (SDA)Transfer Transaction →
  • Name
  • Subnamespaces
  • Alias
  • Duration
  • Cost
  • Example
    • Identifying the sender
    • Identifying the ticket
    • Identifying the buyer
  • Tips
  • Guides
  • Schemas
    • Register Namespace Transaction
    • AddressAliasTransaction
    • MosaicAliasTransaction
    • NamespaceType
    • Alias Action
  • Follow our profile
  • Ask development questions
  • Join our Discord channel
  • Explore our Youtube channel
  • Explore Github
Protocol
BlockConsensus AlgorithmsCryptographyInflationNodeReceiptTransactionValidating
Built-in Features
AccountAggregate TransactionCross-Chain SwapsExchange MarketDecentralized Exchange MarketMetadataMosaicMultisig AccountNamespaceTransfer TransactionStorageLiquidity Provider
References
REST APISDKsCheat Sheet
Includes Documentation Forked from NEM
Copyright © 2025 Sirius Chain