Skip to content

adamant-api / api / AdamantApi

Class: AdamantApi ​

Defined in: src/api/index.ts:441

Resilient client for the public ADAMANT Node HTTP API.

The client inherits node health checks and failover from the internal NodeManager and returns structured API results instead of exposing raw Axios errors.

Extends ​

  • NodeManager

Constructors ​

Constructor ​

ts
new AdamantApi(options): AdamantApi;

Defined in: src/api/index.ts:446

Parameters ​

ParameterType
optionsAdamantApiOptions

Returns ​

AdamantApi

Overrides ​

ts
NodeManager.constructor

Properties ​

hasCompatibleNode ​

ts
protected hasCompatibleNode: boolean = true;

Defined in: src/helpers/healthCheck.ts:61

Inherited from ​

ts
NodeManager.hasCompatibleNode

logger ​

ts
protected logger: Logger;

Defined in: src/helpers/healthCheck.ts:60

Inherited from ​

ts
NodeManager.logger

maxRetries ​

ts
maxRetries: number;

Defined in: src/api/index.ts:442


node ​

ts
node: string;

Defined in: src/helpers/healthCheck.ts:57

Inherited from ​

ts
NodeManager.node

options ​

ts
options: NodeManagerOptions;

Defined in: src/helpers/healthCheck.ts:55

Inherited from ​

ts
NodeManager.options

socket? ​

ts
optional socket?: WebSocketClient;

Defined in: src/helpers/healthCheck.ts:58

Inherited from ​

ts
NodeManager.socket

Methods ​

checkNode() ​

ts
checkNode(node): Promise<
  | Omit<GetNodeStatusResponseDto, "success"> & {
  success: true;
}
  | {
  success: false;
}>;

Defined in: src/helpers/healthCheck.ts:311

Parameters ​

ParameterType
nodestring

Returns ​

Promise< | Omit<GetNodeStatusResponseDto, "success"> & { success: true; } | { success: false; }>

Inherited from ​

ts
NodeManager.checkNode

checkNodes() ​

ts
checkNodes(): Promise<ActiveNode[]>;

Defined in: src/helpers/healthCheck.ts:327

Returns ​

Promise<ActiveNode[]>

Inherited from ​

ts
NodeManager.checkNodes

chooseNode() ​

ts
chooseNode(activeNodes, forceChangeActiveNode?): Promise<void>;

Defined in: src/helpers/healthCheck.ts:151

Parameters ​

ParameterType
activeNodesActiveNode[]
forceChangeActiveNode?boolean

Returns ​

Promise<void>

Inherited from ​

ts
NodeManager.chooseNode

createAccount() ​

ts
createAccount(publicKey): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<CreateNewAccountResponseDto, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:580

Initializes an account from a public key without transmitting a secret.

Parameters ​

ParameterType
publicKeystring

Returns ​

Promise< | { errorMessage: string; success: boolean; } | Omit<CreateNewAccountResponseDto, "success"> & { success: true; }>


get() ​

ts
get<T>(endpoint, params?): Promise<AdamantApiResult<T>>;

Defined in: src/api/index.ts:537

Makes GET request to ADAMANT network.

endpoint should be in 'accounts/getPublicKey' format, excluding '/api/'.

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
endpointstring
params?unknown

Returns ​

Promise<AdamantApiResult<T>>


getAccountBalance() ​

ts
getAccountBalance(address): Promise<AdamantApiResult<GetAccountBalanceResponseDto>>;

Defined in: src/api/index.ts:892

Get account balance

Parameters ​

ParameterType
addressstring

Returns ​

Promise<AdamantApiResult<GetAccountBalanceResponseDto>>


getAccountInfo() ​

ts
getAccountInfo(options): Promise<AdamantApiResult<GetAccountInfoResponseDto>>;

Defined in: src/api/index.ts:883

Get account information by ADAMANT address or Public Key

Parameters ​

ParameterType
optionsAddressOrPublicKeyObject

Returns ​

Promise<AdamantApiResult<GetAccountInfoResponseDto>>


getBlock() ​

ts
getBlock(id): Promise<AdamantApiResult<GetBlockInfoResponseDto>>;

Defined in: src/api/index.ts:911

Get block information by ID

Parameters ​

ParameterType
idstring

Returns ​

Promise<AdamantApiResult<GetBlockInfoResponseDto>>


getBlocks() ​

ts
getBlocks(options?): Promise<AdamantApiResult<GetBlocksResponseDto>>;

Defined in: src/api/index.ts:918

Get list of blocks

Parameters ​

ParameterType
options?GetBlocksOptions

Returns ​

Promise<AdamantApiResult<GetBlocksResponseDto>>


getBroadhash() ​

ts
getBroadhash(): Promise<AdamantApiResult<GetBroadhashResponseDto>>;

Defined in: src/api/index.ts:1098

Broadhash is established as an aggregated rolling hash of the past five blocks present in the database.

Returns ​

Promise<AdamantApiResult<GetBroadhashResponseDto>>


getChatMessages() ​

ts
getChatMessages(
   address1, 
   address2, 
query?): Promise<AdamantApiResult<GetChatMessagesResponseDto>>;

Defined in: src/api/index.ts:939

Get messages between two accounts

Parameters ​

ParameterType
address1string
address2string
query?TransactionQuery<ChatroomsOptions>

Returns ​

Promise<AdamantApiResult<GetChatMessagesResponseDto>>


getChats() ​

ts
getChats(address, options?): Promise<AdamantApiResult<GetChatRoomsResponseDto>>;

Defined in: src/api/index.ts:925

Get list of Chats

Parameters ​

ParameterType
addressstring
options?TransactionQuery<ChatroomsOptions>

Returns ​

Promise<AdamantApiResult<GetChatRoomsResponseDto>>


getChatTransactions() ​

ts
getChatTransactions(options?): Promise<AdamantApiResult<GetChatTransactionsResponseDto>>;

Defined in: src/api/index.ts:955

Gets chat transactions through the legacy /api/chats/get endpoint.

Parameters ​

ParameterType
options?TransactionQuery<ChatroomsOptions>

Returns ​

Promise<AdamantApiResult<GetChatTransactionsResponseDto>>

Deprecated ​

Use getChats or getChatMessages instead.


getDelegate() ​

ts
getDelegate(options): Promise<AdamantApiResult<GetDelegateResponseDto>>;

Defined in: src/api/index.ts:979

Gets delegate info by username, publicKey, or address.

The delegate includes forged, the lifetime sum of block fees and rewards as a base-10 integer string in base units.

Parameters ​

ParameterType
optionsDelegateLookupOptions

Returns ​

Promise<AdamantApiResult<GetDelegateResponseDto>>


getDelegates() ​

ts
getDelegates(options?): Promise<AdamantApiResult<GetDelegatesResponseDto>>;

Defined in: src/api/index.ts:969

Retrieves registered ADAMANT delegates.

Each delegate includes forged, the lifetime sum of block fees and rewards as a base-10 integer string in base units.

Parameters ​

ParameterType
options?GetDelegatesOptions

Returns ​

Promise<AdamantApiResult<GetDelegatesResponseDto>>


getDelegatesCount() ​

ts
getDelegatesCount(): Promise<AdamantApiResult<GetDelegatesCountResponseDto>>;

Defined in: src/api/index.ts:1001

Get total count of delegates

Returns ​

Promise<AdamantApiResult<GetDelegatesCountResponseDto>>


getDelegateStats() ​

ts
getDelegateStats(generatorPublicKey, options?): Promise<AdamantApiResult<GetDelegateStatsResponseDto>>;

Defined in: src/api/index.ts:1009

Gets forging activity for a delegate, optionally within an inclusive Unix timestamp interval.

Parameters ​

ParameterType
generatorPublicKeystring
options?GetDelegateStatsOptions

Returns ​

Promise<AdamantApiResult<GetDelegateStatsResponseDto>>


getEpoch() ​

ts
getEpoch(): Promise<AdamantApiResult<GetEpochResponseDto>>;

Defined in: src/api/index.ts:1105

Returns time when blockchain epoch starts. Value 2017-09-02T17:00:00.000Z is for mainnet.

Returns ​

Promise<AdamantApiResult<GetEpochResponseDto>>


getFee() ​

ts
getFee(): Promise<AdamantApiResult<GetTokenTransferFeeResponseDto>>;

Defined in: src/api/index.ts:1120

Returns current fee value for type 0 (token transfer) transactions. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000).

Returns ​

Promise<AdamantApiResult<GetTokenTransferFeeResponseDto>>


getFees() ​

ts
getFees(): Promise<AdamantApiResult<GetTransactionTypesFeesResponseDto>>;

Defined in: src/api/index.ts:1127

Returns current fee values for different transaction types

Returns ​

Promise<AdamantApiResult<GetTransactionTypesFeesResponseDto>>


getHeight() ​

ts
getHeight(): Promise<AdamantApiResult<GetHeightResponseDto>>;

Defined in: src/api/index.ts:1112

Returns current node's blockchain height

Returns ​

Promise<AdamantApiResult<GetHeightResponseDto>>


getKVS() ​

ts
getKVS(options?): Promise<AdamantApiResult<GetKVSResponseDto>>;

Defined in: src/api/index.ts:1179

Fetches ADAMANT KVS transactions.

Parameters ​

ParameterType
options?TransactionQuery<KVSOptions>

Returns ​

Promise<AdamantApiResult<GetKVSResponseDto>>


getLoadingStatus() ​

ts
getLoadingStatus(): Promise<AdamantApiResult<GetLoadingStatusResponseDto>>;

Defined in: src/api/index.ts:1070

Gets loading status

Returns ​

Promise<AdamantApiResult<GetLoadingStatusResponseDto>>


getMilestone() ​

ts
getMilestone(): Promise<AdamantApiResult<GetMilestoneResponseDto>>;

Defined in: src/api/index.ts:1141

Return current slot height, which determines reward a delegate will get for forging a block.

Returns ​

Promise<AdamantApiResult<GetMilestoneResponseDto>>


getNethash() ​

ts
getNethash(): Promise<AdamantApiResult<GetNethashResponseDto>>;

Defined in: src/api/index.ts:1134

The nethash describes e.g. the Mainnet or the Testnet, that the node is connecting to.

Returns ​

Promise<AdamantApiResult<GetNethashResponseDto>>


getNextForgers() ​

ts
getNextForgers(limit?): Promise<AdamantApiResult<GetNextForgersResponseDto>>;

Defined in: src/api/index.ts:1029

Returns a next-block snapshot of upcoming forger public keys.

The node builds the entire result from the delegate schedule for currentBlock + 1, including at round boundaries. Request a new snapshot after another block is accepted.

Parameters ​

ParameterTypeDescription
limit?numberNumber of public keys to retrieve, from 1 to 101. Defaults to 10.

Returns ​

Promise<AdamantApiResult<GetNextForgersResponseDto>>


getNodeStatus() ​

ts
getNodeStatus(): Promise<AdamantApiResult<GetNodeStatusResponseDto>>;

Defined in: src/api/index.ts:1174

Returns ADAMANT blockchain network and Node information in a single request, including the effective consensus activation heights and complete block reward milestone schedule.

Returns ​

Promise<AdamantApiResult<GetNodeStatusResponseDto>>


getNodeVersion() ​

ts
getNodeVersion(): Promise<AdamantApiResult<GetNodeVersionResponseDto>>;

Defined in: src/api/index.ts:1091

Gets node's software information

Returns ​

Promise<AdamantApiResult<GetNodeVersionResponseDto>>


getPeer() ​

ts
getPeer(ip, port): Promise<AdamantApiResult<GetPeerInfoResponseDto>>;

Defined in: src/api/index.ts:1063

Finds a peer known to the active node.

Parameters ​

ParameterType
ipstring
portnumber

Returns ​

Promise<AdamantApiResult<GetPeerInfoResponseDto>>


getPeers() ​

ts
getPeers(options?): Promise<AdamantApiResult<GetPeersResponseDto>>;

Defined in: src/api/index.ts:1058

Gets list of connected peer nodes

Parameters ​

ParameterType
options?GetPeersOptions

Returns ​

Promise<AdamantApiResult<GetPeersResponseDto>>


getPingStatus() ​

ts
getPingStatus(): Promise<AdamantApiResult<GetPingStatusResponseDto>>;

Defined in: src/api/index.ts:1084

Checks if the connected node is alive

Returns ​

Promise<AdamantApiResult<GetPingStatusResponseDto>>


getPublicKey() ​

ts
getPublicKey(address): Promise<string>;

Defined in: src/api/index.ts:553

Get account Public Key

Parameters ​

ParameterType
address`U${string}`

Returns ​

Promise<string>


getQueuedTransaction() ​

ts
getQueuedTransaction(id): Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1239

Get queued transaction by ID

Parameters ​

ParameterType
idstring

Returns ​

Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>


getQueuedTransactions() ​

ts
getQueuedTransactions(options?): Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1229

Get queued transactions count

Parameters ​

ParameterType
options?PooledTransactionsOptions

Returns ​

Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>


getReward() ​

ts
getReward(): Promise<AdamantApiResult<GetRewardResponseDto>>;

Defined in: src/api/index.ts:1149

Returns reward — the reward a delegate will get for forging a block. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000). Depends on the slot height.

Returns ​

Promise<AdamantApiResult<GetRewardResponseDto>>


getStatus() ​

ts
getStatus(): Promise<AdamantApiResult<GetNetworkInfoResponseDto>>;

Defined in: src/api/index.ts:1165

Returns blockchain network information in a single request, including the latest cumulative consensusCodeName active at the current height.

Returns ​

Promise<AdamantApiResult<GetNetworkInfoResponseDto>>


getSupply() ​

ts
getSupply(): Promise<AdamantApiResult<GetTokensTotalSupplyResponseDto>>;

Defined in: src/api/index.ts:1157

Returns total current supply of ADM tokens in network. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000). Total supply increases with every new forged block.

Returns ​

Promise<AdamantApiResult<GetTokensTotalSupplyResponseDto>>


getSyncStatus() ​

ts
getSyncStatus(): Promise<AdamantApiResult<GetSyncStatusResponseDto>>;

Defined in: src/api/index.ts:1077

Gets information on node's sync process with other peers

Returns ​

Promise<AdamantApiResult<GetSyncStatusResponseDto>>


getTopAccounts() ​

ts
getTopAccounts(options?): Promise<AdamantApiResult<GetTopAccountsResponseDto>>;

Defined in: src/api/index.ts:904

Gets non-zero-balance accounts ordered by balance descending.

ADAMANT Node v0.10.2 and newer return pagination metadata and support an optional delegate-status filter.

Parameters ​

ParameterType
options?GetTopAccountsOptions

Returns ​

Promise<AdamantApiResult<GetTopAccountsResponseDto>>


getTransaction() ​

ts
getTransaction(id, options?): Promise<AdamantApiResult<GetTransactionByIdResponseDto>>;

Defined in: src/api/index.ts:1209

Get transaction by ID

Parameters ​

ParameterType
idstring
options?TransactionQuery<TransactionsOptions>

Returns ​

Promise<AdamantApiResult<GetTransactionByIdResponseDto>>


getTransactions() ​

ts
getTransactions(options?): Promise<AdamantApiResult<GetTransactionsResponseDto>>;

Defined in: src/api/index.ts:1194

Returns list of transactions

Parameters ​

ParameterType
options?TransactionQuery<TransactionsOptions>

Returns ​

Promise<AdamantApiResult<GetTransactionsResponseDto>>


getTransactionsCount() ​

ts
getTransactionsCount(): Promise<AdamantApiResult<GetTransactionsCountResponseDto>>;

Defined in: src/api/index.ts:1222

Get confirmed, unconfirmed and queued transactions count

Returns ​

Promise<AdamantApiResult<GetTransactionsCountResponseDto>>


getUnconfirmedTransaction() ​

ts
getUnconfirmedTransaction(id): Promise<AdamantApiResult<GetUnconfirmedTransactionByIdResponseDto>>;

Defined in: src/api/index.ts:1259

Get unconfirmed transaction by ID

Parameters ​

ParameterType
idstring

Returns ​

Promise<AdamantApiResult<GetUnconfirmedTransactionByIdResponseDto>>


getUnconfirmedTransactions() ​

ts
getUnconfirmedTransactions(options?): Promise<AdamantApiResult<GetUnconfirmedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1249

Get unconfirmed transactions

Parameters ​

ParameterType
options?PooledTransactionsOptions

Returns ​

Promise<AdamantApiResult<GetUnconfirmedTransactionsResponseDto>>


getVoteData() ​

ts
getVoteData(address): Promise<AdamantApiResult<GetAccountVotesResponseDto>>;

Defined in: src/api/index.ts:1049

Gets current votes of specific ADAMANT account

Parameters ​

ParameterTypeDescription
addressstringaddress of the account to get votes

Returns ​

Promise<AdamantApiResult<GetAccountVotesResponseDto>>


getVoters() ​

ts
getVoters(publicKey): Promise<AdamantApiResult<GetVotersResponseDto>>;

Defined in: src/api/index.ts:1040

Gets list of delegate's voters

Parameters ​

ParameterTypeDescription
publicKeystringrepresenting delegate's publicKey

Returns ​

Promise<AdamantApiResult<GetVotersResponseDto>>


initSocket() ​

ts
initSocket(options): void;

Defined in: src/helpers/healthCheck.ts:100

Parameters ​

ParameterType
options| WsOptions | WebSocketClient

Returns ​

void

Inherited from ​

ts
NodeManager.initSocket

newDelegate() ​

ts
newDelegate(passphrase, username): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:593

Register new delegate within given username

Parameters ​

ParameterTypeDescription
passphrasestring-
usernamestringThe new delegate's username

Returns ​

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>


onReady() ​

ts
onReady(callback): void;

Defined in: src/helpers/healthCheck.ts:91

Parameters ​

ParameterType
callback() => void

Returns ​

void

Inherited from ​

ts
NodeManager.onReady

post() ​

ts
post<T>(endpoint, options): Promise<AdamantApiResult<T>>;

Defined in: src/api/index.ts:546

Makes POST request to ADAMANT network.

endpoint should be in 'accounts/getPublicKey' format, excluding '/api/'.

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
endpointstring
optionsunknown

Returns ​

Promise<AdamantApiResult<T>>


searchDelegates() ​

ts
searchDelegates(q, options?): Promise<AdamantApiResult<SearchDelegateResponseDto>>;

Defined in: src/api/index.ts:991

Searches delegates by partial or full username.

Search results include voter and registration details, but unlike the delegate list and single-delegate endpoints they do not include forged.

Parameters ​

ParameterTypeDescription
qstringA username fragment from 1 to 20 characters.
options?SearchDelegatesOptions-

Returns ​

Promise<AdamantApiResult<SearchDelegateResponseDto>>


sendMessage() ​

ts
sendMessage(
   passphrase, 
   addressOrPublicKey, 
   message, 
   type?, 
   amount?, 
   isAmountInADM?): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:617

Encrypt a message, creates Message transaction, signs it, and broadcasts to ADAMANT network.

Parameters ​

ParameterTypeDefault value
passphrasestringundefined
addressOrPublicKeystringundefined
messagestringundefined
typeMessageTypeMessageType.Chat
amount?numberundefined
isAmountInADM?booleanundefined

Returns ​

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>


sendTokens() ​

ts
sendTokens(
   passphrase, 
   addressOrPublicKey, 
   amount, 
   isAmountInADM?): 
  | {
  errorMessage: string;
  success: boolean;
}
| Promise<AdamantApiResult<unknown>>;

Defined in: src/api/index.ts:704

Send tokens to an account

Parameters ​

ParameterTypeDefault value
passphrasestringundefined
addressOrPublicKeystringundefined
amountnumberundefined
isAmountInADMbooleantrue

Returns ​

| { errorMessage: string; success: boolean; } | Promise<AdamantApiResult<unknown>>


sendTransaction() ​

ts
sendTransaction(request): Promise<AdamantApiResult<RegisterTransactionResponseDto>>;

Defined in: src/api/index.ts:1202

Broadcasts an already-created and signed transaction.

Parameters ​

ParameterType
requestRegisterTransactionRequestBody

Returns ​

Promise<AdamantApiResult<RegisterTransactionResponseDto>>


setKVS() ​

ts
setKVS(request): Promise<AdamantApiResult<SetKVSResponseDto>>;

Defined in: src/api/index.ts:1187

Broadcasts an already-created and signed KVS transaction.

Parameters ​

ParameterType
requestSetKVSRequestBody

Returns ​

Promise<AdamantApiResult<SetKVSResponseDto>>


updateNodes() ​

ts
updateNodes(isPlannedUpdate?): Promise<void>;

Defined in: src/helpers/healthCheck.ts:125

Parameters ​

ParameterTypeDefault value
isPlannedUpdatebooleanfalse

Returns ​

Promise<void>

Inherited from ​

ts
NodeManager.updateNodes

voteForDelegate() ​

ts
voteForDelegate(passphrase, votes): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:774

Vote for specific delegates

Parameters ​

ParameterTypeDescription
passphrasestringAccount's passphrase
votesstring[]Array with public keys. For upvote, add leading + to delegate's public key. For downvote, add leading - to delegate's public key.

Returns ​

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>

Example ​

voteForDelegate(
  'apple banana cherry date elderberry fig grape hazelnut iris juniper kiwi lemon',
  [
    '+b3d0c0b99f64d0960324089eb678e90d8bcbb3dd8c73ee748e026f8b9a5b5468',
    '-9ef1f6212ae871716cfa2d04e3dc5339e8fe75f89818be21ee1d75004983e2a8',
    '+system',
    '-U16615166477939602094'
  ]
)

Released under the GPL-3.0 License.