# Welcome!

Welcome and Introduction

## **Welcome to BBSCoin (BBS) \[ Bulletin Board System Coin ]**

#### BBSCoin was created to be used as a redemption cryptocurrency for forums or websites. It provides the software and plugins needed to run on some of the top bulletin board systems. Also, BBSCoin is mineable, you may participate in mining it and receive [reward shares](https://www.bbscoin.click/insight#mining_stats) for it. If you would like to integrate BBSCoin into your application, please take a look under the [Development / Integration](/development-integration) section.

Websites \[domains]: bbscoin.org, bbscoin.click, bbstoken.click.\
Official project nodes are hosted as bbscoin.click hostnames, Ex. singapore-seed.bbscoin.click . But anyone may run their own node, mining pools and explorers that sync to the official nodes. When connecting to other nodes and services you may check if they are at the same block number or -1  by visiting our official explorer at [explorer.bbscoin.org](https://explorer.bbscoin.org/).

**BBSCoin provides the following main files:**

**Node Daemon** \[ *bbscoind | bbscoind.exe* ] It's a command line software that let's you run your own BBSCoin node. Nodes help support the BBSCoin network by relaying transactions between each node and keeping the blockchain synchronized(confirmed transactions). &#x20;

**Simple Wallet** \[ *simplewallet | simplewallet.exe* ] It is like the GUI Wallet, but only text in command line. It also allows you to convert from mnemonic words to private key.

**Wallet Container** \[ *walletd | walletd.exe* ] Containers are designed to handle multiple wallets within it. It allows exchanges and websites to provide an internal individual wallet account for their users.

**GUI Wallet** \[ *bbscoinwallet | bbscoinwallet.exe* ] Gives you a graphical wallet, where you may create your individual wallets.


# Wallets


# Wallet GUI

This is the Graphical User Interface wallet for BBSCoin(BBS), it allows you to send/receive BBS coins and see transaction information, as well as to store contacts wallet addresses for sending later.

![BBSCoin GUI Wallet (test wallet)](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FiwBHPuIQyEaSkvCTiQ4U%2Fimage.png?alt=media\&token=0fe4e410-278d-4a31-960d-3c107f4c2871)

The program should had created a random wallet for you, if it doesn't show a wallet address, please on the menu, go to "File", then "Create wallet". A popup will ask you where to save the wallet file, please select a location that is not shared nor has public settings.


# Synchronization

You wallet should synchronize automatically to the main nodes. If after 15 minutes you do not see a change in synchronization, you may need to change it to use a Remote daemon node by doing the next steps. You may also switch to Remote daemon if you do not want to store a copy of the blockchain on your device. NOTE: The wallet would not let you do anything transaction related until it is fully synchronized.

On your BBSCoin GUI wallet, go to Settings on the menu, and select Preferences.

![Settings menu view](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FG5tgzJizwnNgPICNIxO9%2Fimage.png?alt=media\&token=6ac512d5-8ea7-468d-89b0-cc5087ab088d)

A windows like the one shown below will appear, please change the \[ Connection ] options to look like the one pictured. "Remote daemon" must be selected, with Host: node.bbscoin.click, and Port: 21204. Then please click on the \[ SAVE ] button. If the wallet doesn't start to synchronize after changing to "Remote daemon", you may need to File, Exit the program, wait like a minute, then restart the program.

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2Fx40IpLeV9bYRb8BNaJZy%2Fimage.png?alt=media\&token=f51e20ab-2d03-4d39-a5da-a56fafaa27a8)

**Note**: If you only use IPv6 and the wallet does not seem to synchronize, please change from node.bbscoin.click to your nearest alternate node from the table below. You may test node delay by using: ping \<nodehostname> from your computer's command prompt. Thanks!&#x20;

<table><thead><tr><th width="539">Alternate cloud based nodes</th><th width="107.33333333333326">IPv4</th><th>IPv6</th></tr></thead><tbody><tr><td>singapore-seed.bbscoin.click</td><td>X</td><td>X</td></tr><tr><td>frankfurt-seed.bbscoin.click</td><td>X</td><td>X</td></tr><tr><td>toronto-seed.bbscoin.click</td><td>X</td><td>X</td></tr><tr><td>us-seed.bbscoin.click</td><td>X</td><td>X</td></tr><tr><td>germany-seed.bbscoin.click</td><td>X</td><td>X</td></tr><tr><td>spain-seed.bbscoin.click</td><td>X</td><td>X</td></tr></tbody></table>


# Send BBSCoin

Window to transfer/send BBS to another address.

On this window, you will use the "PAY TO" field to enter the address that was provided to you by the person or business (receiver) whom you will be sending BBS to. Then, enter the correct quantity of BBS you will be sending under the "AMOUNT" field, please be aware of where you place the dot for decimals. You may leave the "FEE" unchanged, unless you would like to donate more to the blockchain miners.&#x20;

Optional: Use the "LABEL" field, if you would like to store the "PAY TO" address in your "CONTACTS". The "PAYMENT ID" doesn't need a value, unless you were explicitly told to add a specific one by the receiver.

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2F4vF6yA2rndr0gYeXfjZM%2Fimage.png?alt=media\&token=99915633-095d-43d6-a336-97ba5386f7aa)


# Transactions

This windows will display a log of all you Send & Receive transactions. You may click on a transaction id to display transaction details.

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FhFL7ViyngnqGq042DoxR%2Fimage.png?alt=media\&token=15da497f-4f87-4225-a203-6575795545f5)


# Contacts

This windows will display all your saved contacts/addresses. Click on a contact to create a Send transaction.

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FL1aGbaPxdGENNf4F4Ape%2Fimage.png?alt=media\&token=f8e1010a-818b-4bf8-8d36-e6d0c386e151)


# SimpleWallet

Coming soon.


# Wallet Container

Coming Soon!


# bbs.money restore

The bbs.money website has been discontinued. Please follow steps to restore with your backup wallet file, mnemonics or private keys(View & Spend secret).

Step 1

You will need to download the BBSCoin Desktop wallet from our website: <https://www.bbscoin.click/download>, decompress/install. No need to run at moment.

Step 2

Open notepad or other text editor and start with this, replace spendkey and viewkey with your keys(should be same lenght as 0's), if different lenght, please let me know: Each row is 64 characters ->

0000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000

YourSpendKeySecret

YourViewKeySecret

It will look something like this:

0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

Step 3

Now you need to make it a one row/liner, so it looks like this, which is 256 characters:

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234567891234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

Step 4

Now go to the BBSCoin wallet, and click "File" in the menu, then select "Import Key".

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FQdRS4OSE2WPBCa1KXGsV%2Fimage.png?alt=media\&token=d31b7b82-45dc-4453-8984-0164d6ec785f)

You will paste the one liner into the window that pops up and click \[ OK ]. Then, It will ask you where you would want to save your wallet, select a secure folder in your computer.

![](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2Ft3BPLWOu6GWt6nNjouaP%2Fimage.png?alt=media\&token=c3cd7c6e-6f70-45a7-9f9b-b4b53cfcd928)

NOTE: Please, never save it in a public/shared folder where other may be able to access it.

If the wallet does not synchronize, please follow the steps in: [Wallet GUI Synchronization](/wallets/wallet-gui/synchronization)


# Tronlink to Klever Wallet

How to export copy your private key from Tronlink and paste it into Klever wallet for dual Synchronization. This wallet support BBSToken and Wrapped BBSToken as well as our DApp.

![Tronlink export Private Key ScreenShots](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2Fh4fkTIo7xTbAYt1AikXn%2FTronlinkWalletPrivateKeysExport.png?alt=media\&token=a0efd2f2-a279-4e25-b186-01f3fdad0bf0)

Tronlink: After the last/password screen, It will re-ask you to display your private key, and after that either Copy to the clipboard(computer memory) or export as a file. You will want to use Copy.

![Klever Tron/Tronlink wallet import.](https://2445278527-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKIOAFAs8HhigVwaipr%2Fuploads%2FPSLw54WrWZgW1lvQsm0R%2FKleverWalletImportPrivateKey.png?alt=media\&token=09e70a83-e1b6-41b1-be82-ecd66907d2ec)

Klever Wallet: On the last screen, Select TRX for TRON, then Enter Account Name (You may name something identifiable like Tronlink Wallet or something like that), Hit the paste button to paste the Private Key you Copied from Tronlink, Verify it shows the correct address, then hit the Import button. It will regenerate and load your wallet and synchronize it. Please note that it will only display tokens that are listed on the Klever Wallet.&#x20;

Klever Wallet: To show your tokens, like BBST and WBBS or others you may have, Go to the main wallet Portfolio(linke in the first Screenshot) by tapping the bottom center wallet button, now if your tokens didn't display automatically, then please click on the button with the 3 horizontal lines to the right of the \[ Search Coin ] input, then search for your tokens: BBST and WBBS and enable them, do the same for other tokens you have. Please remember only those tokens listed on Klever wallet will show on the results, and for TRON it would be the TRC tokens.


# Mining

PoW is still CryptoNight Lite v7. Please make sure your wallet and daemon are v6.x to prevent synchronization issues

**Official Mining Pool:** <https://pool.bbscoin.click/>

**Mining Pool Host Address:** mine.bbscoin.click (*Host to use/connect in mining software.*)

**Mining Ports**

| Connection Port | Starting Difficulty | Description                |
| --------------- | ------------------- | -------------------------- |
| 3334            | 10000               | Low end hardware           |
| 3335            | 20000               | Low end hardware           |
| 3336            | 50000               | Low end hardware           |
| 5556            | 100000              | Mid range hardware         |
| 7778            | 500000              | High end hardware          |
| 8889            | 2500000             | Professionals and NiceHash |

#### Configuration tip

For optimal mining efficency use static difficutly. You can activate static difficutly by adding ".desiredDifficutly" to your walletid. You can use any of the above ports for static difficutly.<br>

A good static difficutly would be 40 \* hashrate. Example for 1250H/s:

**Ex.:**`fyTpS7UgsfTJaGWxKoBcYNAie7ZXkia8UKarA8mAEnusGpM1JQPAzvFd6S8fpDR7WgEN9wTVL6vdBe3PjPmqafpm2PogvpQna.50000`

#### Mining Apps(there may be more around)

| XMR-Stak | CPU / GPU (choose bbscoin as currency) | [Github](https://github.com/fireice-uk/xmr-stak/releases) | [Reddit](https://www.reddit.com/r/Monero/comments/5lsfgt/xmrstakcpu_high_performance_open_source_miner/) | [Github](https://github.com/fireice-uk/xmr-stak) |
| -------- | -------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| XMRig    | CPU / GPU (set --variant=1)            | [Github](https://github.com/xmrig/xmrig/releases)         |                                                                                                          |                                                  |


# XMR-Stak

Basic configuration using XMR-Stak

XMR-Stak has many internal commands that may be used when launching it. You may see those commands by typing `./xmr-stak --help` , and it will display all available commands to the screen.

Out of these commands, the basic ones we recommend are --noCPU, --noAMD, and --noNVIDIA.

The --noCPU tells xmr-stak to not use the CPU cores, as --noAMD tells it to not load AMD GPUs/drivers, and you probably guessed it, as --noNVIDIA tells it to not load NVIDIA GPUs/drivers for its mining.


# Basic configuration

In the following configuration example, we will be setting xmr-stak to use just an AMD GPU.

Copy the following JSON settings into your text editor and save it as text file called: pools.txt, in to the xmr-stak folder where it contains the executable files.

```json
"pool_list" :
[
	{
		"pool_address" : "mine.bbscoin.click:PORT",
		"wallet_address" : "REPLACE_ME_WITH_YOUR_WALLET_ADDRESS_AND.DIFFICULTY",
		"rig_id" : "",
		"pool_password" : "x",
		"use_nicehash" : false,
		"use_tls" : false,
		"tls_fingerprint" : "",
		"pool_weight" : 1
	},
],
"currency" : "bbscoin",
```

Replace the PORT in "pool\_address" to match a your desired difficulty port from the [Mining](/mining) page. Should look like "mine.bbscoin.click:3336". Then, change the "wallet*address" to your walletAddress.difficulty | Making it look similar to this, but with your address and difficulty. If you will use multiple devices/rigs to mine, add a "rig\_*&#x69;d" to each configured, specialy if from same IP address.

`fyTpS7UgsfTJaGWxKoBcYNAie7ZXkia8UKarA8mAEnusGpM1JQPAzvFd6S8fpDR7WgEN9wTVL6vdBe3PjPmqafpm2PogvpQna.50000`

We will navigate to the xmr-stak folder, and run: `./xmr-stak --noCPU --noNVIDIA` . This tells it to not load those drivers, so only the AMD GPU drivers will be loaded.

xmr-stak: Use simple setup method? (Y/n) : `Y [ ENTER ]`&#x20;


# Plug-ins / Modules


# PHP API Module

A BBSCoin API module for PHP development.

Github link | <https://github.com/bbscoincommunity/bbscoin-api-php>


# MyBB

Plugin may work only on the listed versions of software.

MyBB [v1.0.3](https://raw.githubusercontent.com/bbscoincommunity/bbscoin-releases/master/plugins/bbscoin_mybb_v1_0_3.zip) / [v2.0](https://github.com/bbscoincommunity/mybb-plugin/archive/master.zip)

Github link | <https://github.com/bbscoincommunity/mybb-plugin>


# SMF

Plugin may work only on the listed versions of software.

SMF [v1.0.1](https://raw.githubusercontent.com/bbscoincommunity/bbscoin-releases/master/plugins/bbscoin_smf_v1_0_1.zip) / [v2.0](https://github.com/bbscoincommunity/smf-plugin/archive/master.zip)

Github link | <https://github.com/bbscoincommunity/smf-plugin>


# Discuz

Plugin may work only on the listed versions of software.

Discuz [v1.1.2](https://raw.githubusercontent.com/bbscoincommunity/bbscoin-releases/master/plugins/bbscoin_discuz_v1_1_2.zip) / [v2.0.1](https://github.com/bbscoincommunity/discuz-plugin/archive/master.zip)

Github link | <https://github.com/bbscoincommunity/discuz-plugin>


# PHPWind

Plugin may work only on the listed versions of software.

PHPWind [v1.1.2](https://raw.githubusercontent.com/bbscoincommunity/bbscoin-releases/master/plugins/bbscoin_phpwind_v1_1_2.zip) / [v2.0](https://github.com/bbscoincommunity/phpwind-plugin/archive/master.zip)

Github link | <https://github.com/bbscoincommunity/phpwind-plugin>


# GNUBoard

Github link | <https://github.com/bbscoincommunity/gnuboard-plugin>


# Development / Integration

Documentation reference for integration developers.  Here you will find the JSON RPC commands needed to interact with the Node Daemon / Blockchain, Simple Wallet, and the Wallet Container.


# Daemon/Node API


# Binary handlers

Handlers that are Binary


# getblocks.bin

### Input

| Argument   | Mandatory | Description    | Format |
| ---------- | --------- | -------------- | ------ |
| block\_ids | yes       | List of hashes | array  |

### Output

| Argument        | Description                               | Format |
| --------------- | ----------------------------------------- | ------ |
| blocks          | List of raw blocks                        | array  |
| start\_height   | Start height                              | uint64 |
| current\_height | Total number of blocks                    | uint64 |
| status          | Status of the request, "OK" if successful | string |


# queryblocks.bin

### Input

| Argument   | Mandatory | Description         | Format |
| ---------- | --------- | ------------------- | ------ |
| block\_ids | yes       | List of hashes      | array  |
| timestamp  | yes       | Time stamp to start | uint64 |

### Output

| Argument        | Description                               | Format |
| --------------- | ----------------------------------------- | ------ |
| status          | Status of the request, "OK" if successful | string |
| start\_height   | Starting height                           | uint64 |
| current\_height | Current height                            | uint64 |
| full\_offset    | Lowest block index                        | uint64 |
| items           | List of blocks                            | array  |


# queryblockslite.bin

### Input

| Argument   | Mandatory | Description          | Format |
| ---------- | --------- | -------------------- | ------ |
| block\_ids | yes       | List of block hashes | array  |
| timestamp  | yes       | Time stamp to start  | uint64 |

### Output

| Argument      | Description                               | Format |
| ------------- | ----------------------------------------- | ------ |
| status        | Status of the request, "OK" if successful | string |
| startHeight   | Start height                              | uint64 |
| currentHeight | Current height                            | uint64 |
| fullOffset    | Lowest block index                        | uint64 |
| items         | List of blocks                            | array  |


# get\_o\_indexes.bin

This method returns global outputs indexes of a transaction.

### Input

| Argument | Mandatory | Description      | Format |
| -------- | --------- | ---------------- | ------ |
| txid     | yes       | Transaction hash | Hash   |

### Output

| Argument   | Description                               | Format |
| ---------- | ----------------------------------------- | ------ |
| o\_indexes | List of outputs indexes                   | array  |
| status     | Status of the request, "OK" if successful | string |


# getrandom\_outs.bin

### Input

| Argument    | Mandatory | Description                         | Format |
| ----------- | --------- | ----------------------------------- | ------ |
| amounts     | yes       | List of amounts                     | array  |
| outs\_count | yes       | Maximum number of outputs to return | uint16 |

### Output

| Argument | Description                           | Format |
| -------- | ------------------------------------- | ------ |
| outs     | List of outputs                       | array  |
| status   | Status of request, "OK" if successful | string |


# get\_pool\_changes.bin

This method returns changes in pool containing unconfirmed transactions. Added transactions are returned as array of binary large objects (blobs)

### Input

| Argument    | Mandatory | Description                | Format |
| ----------- | --------- | -------------------------- | ------ |
| tailBlockId | yes       | Block hash of tail block   | Hash   |
| knownTxsIds | yes       | List of known block hashes | array  |

### Output

| Argument          | Description                                                  | Format |
| ----------------- | ------------------------------------------------------------ | ------ |
| isTailBlockActual | Is tailBlockId in pool                                       | bool   |
| addedTxs          | List of added transactions                                   | array  |
| deletedTxsIds     | List of transaction hashes of transactions no longer in pool | array  |
| status            | Status of request, "OK" if successful                        | string |


# get\_pool\_changes\_lite.bin

### Input

| Argument    | Mandatory | Description                      | Format |
| ----------- | --------- | -------------------------------- | ------ |
| tailBlockId | yes       | Block hash of tail block         | Hash   |
| knownTxsIds | yes       | List of known transaction hashes | array  |

### Output

| Argument          | Description                                        | Format |
| ----------------- | -------------------------------------------------- | ------ |
| isTailBlockActual | Is tailBlockId in pool                             | bool   |
| addedTxs          | List of transaction prefixes of added transactions | array  |
| deletedTxsIds     | List of transaction hashes of deleted transactions | array  |
| status            | Status of the request, "OK" if successful          | string |


# get\_blocks\_details\_by\_hashes.bin

### Input

| Argument    | Mandatory | Description          | Format |
| ----------- | --------- | -------------------- | ------ |
| blockHashes | yes       | List of block hashes | array  |

### Output

| Argument | Description                               | Format |
| -------- | ----------------------------------------- | ------ |
| blocks   | List of blocks                            | array  |
| status   | Status of the request, "OK" if successful | string |


# get\_blocks\_hashes\_by\_timestamps.bin

### Input

| Argument       | Mandatory | Description                                   | Format |
| -------------- | --------- | --------------------------------------------- | ------ |
| timestampBegin | yes       | Time stamp to start                           | uint64 |
| secondsCount   | yes       | Number of seconds after timestampBegin to end | uint64 |

### Output

| Argument    | Description                               | Format |
| ----------- | ----------------------------------------- | ------ |
| blockHashes | List of block hashes                      | array  |
| status      | Status of the request, "OK" if successful | string |


# get\_transaction\_details\_by\_hashes.bin

### Input

| Argument          | Mandatory | Description                | Format |
| ----------------- | --------- | -------------------------- | ------ |
| transactionHashes | yes       | List of transaction hashes | array  |

### Output

| Argument     | Description                               | Format |
| ------------ | ----------------------------------------- | ------ |
| transactions | List of transactions                      | array  |
| status       | Status of the request, "OK" if successful | string |


# get\_transaction\_hashes\_by\_payment\_id.bin

### Input

| Argument  | Mandatory | Description | Format |
| --------- | --------- | ----------- | ------ |
| paymentId | yes       | Payment ID  | Hash   |

### Output

| Argument          | Description                           | Format |
| ----------------- | ------------------------------------- | ------ |
| transactionHashes | List of transaction hashes            | array  |
| status            | Status of request, "OK" if successful | string |


# JSON handlers


# getinfo

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument                     | Description                                           | Format |
| ---------------------------- | ----------------------------------------------------- | ------ |
| status                       | Status of the request, "OK" if successful             | string |
| height                       | Blockchain height                                     | uint64 |
| difficulty                   | Difficulty of latest block                            | uint64 |
| tx\_count                    | Cumulative number of transactions since genesis block | uint64 |
| tx\_pool\_size               | Number of unconfirmed transactions in pool            | uint64 |
| alt\_blocks\_count           | Number of blocks in alternate chains                  | uint64 |
| outgoing\_connections\_count | Number of outgoing connections                        | uint64 |
| incoming\_connections\_count | Number of incoming connections                        | uint64 |
| white\_peerlist\_size        | Number of peers in white list                         | uint64 |
| grey\_peerlist\_size         | Number of peers in grey list                          | uint64 |
| last\_known\_block\_index    | Last known block index                                | uint32 |
| network\_height              | Remote network blockchain height                      | uint32 |
| hashrate                     | Estimated hash rate of latest block                   | uint32 |
| version                      | Daemon version                                        | string |
| synced                       | Is the local daemon synced with network               | bool   |
| fee\_address                 | Fee address of local daemon                           | string |
| max\_block\_size             | Maximum size for new block                            | uint64 |
| max\_tx\_size                | Maximum size for new transaction                      | uint64 |
| genesis\_time                | Time stamp of genesis block                           | uint64 |

### Usage

#### cURL

* curl <http://127.0.0.1:21204/getinfo>


# getheight

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument        | Description                           | Format |
| --------------- | ------------------------------------- | ------ |
| height          | Local blockchain height               | uint64 |
| network\_height | Network blockchain height             | uint32 |
| status          | Status of request, "OK" if successful | string |

### Usage

#### cURL

* curl <http://127.0.0.1:21204/getheight>


# gettransactions

### Input

| Argument    | Mandatory | Description                | Format |
| ----------- | --------- | -------------------------- | ------ |
| txs\_hashes | yes       | List of transaction hashes | array  |

### Output

| Argument     | Description                           | Format |
| ------------ | ------------------------------------- | ------ |
| txs\_as\_hex | List of transactions blobs as hex     | array  |
| missed\_tx   | List of transactions not found        | array  |
| status       | Status of request, "OK" if successful | string |

### Notes

* Transaction hashes are passed as strings


# sendrawtransaction

### Input

| Argument    | Mandatory | Description            | Format |
| ----------- | --------- | ---------------------- | ------ |
| tx\_as\_hex | yes       | Raw transaction as hex | string |

### Output

| Argument | Description                           | Format |
| -------- | ------------------------------------- | ------ |
| status   | Status of request, "OK" if successful | string |


# stop\_daemon

This method stops the daemon. Stopping the daemon is only allowed if the daemon is running on testnet.

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument | Description                               | Format |
| -------- | ----------------------------------------- | ------ |
| status   | Status of the request, "OK" if successful | string |

### Usage

#### cURL

* curl <http://127.0.0.1:21204/stop\\_daemon>


# JSON RPC request

### Usage

#### Using cURL

* curl -X POST <http://127.0.0.1:21204/json\\_rpc> -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getcurrencyid", "params": {}, "id": "1"}'
* curl -X POST <http://127.0.0.1:21204/json\\_rpc> -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getblockheaderbyheight", "params": {"height" : 0}, "id": "1"}'


# f\_blocks\_list\_json

### Input

| Argument | Mandatory | Description                     | Format |
| -------- | --------- | ------------------------------- | ------ |
| height   | yes       | Height of first block to return | uint64 |

### Output

| Argument | Description                               | Format |
| -------- | ----------------------------------------- | ------ |
| blocks   | List of blocks                            | array  |
| status   | Status of the request, "OK" if successful | string |


# f\_block\_json

### Input

| Argument | Mandatory | Description                      | Format |
| -------- | --------- | -------------------------------- | ------ |
| hash     | yes       | Block hash of the block to query | string |

### Output

| Argument | Description                               | Format |
| -------- | ----------------------------------------- | ------ |
| block    | Block details                             | binary |
| status   | Status of the request, "OK" if successful | string |


# f\_transaction\_json

### Input

| Argument | Mandatory | Description      | Format |
| -------- | --------- | ---------------- | ------ |
| hash     | yes       | Transaction hash | string |

### Output

| Argument  | Description                               | Format |
| --------- | ----------------------------------------- | ------ |
| tx        | Transaction                               | struct |
| txDetails | Transaction details                       | struct |
| block     | Block                                     | struct |
| status    | Status of the request, "OK" if successful | string |


# f\_on\_transactions\_pool\_json

This method returns all unconfirmed transactions.

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument     | Description                               | Format |
| ------------ | ----------------------------------------- | ------ |
| transactions | List of transactions                      | array  |
| status       | Status of the request, "OK" if successful | string |


# getblockcount

This method returns the number of blocks in blockchain of the node daemon.

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument | Description                               | Format |
| -------- | ----------------------------------------- | ------ |
| count    | Number of blocks in blockchain            | uint64 |
| status   | Status of the request, "OK" if successful | string |


# on\_getblockhash

This method expects an unnamed array containing single number and returns the block hash of block at that height.

### Input

| Argument | Mandatory | Description  | Format          |
| -------- | --------- | ------------ | --------------- |
|          | yes       | Block height | array of uint64 |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
|          | Block hash  | string |


# getblocktemplate

### Input

| Argument        | Mandatory | Description                                 | Format |
| --------------- | --------- | ------------------------------------------- | ------ |
| reserve\_size   | yes       | Maximum of 255 bytes reserved for user data | uint64 |
| wallet\_address | yes       | Wallet address for block reward             | string |

### Output

| Argument            | Description                                       | Format |
| ------------------- | ------------------------------------------------- | ------ |
| difficulty          | Target difficulty                                 | uint64 |
| height              | Current block height                              | uint32 |
| num\_transactions   | Number of transactions included in block template | uint32 |
| reserved\_offset    | Offset of reserved space for user data            | uint64 |
| blocktemplate\_blob | Binary large object containing block template     | string |
| status              | Status of the request, "OK" if successful         | string |

### Notes

* num\_transactions can be used to discard block template if minimum number of transactions is not satisfied


# getcurrencyid

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument           | Description           | Format |
| ------------------ | --------------------- | ------ |
| currency\_id\_blob | Hash of genesis block | string |


# submitblock

### Input

| Argument | Mandatory | Description                     | Format                      |
| -------- | --------- | ------------------------------- | --------------------------- |
|          | yes       | Binary array of block to submit | array of hexadecimal string |

### Output

| Argument | Description                           | Format |
| -------- | ------------------------------------- | ------ |
| status   | Status of request, "OK" if successful | string |

### Notes

* This method expects an array containing single element of hexadecimal string converted from block data.


# getlastblockheader

This method returns block header of most recent block.

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument      | Description                           | Format |
| ------------- | ------------------------------------- | ------ |
| block\_header | Block header                          | struct |
| status        | Status of request, "OK" if successful | string |


# getblockheaderbyhash

### Input

| Argument | Mandatory | Description                        | Format |
| -------- | --------- | ---------------------------------- | ------ |
| hash     | yes       | Block hash of the block to request | string |

### Output

| Argument      | Description                               | Format |
| ------------- | ----------------------------------------- | ------ |
| block\_header | Block header                              | struct |
| status        | Status of the request, "OK" if successful | string |


# getblockheaderbyheight

### Input

| Argument | Mandatory | Description                          | Format |
| -------- | --------- | ------------------------------------ | ------ |
| height   | yes       | Block height of the block to request | uint64 |

### Output

| Argument      | Description                               | Format |
| ------------- | ----------------------------------------- | ------ |
| block\_header | Block header                              | struct |
| status        | Status of the request, "OK" if successful | string |


# get\_txs\_by\_height


# get\_txs\_pool


# get\_random\_outs


# get\_maximum\_tx\_allowed\_size


# Wallet API


# Simple Wallet

These commands need verification / untested.


# getbalance

Gets the balance of the wallet or an specific addresss.

#### Input

| Argument | Mandatory | Description             | Format |
| -------- | --------- | ----------------------- | ------ |
| address  | no        | Wallet address to query | string |

#### Output

| Argument         | Description                                      | Format |
| ---------------- | ------------------------------------------------ | ------ |
| availableBalance | Available balance that can be spent              | uint64 |
| lockedAmount     | Balance still locked in unconfirmed transactions | uint64 |

#### Usage

Replace "your\_password" and "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. You can get list of valid wallet addresses using getAddresses method.

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getBalance", "password": "your_password", "params": {}, "id": "1"}'
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getBalance", "password": "your_password", "params": {"address" : "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa"}, "id": "1"}'
```


# transfer

#### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "save", "password": "your_password", "params": {}, "id": "1"}'
```


# store

This method saves/stores the current wallet container to disk using same filename as when loaded.

#### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

```bash
# With a password
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "store", "password": "your_password", "params": {}, "id": "1"}'

# Without a password
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "store", "password": "your_password", "params": {}, "id": "1"}'
```


# get\_payments

#### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "save", "password": "your_password", "params": {}, "id": "1"}'
```


# get\_transfers

#### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "save", "password": "your_password", "params": {}, "id": "1"}'
```


# get\_height

#### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

```bash
curl -X POST http://127.0.0.1:2120/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "save", "password": "your_password", "params": {}, "id": "1"}'
```


# reset

This method clears all cached data and rescans the blockchain for transactions if viewSecretKey is specified, old key will be discarded and rescan will use the new key for scanning transactions

#### Input

| Argument      | Mandatory | Description            | Format |
| ------------- | --------- | ---------------------- | ------ |
| viewSecretKey | no        | Secret view key to use | string |

#### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

#### Usage

Replace "your\_password" and "viewSecretKey" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. Secret view key is returned by method getViewKey.

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "reset", "password": "your_password", "params": {}, "id": "1"}'
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "reset", "password": "your_password", "params": {"viewSecretKey" : "7968b4dd4114092ca71a90d38a542926bc32e0437bbc579e6de92ea4306ddf18"}, "id": "1"}'
```


# Wallet Container

JSON-RPC commands to use with the Wallet Container \[ walletd | walletd.exe ]


# save

This method saves the current wallet container to disk using same filename as when loaded.

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

### Usage

Replace "your*password", "ip\_address*", "port" in example with real value from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons.

#### cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "save", "password": "your_password", "params": {}, "id": "1"}'
```


# export

This method exports the current wallet container to a new file.

### Input

| Argument | Mandatory | Description                       | Format |
| -------- | --------- | --------------------------------- | ------ |
| fileName | yes       | Name of file to export the wallet | string |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

<br>


# reset

This method clears all cached data and rescans the blockchain for transactions. If viewSecretKey is specified, old key will be discarded and rescan will use the new key for scanning transactions.

### Input

| Argument      | Mandatory | Description            | Format |
| ------------- | --------- | ---------------------- | ------ |
| viewSecretKey | no        | Secret view key to use | string |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |

### Usage

Replace "your\_password" and "viewSecretKey" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. Secret view key is returned by method getViewKey.

#### cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "reset", "password": "your_password", "params": {}, "id": "1"}'
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "reset", "password": "your_password", "params": {"viewSecretKey" : "7968b4dd4114092ca71a90d38a542926bc32e0437bbc579e6de92ea4306ddf18"}, "id": "1"}'
```


# createAddress

Either spendSecretKey or spendPublicKey, or neither, should be specified. New keys will be generated if neither parameter is specified.

### Input

| Argument       | Mandatory | Description             | Format |
| -------------- | --------- | ----------------------- | ------ |
| spendSecretKey | no        | Secret spend key to use | string |
| spendPublicKey | no        | Public spend key to use | string |

### Output

| Argument | Description                | Format |
| -------- | -------------------------- | ------ |
| address  | Address for created wallet | string |


# createAddressList

This method creates as many wallets as there is spend keys in the request

### Input

| Argument        | Mandatory | Description                      | Format |
| --------------- | --------- | -------------------------------- | ------ |
| spendSecretKeys | yes       | List of secret spend keys to use | array  |

### Output

| Argument  | Description                           | Format |
| --------- | ------------------------------------- | ------ |
| addresses | List of addresses for created wallets | array  |


# deleteAddress

### Input

| Argument | Mandatory | Description                 | Format |
| -------- | --------- | --------------------------- | ------ |
| address  | yes       | Address of wallet to delete | string |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |


# getSpendKeys

### Input

| Argument | Mandatory | Description                            | Format |
| -------- | --------- | -------------------------------------- | ------ |
| address  | no        | Address of wallet to return spend keys | string |

### Output

| Argument       | Description      | Format |
| -------------- | ---------------- | ------ |
| spendSecretKey | Secret spend key | string |
| spendPublicKey | Public spend key | string |


# getBalance

### Input

| Argument | Mandatory | Description             | Format |
| -------- | --------- | ----------------------- | ------ |
| address  | no        | Wallet address to query | string |

### Output

| Argument         | Description                                      | Format |
| ---------------- | ------------------------------------------------ | ------ |
| availableBalance | Available balance that can be spent              | uint64 |
| lockedAmount     | Balance still locked in unconfirmed transactions | uint64 |

### Usage

Replace "your\_password" and "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. You can get list of valid wallet addresses using getAddresses method.

cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getBalance", "password": "your_password", "params": {}, "id": "1"}'
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "getBalance", "password": "your_password", "params": {"address" : "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa"}, "id": "1"}'
```


# getBlockHashes

### Input

| Argument        | Mandatory | Description                          | Format |
| --------------- | --------- | ------------------------------------ | ------ |
| firstBlockIndex | yes       | Block index of first block to return | uint32 |
| blockCount      | yes       | Number of block hashes to return     | uint32 |

### Output

| Argument    | Description          | Format |
| ----------- | -------------------- | ------ |
| blockHashes | List of block hashes | array  |


# getTransactionHashes

Either blockHash or firstBlockIndex should be specified.

### Input

| Argument        | Mandatory | Description                                    | Format |
| --------------- | --------- | ---------------------------------------------- | ------ |
| addresses       | no        | List of addresses to query transactions        | array  |
| blockHash       | no        | Block hash of the first block                  | string |
| firstBlockIndex | no        | Block index of the first block                 | uint32 |
| blockCount      | yes       | Number of blocks to query                      | uint32 |
| paymentId       | no        | Payment ID to filter the returned transactions | string |

### Output

| Argument | Description    | Format |
| -------- | -------------- | ------ |
| items    | List of blocks | array  |


# getTransactions

Either blockHash or firstBlockIndex should be specified.

### Input

| Argument        | Mandatory | Description                                    | Format |
| --------------- | --------- | ---------------------------------------------- | ------ |
| addresses       | no        | List of addresses to query transactions        | array  |
| blockHash       | no        | Block hash of first block                      | string |
| firstBlockIndex | no        | Index of first block                           | uint32 |
| blockCount      | yes       | Number of blocks to query                      | uint32 |
| paymentId       | no        | Payment ID to filter the returned transactions | string |

### Output

| Argument | Description    | Format |
| -------- | -------------- | ------ |
| items    | List of blocks | array  |


# getUnconfirmedTransactionHashes

### Input

| Argument  | Mandatory | Description                                         | Format |
| --------- | --------- | --------------------------------------------------- | ------ |
| addresses | no        | List of addresses to query unconfirmed transactions | array  |

### Output

| Argument          | Description                                            | Format |
| ----------------- | ------------------------------------------------------ | ------ |
| transactionHashes | List of transaction hashes of unconfirmed transactions | array  |


# getTransaction

### Input

| Argument        | Mandatory | Description                         | Format |
| --------------- | --------- | ----------------------------------- | ------ |
| transactionHash | yes       | Transaction hash of the transaction | string |

### Output

| Argument    | Description                | Format             |
| ----------- | -------------------------- | ------------------ |
| transaction | Info about the transaction | TransactionRpcInfo |


# sendTransaction

### Input

| Argument      | Mandatory | Description                               | Format |
| ------------- | --------- | ----------------------------------------- | ------ |
| addresses     | no        | List of addresses to send the orders from | array  |
| transfers     | yes       | List of wallet RPC orders                 | array  |
| changeAddress | no        | Address to send unused amount of inputs   | string |
| fee           | no        | Network fee                               | uint64 |
| anonymity     | no        | Anonymity level                           | uint32 |
| extra         | no        | Extra information for transaction         | string |
| paymentId     | no        | Payment ID for transaction                | string |
| unlockTime    | no        | Unlock time for transaction               | uint64 |

### Output

| Argument        | Description                              | Format |
| --------------- | ---------------------------------------- | ------ |
| transactionHash | Transaction hash of the sent transaction | string |

### Usage

Replace "your\_password" and "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. You can get list of valid wallet addresses using getAddresses method.

Replace "TA4hZYd77tqhHnjXxmq7GvZpPZSSx8CthWy9ZufqF8kjZBBN1WAg38uGLihKnLUKTgHC7qSoM5yWneVsyCdkrL6L1mgAuuuM2" with the wallet address of the recipient.

`amount` and `fee` fields are in atomic units.

You can add multiple recipients separated with comma, each enclosed between `{` and `}`.

You only need to specify `changeAddress` if you use multiple addresses to send the funds or if `addresses` list is empty and wallet file contains multiple addresses.

#### cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "sendTransaction", "password": "your_password", "params": {"anonymity": 0, "addresses": ["TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa"], "transfers": [{"address": "TA4hZYd77tqhHnjXxmq7GvZpPZSSx8CthWy9ZufqF8kjZBBN1WAg38uGLihKnLUKTgHC7qSoM5yWneVsyCdkrL6L1mgAuuuM2", "amount": 100}], "fee": 1}, "id": "1"}'
```


# createDelayedTransaction

### Input

| Argument      | Mandatory | Description                               | Format |
| ------------- | --------- | ----------------------------------------- | ------ |
| addresses     | no        | List of source addresses                  | array  |
| transfers     | yes       | List of wallet RPC orders                 | array  |
| changeAddress | no        | Address to return unused amount in inputs | string |
| fee           | no        | Network fee                               | uint64 |
| anonymity     | no        | Anonymity level                           | uint32 |
| extra         | no        | Extra information for transaction         | string |
| paymentID     | no        | Payment ID for transaction                | string |
| unlockTime    | no        | Unlock time for transaction               | uint64 |

### Output

| Argument        | Description                                         | Format |
| --------------- | --------------------------------------------------- | ------ |
| transactionHash | Transaction hash of the created delayed transaction | string |


# getDelayedTransactionHashes

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument          | Description                                         | Format |
| ----------------- | --------------------------------------------------- | ------ |
| transactionHashes | List of transaction hashes for delayed transactions | array  |


# deleteDelayedTransaction

### Input

| Argument        | Mandatory | Description                             | Format |
| --------------- | --------- | --------------------------------------- | ------ |
| transactionHash | yes       | Transaction hash of delayed transaction | string |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |


# sendDelayedTransaction

### Input

| Argument        | Mandatory | Description                                 | Format |
| --------------- | --------- | ------------------------------------------- | ------ |
| transactionHash | yes       | Transaction hash of the delayed transaction | string |

### Output

| Argument | Description | Format |
| -------- | ----------- | ------ |
| none     |             |        |


# getViewKey

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument      | Description                             | Format |
| ------------- | --------------------------------------- | ------ |
| viewSecretKey | Secret view key of the wallet container | string |


# getStatus

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument        | Description               | Format |
| --------------- | ------------------------- | ------ |
| blockCount      | Number of blocks          | uint32 |
| knownBlockCount | Number of known blocks    | uint32 |
| lastBlockHash   | Hash of last block        | string |
| peerCount       | Number of connected peers | uint32 |


# getAddresses

### Input

| Argument | Mandatory | Description | Format |
| -------- | --------- | ----------- | ------ |
| none     |           |             |        |

### Output

| Argument  | Description              | Format |
| --------- | ------------------------ | ------ |
| addresses | List of wallet addresses | array  |


# sendFusionTransaction

### Input

| Argument           | Mandatory | Description                                         | Format |
| ------------------ | --------- | --------------------------------------------------- | ------ |
| threshold          | yes       | Target threshold for optimized outputs              | uint64 |
| anonymity          | no        | Anonymity level of fusion transaction               | uint32 |
| addresses          | yes       | Source addresses to be optimized                    | array  |
| destinationAddress | yes       | Destination address for receiving optimized outputs | string |

### Output

| Argument        | Description                                        | Format |
| --------------- | -------------------------------------------------- | ------ |
| transactionHash | Transaction hash of the created fusion transaction | string |

### Usage

Replace "your\_password" and "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. You can get list of valid wallet addresses using getAddresses method.

#### cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "sendFusionTransaction", "password": "your_password", "params": {"addresses": ["TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa"], "destinationAddress": "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa", "threshold" : 100000000, "anonymity": 0}, "id": "1"}'
```


# estimateFusion

### Input

| Argument  | Mandatory | Description                                                                                                                                       | Format |
| --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| threshold | Yes       | Value that determines which outputs will be optimized. Only the outputs less than the threshold value will be included into a fusion transaction. | uint64 |
| addresses | No        | Array of strings, where each string is an address to take the funds from.                                                                         | array  |

### Output

| Argument         | Description                                                 | Format |
| ---------------- | ----------------------------------------------------------- | ------ |
| totalOutputCount | Total number of unspent outputs of the specified addresses. | uint64 |
| fusionReadyCount | Number of outputs that can be optimized.                    | uint64 |

### Usage

Replace "your\_password" and "TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa" in examples with real values from wallet daemon. Password is specified on command-line of wallet daemon, it is not returned by any API method for security reasons. You can get list of valid wallet addresses using getAddresses method.

#### cURL

```bash
curl -X POST http://ip_address:port/json_rpc -H 'Content-Type: application/json-rpc' -d '{"jsonrpc": "2.0", "method": "estimateFusion", "password": "your_password", "params": {"addresses": ["TA4yACzMYuFYq7V6xVAWYHeS39jQ8w4mKRowpY6NskGuS1rZpjcWuCpdeCypwUCJrK9mGqVW9o1pY2EG3HW7BZkR2YRcc4YNa"], "threshold" : 100000000}, "id": "1"}'
```


# Whitepapers

Links to our Whitepapers.


# BBSCoin (BBS)


# English

{% embed url="<https://bbscoin.click/docs/en/Whitepaper_v1.0.0.pdf>" %}


# Español

{% embed url="<https://bbscoin.click/docs/es/Whitepaper_v1.0.0.pdf>" %}


# Português Brasileiro

{% embed url="<https://bbscoin.click/docs/pt-br/Whitepaper_v1.0.0.pdf>" %}


# 한국어

{% embed url="<https://bbscoin.click/docs/ko/Whitepaper_v1.0.0.pdf>" %}


# 中文(简体)

{% embed url="<https://bbscoin.click/docs/zh/Whitepaper_v1.0.0.pdf>" %}


# 日本語

{% embed url="<https://bbscoin.click/docs/ja/Whitepaper_v1.0.0.pdf>" %}


# Indonesian

{% embed url="<https://bbscoin.click/docs/id/Whitepaper_v1.0.0.pdf>" %}




---

[Next Page](/llms-full.txt/1)

