Skip to content



const { Connection } = require("@solar-network/client");

const client = new Connection(`${server}/api`);


This service API grants access to the blocks resource. A block is a signed set of transactions created by a delegate and permanently committed to the SXP blockchain.

It is not possible to POST a block through the public API. Relay Nodes accept only blocks posted by a delegate at the correct time through the internal API.

List All Blocks

const response = client.api("blocks").all();

>>> Promise<IResponse<T>>

Retrieve a Block

const response = client.api("blocks").get("validBlockId");

>>> Promise<IResponse<T>>

List All Transactions of a Block

const response = client.api("blocks").transactions("validBlockId");

>>> Promise<IResponse<T>>

Search All Blocks

const response = client.api("blocks").search({"id": "validBlockId"});

>>> Promise<IResponse<T>>


This service API grants access to the bridgechain resource. This can be used to access all registered bridgechains on the network.

List All Bridgechains

const response = client.api("bridgechains").all();

>>> Promise<IResponse<T>>

Retrieve a Bridgechain

const response = client.api("bridgechains").get("validId");

>>> Promise<IResponse<T>>

Search All Bridgechains

const response = client.api("bridgechains").search({"bridgechainId": "validId"});

>>> Promise<IResponse<T>>


This service API grants access to the business resource. This can be used to access all registered businesses on the network.

List All Businesses

const response = client.api("businesses").all();

>>> Promise<IResponse<T>>

Retrieve a Business

const response = client.api("businesses").get("validId");

>>> Promise<IResponse<T>>

Retrieve all Business Bridgechains

const response = client.api("businesses").bridgechains("validId");

>>> Promise<IResponse<T>>

Search All Businesses

const response = client.api("businesses").search({"businessId": "validId"});

>>> Promise<IResponse<T>>


The client SDK can be used to query the delegate resource.

A delegate is a regular wallet that has broadcast a registration transaction, acquired a sufficient number of votes, and has a Relay Node configured to forge new blocks through a forger module. At any time only 51 delegates are active. They are cost-efficient miners running the SXP network.

Voters are wallets which have broadcast a vote transaction on a delegate. A vote remains active until an un-vote transaction is sent (it does not have to be recast unless a wallet wishes to change from delegate). Voting for a delegate does not give the delegate access to the wallet nor does it lock the coins in it.

List All Delegates

const response = client.api("delegates").all();

>>> Promise<IResponse<T>>

Retrieve a Delegate

const response = client.api("delegates").get("validId");

>>> Promise<IResponse<T>>

List All Blocks of a Delegate

const response = client.api("delegates").blocks("validId");

>>> Promise<IResponse<T>>

List All Voters of a Delegate

const response = client.api("delegates").voters("validId");

>>> Promise<IResponse<T>>


This service API grants access to the lock resource. This can be used to access all locks initiated for wallets.

List All Locks

const response = client.api("locks").all();

>>> Promise<IResponse<T>>

Retrieve a Lock

const response = client.api("locks").get("validId");

>>> Promise<IResponse<T>>

Search Locks

const response = client.api("locks").search({"lockId": "validId"});

>>> Promise<IResponse<T>>

Get Unlocked Locks

const response = client.api("locks").unlocked({ids: [ "validId" ]});

>>> Promise<IResponse<T>>


The SXP network consists of different anonymous nodes (servers), maintaining the public ledger, validating transactions and blocks and providing APIs. The node resource allows for querying the health and configurations of the node used by the instantiated client.

Retrieve the Configuration

const response = client.api("node").configuration();

>>> Promise<IResponse<T>>

Retrieve the Status

const response = client.api("node").status();

>>> Promise<IResponse<T>>

Retrieve the Syncing Status

const response = client.api("node").syncing();

>>> Promise<IResponse<T>>

Retrieve the Fees

const response = client.api("node").fees();

>>> Promise<IResponse<T>>


Each node is connected to a set of peers, which are Relay or Delegate Nodes as well. The peers resource provides access to all peers connected to our node.

Peers have made their Public API available for use; however for mission-critical queries and transaction posting you should use a node which is under your control.

List All Peers

const response = client.api("peers").all();

>>> Promise<IResponse<T>>

Retrieve a Peer

const response = client.api("peers").get("validIpAddress");

>>> Promise<IResponse<T>>


This service API grants access to the round resource. This can be used to access all round information for the network.

List Delegates for a Round

const response = client.api("rounds").delegates(roundNumber);

>>> Promise<IResponse<T>>


The heart of any blockchain is formed by its transactions; state-altering payloads signed by a wallet. Most likely you will be querying for transactions most often, using the transaction resource.

A transaction is the only object which may be posted by a non-delegate. It requires a signature from a wallet containing a sufficient amount of SXP.

Create a Transaction

const response = client.api("transactions").create([...]);

>>> Promise<IResponse<T>>

Retrieve a Transaction

const response = client.api("transactions").get("validId");

>>> Promise<IResponse<T>>

List All Transactions

const response = client.api("transactions").all();

>>> Promise<IResponse<T>>

List All Unconfirmed Transactions

const response = client.api("transactions").allUnconfirmed();

>>> Promise<IResponse<T>>

Get Unconfirmed Transaction

const response = client.api("transactions").getUnconfirmed("validId");

>>> Promise<IResponse<T>>

Search Transactions

const response = client.api("transactions").search({"id": "validId"});

>>> Promise<IResponse<T>>

List Transaction Types

const response = client.api("transactions").types();

>>> Promise<IResponse<T>>


A vote is a transaction sub-type, where the asset field contains a votes object and the transaction.type is 3.

List All Votes

const response = client.api("votes").all();

>>> Promise<IResponse<T>>

Retrieve a Vote

const response = client.api("votes").get("validId");

>>> Promise<IResponse<T>>


The wallet resource provides access to:

  • Wallets.
  • Incoming and outgoing transactions per wallet.
  • Each wallet's votes.

Retrieve All Wallets

const response = client.api("wallets").all();

>>> Promise<IResponse<T>>

Retrieve a Wallet

const response = client.api("wallets").get("validId");

>>> Promise<IResponse<T>>

List All Transactions of a Wallet

const response = client.api("wallets").transactions("validId");

>>> Promise<IResponse<T>>

List All Received Transactions of a Wallet

const response = client.api("wallets").transactionsReceived("validId");

>>> Promise<IResponse<T>>

List All Sent Transactions of a Wallet

const response = client.api("wallets").transactionsSent("validId");

>>> Promise<IResponse<T>>

List All Votes of a Wallet

const response = client.api("wallets").votes("validId");

>>> Promise<IResponse<T>>

List All Locks of a Wallet

const response = client.api("wallets").locks("validId");

>>> Promise<IResponse<T>>

List All Top Wallets

const response = client.api("wallets").top();

>>> Promise<IResponse<T>>

Search All Wallets

const response = client.api("wallets").search({"address": "validId"});

>>> Promise<IResponse<T>>
Back to top