# Siriusscan

[Siriusscan](https://scan.siriusnet.io)&#x20;

<div align="left"><figure><img src="https://3148346867-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnJE99CMCFrThOniBFkt5%2Fuploads%2FDtECvTe2NcSOAB6TIb15%2Fimage_2023-06-26_13-55-40-front.png?alt=media&#x26;token=3aedf3b8-a2bf-4515-a801-2b1628ccbb34" alt="" width="375"><figcaption></figcaption></figure></div>

## API Documentation

`[ Base URL:` [`https://scan.siriusnet.io/api`](https://scan.siriusnet.io/api) `]`

This API is provided for developers transitioning their applications from Siriusscan. It supports GET and POST requests.

[Account?module=account](https://scan.siriusnet.io/api-docs#account)[Logs?module=logs](https://scan.siriusnet.io/api-docs#logs)[Token?module=token](https://scan.siriusnet.io/api-docs#token)[Stats?module=stats](https://scan.siriusnet.io/api-docs#stats)[Block?module=block](https://scan.siriusnet.io/api-docs#block)[Contract?module=contract](https://scan.siriusnet.io/api-docs#contract)[Transaction?module=transaction](https://scan.siriusnet.io/api-docs#transaction)

### Account <mark style="color:green;">`?module=account`</mark>

#### Mimics Siriusnet JSON RPC's mcd\_getBalance. Returns the balance as of the provided block (defaults to latest)

<mark style="color:green;">?module=</mark><mark style="color:green;">**account**</mark><mark style="color:green;">\&action=</mark><mark style="color:green;">**mcd\_get\_balance**</mark><mark style="color:green;">\&address={</mark><mark style="color:green;">**addressHash**</mark><mark style="color:green;">}</mark>

<mark style="color:orange;">mcd\_get\_balance</mark>                                                                                                                                      <mark style="color:yellow;">GET</mark>  <mark style="color:green;">POST</mark>

<table><thead><tr><th width="193">Name</th><th width="534">Description</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Module   </strong><mark style="color:red;"><strong>*required</strong></mark><br><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></td><td><p>A string with the name of the module to be invoked.</p><p><strong>Must be set to:</strong> <em>account</em></p></td><td></td></tr><tr><td><p><strong>Action     </strong><mark style="color:red;"><strong>*required</strong></mark></p><p><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></p></td><td><p>A string with the name of the action to be invoked.</p><p><strong>Must be set to:</strong> mcd<em>_get_balance</em></p></td><td></td></tr><tr><td><p><strong>address   </strong><mark style="color:red;"><strong>*required</strong></mark></p><p><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></p></td><td>The address of the account.</td><td></td></tr><tr><td><p><strong>block</strong></p><p><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></p></td><td>Either the block number as a string, or one of latest, earliest or pending latest will be the latest balance in a <em>consensus</em> block. earliest will be the first recorded balance for the address. pending will be the latest balance in consensus <em>or</em> nonconsensus blocks.</td><td></td></tr></tbody></table>

#### Get balance for address. Also available through a GraphQL 'addresses' query. If the balance hasn't been updated in a long time, we will double check with the node to fetch the absolute latest balance. This will not be reflected in the current request, but once it is updated, subsequent requests will show the updated balance. If you want to know whether or not we are checking for another balance, use the \`balancemulti\` action. That contains a property called \`stale\` that will let you know to recheck that balance in the near future.

#### <mark style="color:purple;">?module=</mark><mark style="color:purple;">**account**</mark><mark style="color:purple;">\&action=</mark><mark style="color:purple;">**balance**</mark><mark style="color:purple;">\&address={</mark><mark style="color:purple;">**addressHash**</mark><mark style="color:purple;">}</mark>

<table><thead><tr><th width="193">Name</th><th width="534">Description</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Module   </strong><mark style="color:red;"><strong>*required</strong></mark><br><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></td><td><p>A string with the name of the module to be invoked.</p><p><strong>Must be set to:</strong> <em>account</em></p></td><td></td></tr><tr><td><p><strong>Action     </strong><mark style="color:red;"><strong>*required</strong></mark></p><p><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></p></td><td><p>A string with the name of the action to be invoked.</p><p><strong>Must be set to:</strong> <em>balance</em></p></td><td></td></tr><tr><td><p><strong>address   </strong><mark style="color:red;"><strong>*required</strong></mark></p><p><mark style="color:purple;">string </mark><em><mark style="color:purple;">(query)</mark></em></p></td><td><p>A 160-bit code used for identifying Accounts.</p><p><br></p></td><td></td></tr></tbody></table>

#### Get balance for multiple addresses. Also available through a GraphQL 'addresses' query. If the balance hasn't been updated in a long time, we will double check with the node to fetch the absolute latest balance. This will not be reflected in the current request, but once it is updated, subsequent requests will show the updated balance. You can know that this is taking place via the \`stale\` attribute, which is set to \`true\` if a new balance is being fetched.

?module=**account**\&action=**balancemulti**\&address={**addressHash1,addressHash2,addressHash3**}<br>

#### Get pending transactions by address.

?module=**account**\&action=**pendingtxlist**\&address={**addressHash**}

#### Get transactions by address. Up to a maximum of 10,000 transactions. Also available through a GraphQL 'address' query.

?module=**account**\&action=**txlist**\&address={**addressHash**}

#### Get internal transactions by transaction or address hash. Up to a maximum of 10,000 internal transactions. Also available through a GraphQL 'transaction' query.

?module=**account**\&action=**txlistinternal**\&txhash={**transactionHash**}

#### Get token transfer events by address. Up to a maximum of 10,000 token transfer events. Also available through a GraphQL 'token\_transfers' query.

?module=**account**\&action=**tokentx**\&address={**addressHash**}

#### Get token account balance for token contract address.

?module=**account**\&action=**tokenbalance**\&contractaddress={**contractAddressHash**}\&address={**addressHash**}

#### Get list of tokens owned by address.

?module=**account**\&action=**tokenlist**\&address={**addressHash**}

#### Get list of blocks mined by address.

?module=**account**\&action=**getminedblocks**\&address={**addressHash**}

#### Get a list of accounts and their balances, sorted ascending by the time they were first seen by the explorer.

?module=**account**\&action=**listaccounts**

## **Log**

#### Get event logs for an address and/or topics. Up to a maximum of 1,000 event logs.

?module=**logs**\&action=**getLogs**\&fromBlock={**blockNumber**}\&toBlock={**blockNumber**}\&address={**addressHash**}\&topic0={**firstTopic**}

## Token&#x20;

#### Get [ERC-20](https://github.com/ethereum/EIPs/issues/20) or [ERC-721](https://github.com/ethereum/EIPs/issues/721) token by contract address.

?module=**token**\&action=**getToken**\&contractaddress={**contractAddressHash**}

#### Get token holders by contract address.

?module=**token**\&action=**getTokenHolders**\&contractaddress={**contractAddressHash**}

## Stats&#x20;

#### Get [ERC-20](https://github.com/ethereum/EIPs/issues/20) or [ERC-721](https://github.com/ethereum/EIPs/issues/721) token total supply by contract address.

?module=**stats**\&action=**tokensupply**\&contractaddress={**contractAddressHash**}

#### Get total supply in Wei from exchange.

?module=**stats**\&action=mcd**supplyexchange**

#### Get total supply in Wei from DB.

?module=**stats**\&action=mcd**supply**

#### Get total coin supply from DB minus burnt number.

?module=**stats**\&action=**coinsupply**

#### Get latest price of native coin in USD and BTC.

?module=**stats**\&action=**coinprice**

#### Gets total transaction fees in Wei are paid by users to validators per day.

?module=**stats**\&action=**totalfees**\&date={**date**}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://siriusnetdocs.gitbook.io/doc/whitepaper/siriusscan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
