Getting started as a Supplier

Updated on 30-06-2018

Who is SONM Supplier

Supplier is SONM user, who own computational resources and provide it to SONM for rent. Suppliers can earn tokens by selling computing power peer-to-peer to Consumers and perform thier calculations.

Every Supplier should have Ethereum address, that is his unique identifier. This address called 'Master address', and is using for:

  • receive payments with SNM tokens for resources rented in SONM (marketplace smart contract send all payments to this address from all his SONM Workers);
  • link profile certificates, deal statistics, contact information, etc;
  • personal blacklist of SONM users (common for all supplier's workers) to not have deals with specified addresses;
  • SONM worker control.

Do not use your main ETH address for Master purpose, better option is to generate a new one with SONM GUI.

Better option is to keep safe your Master address and use Admin address instead. Admin key do not receive payment for rented resources and used only for worker node management and authentication purposes within SONM network.

To use SONM ptatform, supplier should have following components (our auto-installation script install all these stuff automatically, see next section):

  • one or several PCs with Linux x64 OS (Debian-based OS such as Ubuntu are preferred), running:

    • Docker CE;
    • SONM Worker (interacts with other SONM components to provide computational resources);
    • SONM Optimus (optional SONM component, seller-bot which analizes SONM Marketplace and manages SONM Worker resources to conclude most profitable deals);
  • also Supplier need these components for worker management:

    • SONM Node (provides external API to interact with SONM platform);
    • SONM CLI (uses Node API to interact with SONM platform);

SONM GUI (GUI for SONM Marketplace, profile management, Ether and ERC20 token transfers) is not required for supplier, but it helps to:

  • manage accounts,
  • Ether and ERC20 token transfers,
  • deposit SNM tokens to SONM blockchain and withdraw them to main Ethereum network,
  • confirm workers,
  • view deals and market orders,
  • pass the certification for profile.

Supplier may use SONM CLI and Node on each Worker node to manage it locally, or have one remote administrative PC for worker management, running SONM Node, CLI and SONM GUI.


We use special Gate smart contracts and Gatekeeper masternodes to validate transactions for deposit SNM tokens to SONM blockchain and withdraw them to main Ethereum network. Transactions are not rapid, there are delays for:

  • validate transaction (include transaction to the block) - this depends on current workload of the main Ethereum network and transaction settings you set ("gas limit" and "gas price");
  • quarantine period for the gate - 15 minutes.

Taking this into account, the normal time to deposit funds in the opposite blockchain is: <the time of mining your transaction + 15 minutes>

Main steps for Supplier

Video version of SONM platform installation manual


Open GUI.

  • create wallet (Choose LIVENET);
  • create new account (this is your 'Master address');
  • enter personal data;
INSTALL SONM platform software

To INSTALL SONM software for Supplier run these commands:

  • sudo apt-get install curl

  • sudo bash -c "$(curl -s" -s YOUR_MASTER_ADDRESS

Warning! Do not leave pass_phrase field blank! during installation

After installation check token balance to make sure that SONM-node component is working correctly sonmcli token balance.

SONM-worker component launch several benchmarks on it's first start. You can check them and any tasks running through your machine using following command sudo docker ps.

SONM-worker may not respond during benchmarking process. So you need to wait until their completion. In case you have several GPU on board, benchmarking process may take about ~1 hour.

You need to confirm that this particular worker belongs to your master.

You can check worker address waiting for confirmation by using sonmcli master list <MASTER_ADDR>

Confirm your worker address via GUI to operate with SONM-worker component.

  • proceed to menu "Market - Workers";
  • press "Confirm" button;
  • enter your password for this account;

Check worker confirmation by running sonmcli master list <MASTER_ADDR> again

Check your worker status with following command sonmcli worker status

Check worker resources by running sonmcli worker devices

You may see other CLI commands here SONM CLI Guide

You also may perform configuration manually
  • Install Docker CE and SONM components (Node, CLI, Worker, Optimus).
  • Configure SONM Worker:
    • run sonmcli login to generate new Ethereum address (this will create new UTC/JSON keystore with given passphrase, this will be your 'Admin address');
    • edit worker config (sudo nano /etc/sonm/worker-default.yaml): -- set your 'Master address'(generated in SONM GUI) and 'Admin address' (locally generated with SONM CLI); -- if you have GPU on worker PC, enable appropriate setting ('nvidia' or 'radeon');
    • start SONM Worker (sudo service sonm-worker start);
    • edit node config (sudo nano /etc/sonm/node-default.yaml): -- set your keystore path for Admin key and passphrase;
    • start SONM Node (sudo service sonm-node start).

Worker will start and:

  • perform hardware benchmarks;
  • wait for master confirm this worker.
  • Confirm worker in SONM GUI.

  • Configure SONM Optimus:

    • set localy installed SONM Node endpoint ([email protected]:15030)
    • set your worker ethereum address in config file sudo nano /etc/sonm/optimus-default.yaml ([email protected]:15010);
    • start SONM Optimus (sudo service sonm-optimus start)