Every function requires an object as parameter and returns another object as response. Our qrl.proto file lists the different objects as messages in two categories, request (named *Req) and response (named *Resp).

This is an open source project.
We are looking for contributers. If you would like to help your fellow developers out, send any commits to the code hosted at github.com/theqrl/api.theqrl.org. As a community we can only get stronger.

Jump right in to the code, find the main QRL repository at GitHub. QRL is an open source project, we encourage open collaboration. Our Discord server has a thriving community, and we are ready to help you build something great on the QRL network.

Connecting to the QRL network is simple. The network consists of various nodes, communicating via P2P comunication protocols. All nodes sync with each other, sharing the blockchain data and valdating each block.

For security reasions, it is recomended that you run a private QRL node for your application to connect to. You can find the qrl api running at 127.0.0.1:19009 on a local node. You can configure this to another port, or make it available to the public by modifying the config.yml file found in the default qrl directory. For more information please see the documantation for running a full node, and setting up a configuration file.

Important information

OTS Keys

QRL uses XMSS to extend the available OTS keys. You need to be cognizant that you don't run out of available keys in a wallet. By default the wallet will not allow you to make transactions with the

Warning! If you use all OTS keys the remaining funds will be locked. Please see the documentation at docs.theqrl.org

The WalletAPI has been redeveloped to support slave files by default, adding some sutomation and extending the available transactions (Signitures) that an addess can make. If you use the wallet daemon and generate an address with slaves, the last 5 keys will not be consumed, allowing you to transfer the remaining funds to a new wallet.

UnlockWalletResp

ValidAddressReq

ValidAddressResp

Wallet API

This service describes the Wallet API. This is intended to simplify the programmatic interaction with the QRL wallet. This will allow further development with automated services.

The WalletAPI and Wallet Daemon now include automatic slave key transactions and lockout management. The last 5 slave keys are not automatically consumed. This allows manual address migration once all current address slave keys have been consumed. For more information drop a line to [email protected]

serverIPPort indicates the IP:Port at which REST API service will be provided.
walletServiceEndpoint indicates the IP:Port at which the WalletAPIService is running.
If you have not changed the host and port at config.yml of QRL Node, then the above command should work fine.

Adds new randomly generated address to the wallet with slaves. Height, Number of slaves and hash_function may be selected. By default the command without any options will create a wallet with height XX, XX slaves and a XX hash_function.

Creates the signed message transaction using one of the slaves and relay it to the network. Master Address must exist into wallet. It may relay a slave transaction if the remaining slave OTS key are less than 100.

Creates the signed slave transaction using one of the slave and relay it to the network. Master Address must exist into wallet. It may relay a slave transaction if the remaining slave OTS key are less than 100.

Creates the signed token transaction using one of the slave and relay it to the network. Master Address must exist into wallet. It may relay a slave transaction if the remaining slave OTS key are less than 100.

Creates the signed transfer transaction using one of the slaves and relay it to the network. Master Address must exist into wallet. It may relay a slave transaction if the remaining slave OTS key are less than 100.

Creates the signed transfer token transaction using one of the slave and relay it to the network. Master Address must exist into wallet. It may relay a slave transaction if the remaining slave OTS key are less than 100.