Qubic Query API
API for querying historical Qubic ledger data.
API for querying historical Qubic ledger data.
Archive processing status and coverage information.
Get the last processed tick and other processing information from the archive. All data queried from the archive is only fully processed up to this tick. Before calling the service you should check the last processed tick to be sure to get valid data and do not request data for future ticks that are not processed yet. You can use the epoch and initial tick information in the response to switch to a new interval.
GetLastProcessedTickResponse
The epoch the last processed tick is in.
The initial tick of the current tick interval.
The last processed tick that is available in the archive.
curl https://rpc.qubic.org/query/v1/getLastProcessedTick
{
"tickNumber": 1,
"epoch": 1,
"intervalInitialTick": 1
}OK
Get the tick intervals that are available in the archive. A new tick interval is typically
created on epoch change or network restart within the epoch. Use this endpoint to skip the
tick numbers that are not part of the intervals. This endpoint is only necessary for users
that need to process all available ticks. For most users it is enough to switch to a new
interval by using the get last processed tick endpoint.
GetProcessedTickIntervalsResponse
A list of tick intervals that were processed.
ProcessedTickInterval
curl https://rpc.qubic.org/query/v1/getProcessedTickIntervals
{
"processedTickIntervals": [
{
"epoch": 1,
"firstTick": 1,
"lastTick": 1
}
]
}OK
Network status and computor information.
Get the list(s) of computors for one epoch. These are the computors (IDs signed by the arbitrator) that are allowed to make quorum decisions. It is possible that this list changes within the epoch in case of arbitrator intervention.
GetComputorListsForEpochRequest
The epoch number to get the computor lists for.
GetComputorListsForEpochResponse
The lists of computors that voted in this epoch.
ComputorList
curl https://rpc.qubic.org/query/v1/getComputorListsForEpoch \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"epoch": 1
}'
{
"computorsLists": [
{
"epoch": 1,
"tickNumber": 1,
"identities": [
"string"
],
"signature": "string"
}
]
}OK
Query tick data from the archive.
Get the tick data for one tick.
GetTickDataRequest
The number of tick the tick data is requested for.
GetTickDataResponse
TickData
curl https://rpc.qubic.org/query/v1/getTickData \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"tickNumber": 1
}'
{
"tickData": {
"tickNumber": 1,
"epoch": 1,
"computorIndex": 1,
"timestamp": "string",
"varStruct": "string",
"timeLock": "string",
"transactionHashes": [
"string"
],
"contractFees": [
"string"
],
"signature": "string"
}
}OK
Search and retrieve transaction history.
Get a single transaction by its hash.
GetTransactionByHashRequest
The hash of the transaction.
GetTransactionByHashResponse
Transaction
curl https://rpc.qubic.org/query/v1/getTransactionByHash \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"hash": ""
}'
{
"transaction": {
"hash": "string",
"amount": "string",
"source": "string",
"destination": "string",
"tickNumber": 1,
"timestamp": "string",
"inputType": 1,
"inputSize": 1,
"inputData": "string",
"signature": "string",
"moneyFlew": true
}
}OK
Get the transactions for one identity sorted by tick number descending.
| Name | Type | Necessity | Description |
|---|---|---|---|
| identity | string | required | 60 characters uppercase identity. |
| filters | map<string,string> | optional | Filters that restrict results to single value. |
| ranges | map<string,Range> | optional | Filters that restrict results to a value range. |
| pagination | Pagination | optional | Allows to specify the first record and the number of records to be retrieved. |
Without filters and ranges all transactions from and to that identity ordered by tick number descending are returned.
Filters restrict the results by single values.
| Name | Type | Format | Description |
|---|---|---|---|
| source | string | 60 character identity, up to 5, comma separated. | Only find transactions that were sent from the specified identities. |
| source-exclude | string | 60 character identity, up to 5, comma separated. | Only find transactions that were not sent from the specified identities. |
| destination | string | 60 character identity, up to 5, comma separated. | Only find transactions that were sent to the specified identities. |
| destination-exclude | string | 60 character identity, up to 5, comma separated. | Only find transactions that were not sent to the specified identities. |
| amount | string | Numeric | Only find transactions with the specified amount. |
| inputType | string | Numeric | Only find transactions with the specified input type. |
| tickNumber | string | Numeric | Only find transactions with the specified tick number. |
sourceandsource-exclude are mutually exclusive. destination and destination-exclude are mutually exclusive.
"source": "IIJHZSNPDRYYXCQBWNGKBSWYYDCARTYPOBXGOXZEVEZMMWYHPBVXZLJARRCB",
"destination": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFXIB"
"amount": "1000000"
"inputType": "0"
Ranges restrict the results by a range of values. On range per property is supported.
| Name | Type | Format | Description |
|---|---|---|---|
| amount | string | Numeric | Only find transactions in amount range. |
| tickNumber | string | Numeric | Only find transactions in tick range. |
| inputType | string | Numeric | Only find transactions in input type range. |
| timestamp | string | Numeric (Unix Timestamp in milliseconds) | Only find transactions in time range. |
A range with size of 0 or 1 is not allowed.
| Name | Type | Necessity | Description |
|---|---|---|---|
| field | string | required | Name of the field you wish to search for. |
| gt | string | optional | Greater than. |
| gte | string | optional | Greater than or equal to. |
| lt | string | optional | Less than. |
| lte | string | optional | Less than or equal to. |
Only one lower bound and one upper bound can be specified.
"amount": { "gt": "1000000" }
"tickNumber": { "gte": "25563000", "lte": "28300000" }
"inputType": { "gt": "0" }
"timestamp": { "lt": "1757376000000" }
| Name | Type | Necessity | Description |
|---|---|---|---|
| offset | uint32 | optional | The offset of the first record to return. Defaults to zero (first record). Maximum offset is 10000. |
| size | uint32 | optional | Defaults to 10. Maximum size is 1000. Zero value is ignored (uses default). |
GetTransactionsForIdentityRequest
Filters restrict the results by single values.
The identity to get the transactions for. Incoming and outgoing transactions are queried by default.
The number of maximum results (offset + size) is limited to 10000.
Ranges restrict the results by a maximum and minimum value.
GetTransactionsForIdentityResponse
Provides information about the number of results.
List of transactions that matched the search criteria.
Transaction
The response is valid for this tick number.
curl https://rpc.qubic.org/query/v1/getTransactionsForIdentity \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"identity": "AFZPUAIYVPNUYGJRQVLUKOPPVLHAZQTGLYAAUUNBXFTVTAMSBKQBLEIEPCVJ",
"filters": {
"destination": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFXIB",
"inputType": "0"
},
"ranges": {
"amount": {
"gte": "1000000000"
}
},
"pagination": {
"offset": 0,
"size": 10
}
}'
{
"validForTick": 1,
"hits": {
"total": 1,
"from": 1,
"size": 1
},
"transactions": [
{
"hash": "string",
"amount": "string",
"source": "string",
"destination": "string",
"tickNumber": 1,
"timestamp": "string",
"inputType": 1,
"inputSize": 1,
"inputData": "string",
"signature": "string",
"moneyFlew": true
}
]
}OK
Get the transactions that are in included in one tick.
| Name | Type | Necessity | Description |
|---|---|---|---|
| identity | string | required | 60 characters uppercase identity. |
| filters | map<string,string> | optional | Filters that restrict results to single value. |
| ranges | map<string,Range> | optional | Filters that restrict results to a value range. |
Filters restrict the results by single values.
| Name | Type | Format | Description |
|---|---|---|---|
| source | string | 60 character identity | Only find transactions that were sent from the specified identities. |
| destination | string | 60 character identity | Only find transactions that were sent to the specified identities. |
| amount | string | Numeric | Only find transactions with the specified amount. |
| inputType | string | Numeric | Only find transactions with the specified input type. |
Ranges restrict the results by a range of values. On range per property is supported.
| Name | Type | Format | Description |
|---|---|---|---|
| amount | string | Numeric | Only find transactions in amount range. |
| inputType | string | Numeric | Only find transactions in input type range. |
A range with size of 0 or 1 is not allowed.
| Name | Type | Necessity | Description |
|---|---|---|---|
| field | string | required | Name of the field you wish to search for. |
| gt | string | optional | Greater than. |
| gte | string | optional | Greater than or equal to. |
| lt | string | optional | Less than. |
| lte | string | optional | Less than or equal to. |
Only one lower bound and one upper bound can be specified.
For examples how to use filters and ranges see the GetTransactionsForIdentity endpoint documentation.
GetTransactionsForTickRequest
Filters restrict the results by single values. Allowed: source, destination, amount, inputType
Ranges restrict the results by a maximum and minimum value. Allowed: amount, inputType
The tick number to get the transactions for.
GetTransactionsForTickResponse
The transactions for the requested tick number.
Transaction
curl https://rpc.qubic.org/query/v1/getTransactionsForTick \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"tickNumber": 42977140,
"filters": {
"destination": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFXIB"
},
"ranges": {
"amount": {
"gte": "1"
}
}
}'
{
"transactions": [
{
"hash": "string",
"amount": "string",
"source": "string",
"destination": "string",
"tickNumber": 1,
"timestamp": "string",
"inputType": 1,
"inputSize": 1,
"inputData": "string",
"signature": "string",
"moneyFlew": true
}
]
}OK
| Enabled | Key | Value |
|---|
| Enabled | Key | Value |
|---|---|---|
| Enabled | Key | Value |
|---|---|---|
Content-Type | application/json | |
Accept | application/json | |
| Enabled | Key | Value |
|---|---|---|