Account is the Ethereum blockchain address. Cryptocurrency Ether and Ethereum tokens (SONM token and others) can be transferred between accounts.

Account address is a unique identifier for SONM user or Worker.


Any operation in SONM must be digitally signed by account's private key. The private key and account's address are generated while creating account. Generated private key and address are stored in a keystore file (UTC/JSON). SONM doesn't support other types of private key format.

You should always keep your account's keystore file and its password secure, because anyone can use your private key to spent all your tokens and Ether from your account. It's highly recommended that you use different accounts to operate SONM and to store your Ether and other ERC20 tokens.

SONM user can generate new account and its keystore file in SONM Wallet / CLI or in another application (for example, MyEtherWallet).

Account usage for Customers and Suppliers differs, see details below. SNM accounts usage

Using accounts by Customer

Every SONM Customer has one account. The Customer can have multiple accounts, in that case SONM will treat these accounts as different Customer. For example the Customer needs to get a dedicated KYC certificate for each of his accounts.

SONM components' account usage:

  • Wallet/CLI requires Customer's account (keystore file (UTC / JSON) and password) to identify user.
  • Client node uses Customer's account to interact with SONM Marketplace, Workers and other SONM networking services.

Using accounts by Supplier

Every Supplier must have his own Ethereum master account, that is his unique identifier. The master account receives all incomes and holds Supplier's profile and rating. The account must be pointed in each Worker's configuration, it's mandatory option.

Supplier can also have optional administrative accounts to manage Workers while reducing risk of disclosing his master account's private key that can lead to loosing earned tokens, invalidating Supplier's rating and certificates. The adminitrative account can be use to monitor and setup Workers. Supplier can setup several administrative accounts. The accounts should be pointed in each Worker's configuration.

Furthermore, each Worker will use its own unique account to operate SONM marketplace. This account is connected to master account via special binding procedure. When Worker starts it attempts to register as Worker for selected master account and waits until master accepts the binding. Worker will not sell resources until master binding is not set up correctly.

Supplier's SONM components:

  • Wallet/CLI requires Supplier's master account to identify Supplier, it's profile, certificates, etc.
  • Client's node requires Supplier's administrative or master account to monitor and set up Workers.
  • Worker node uses autogenerated account to interact with Marketplace, Smart contract.