For the complete documentation index, see llms.txt. This page is also available as Markdown.

5. API Modules

Complete reference for all API modules in the Amadeus Protocol SDK.

Overview

The SDK provides access to various API modules through the AmadeusSDK instance:

import { AmadeusSDK } from '@amadeus-protocol/sdk'

const sdk = new AmadeusSDK()

// Access API modules
sdk.chain // Chain API
sdk.wallet // Wallet API
sdk.transaction // Transaction API
sdk.contract // Contract API
sdk.epoch // Epoch API
sdk.peer // Peer API
sdk.proof // Proof API

Chain API

Query blockchain data including chain tip, statistics, entries, and transaction events.

getTip()

Get the current chain tip (latest entry).

Returns: Promise<GetTipResponse> with chain entry

getStats()

Get chain statistics.

Returns: Promise<GetStatsResponse> with chain statistics

getByHeight(height: number)

Get entries at a specific height.

Parameters:

  • height (number): Chain height

Returns: Promise<GetByHeightResponse> with array of entries

getByHash(hash: string)

Get entries by hash.

Parameters:

  • hash (string): Entry hash (Base58 encoded)

Returns: Promise<GetByHashResponse> with chain entry

getTransactionEventsByAccount(address: string, filters?: TransactionFilters)

Get transaction events for an account.

Parameters:

  • address (string): Account address (Base58 encoded)

  • filters (optional): Transaction filters

Returns: Promise<GetTransactionEventsByAccountResponse> with transaction events

Wallet API

Query wallet balances and transaction information.

getBalance(address: string, symbol?: string)

Get balance for a specific address and token symbol.

Parameters:

  • address (string): Wallet address (Base58 encoded)

  • symbol (string, optional): Token symbol (default: 'AMA')

Returns: Promise<WalletBalance> with token balance

getAllBalances(address: string)

Get all token balances for an address.

Parameters:

  • address (string): Wallet address (Base58 encoded)

Returns: Promise<GetAllBalancesResponse> with all balances

getTransactions(address: string, query?: GetWalletTransactionsQuery)

Get transactions for a wallet address.

Parameters:

  • address (string): Wallet address (Base58 encoded)

  • query (optional): Query parameters (limit, sort, contract, function, type, cursor)

Returns: Promise<GetWalletTransactionsResponse> with transactions and cursor

Transaction API

Submit transactions and query transaction data.

submit(txPacked: Uint8Array | string)

Submit a transaction to the network.

Parameters:

  • txPacked (Uint8Array | string): Packed transaction as Uint8Array or Base58 string

Returns: Promise<SubmitTransactionResponse> with submission result

submitAndWait(txPacked: Uint8Array | string)

Submit a transaction and wait for confirmation.

Parameters:

  • txPacked (Uint8Array | string): Packed transaction

Returns: Promise<SubmitAndWaitTransactionResponse> with confirmation result

get(txHash: string)

Get a transaction by hash.

Parameters:

  • txHash (string): Transaction hash (Base58 encoded)

Returns: Promise<Transaction> with transaction data

getTransactionsInEntry(entryHash: string)

Get all transactions in a specific entry.

Parameters:

  • entryHash (string): Entry hash (Base58 encoded)

Returns: Promise<GetTransactionsInEntryResponse> with transactions

Contract API

Interact with smart contracts and query contract data.

get(key: Uint8Array | string)

Get contract data by key.

Parameters:

  • key (Uint8Array | string): Contract key as Uint8Array or Base58 string

Returns: Promise<ContractDataValue> with contract data

getPrefix(key: Uint8Array | string)

Get contract data by key prefix.

Parameters:

  • key (Uint8Array | string): Contract key prefix

Returns: Promise<ContractDataValue[]> with array of key-value pairs

validateBytecode(bytecode: Uint8Array | ArrayBuffer)

Validate contract bytecode.

Parameters:

  • bytecode (Uint8Array | ArrayBuffer): Contract bytecode to validate

Returns: Promise<ValidateBytecodeResponse> with validation result

getRichlist()

Get contract richlist (token holders).

Returns: Promise<GetRichlistResponse> with richlist entries

Epoch API

Query epoch and validator data.

getScore(publicKey?: string)

Get epoch score(s).

Parameters:

  • publicKey (string, optional): Validator public key (Base58 encoded)

Returns: Promise<EpochScore | EpochScore[]> with score(s)

getAllScores()

Get all epoch scores.

Returns: Promise<EpochScore[]> with all scores

getTopValidators(limit: number)

Get top validators by score.

Parameters:

  • limit (number): Number of top validators to return

Returns: Promise<EpochScore[]> with top validators

getEmissionAddress()

Get the current emission address.

Returns: Promise<GetEmissionAddressResponse> with emission address

getSolInEpoch(epoch: number, solutionHash: string)

Check if a solution is in a specific epoch.

Parameters:

  • epoch (number): Epoch number

  • solutionHash (string): Solution hash (Base58 encoded)

Returns: Promise<GetSolInEpochResponse> with check result

Peer API

Query network peer information.

getNodes()

Get all network nodes.

Returns: Promise<PeerInfo[]> with node information

getTrainers()

Get all trainers.

Returns: Promise<PeerInfo[]> with trainer information

getRemovedTrainers()

Get removed trainers.

Returns: Promise<PeerInfo[]> with removed trainer information

getANRs()

Get ANR (Autonomous Network Registry) entries.

Returns: Promise<ANRInfo[]> with ANR information

getANRByPk(publicKey: string)

Get ANR entry by public key.

Parameters:

  • publicKey (string): Public key (Base58 encoded)

Returns: Promise<ANRInfo> with ANR information

Proof API

Query validator proofs.

getValidators(entryHash: string)

Get validator proof for an entry.

Parameters:

  • entryHash (string): Entry hash (Base58 encoded)

Returns: Promise<ProofValidators> with validator proof

Error Handling

All API methods throw AmadeusSDKError on failure:

Next Steps

Last updated