Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
CSPR.cloud is an enterprise-grade middleware platform aimed to super-charge developers and to be the primary way for dApps to interact with the Casper Network. It provides access to indexed and enriched blockchain data, real-time streaming subscriptions, and access to reliable and maintained Casper Node. The APIs include:
Indexed and normalized network data
Support of the existing smart contract-level event standards, such as , which is also natively supported by the
Relevant off-chain data, such as CSPR rates or
and more
CSPR.cloud was built with developer experience in mind and expands the Casper Node RPC API with more data points and querying possibilities, which are not available via the native node API. You can check for examples in the section.
To get familiar with CSPR.cloud, we recommend that you read these documents:
Learn about the general technical aspects of CSPR.cloud API, and how it works
Learn how to make your first API request and start your integration with the Casper Network
Learn about CSPR.cloud API possibilities, which aren't present in the Casper Node RPC API
If you have any questions or run into any issues while using the CSPR.cloud Web API, you can find help in the . Here you can connect and get help from other developers.
By using CSPR.cloud, you agree to our and acknowledge that you have read our .
Streaming API Get familiar with the Streaming API reference to know what Web Socket subscriptions are available
Casper Node API Learn how to connect to the private Casper Node powered by CSPR.cloud using the most popular SDKs
CSPR.cloud REST API is an HTTP-based API that dApps can use to programmatically query Casper network data. It has predictable resource-oriented endpoints and uses standard HTTP response codes, authentication, and verbs.
CSPR.cloud Streaming API is WebSocket-based and follows the WebSocket standard conventions.
The APIs can be accessed using the following base URLs
The API is protected and requires access tokens to be provided with each request. The access tokens identify the API user and their corresponding access tier limits. Visit the page to learn more.
The API is rate-limited, with rate limits defined by the user access tier. The total number of requests to each of the APIs is limited by monthly and daily quotas. Visit the page to learn more.
The API sends data in the JSON format. Successful REST API responses contain the data property, which contains the response data:
The Streaming API messages additionally include the action and timestamp properties:
Requests that potentially may return an unlimited number of items are paginated. Endpoints that return paginated responses accept the page and limit query parameters to control the page and the number of items per page, correspondingly. Paginated responses contain two additional properties providing information on the total number of items and the total number of pages:
Visit the page to learn more.
Some of the endpoints that return paginated responses provide a possibility to sort the results. Sorting is controlled by the order_by and order_direction query params. Visit the page to learn more.
Some of the endpoints that return paginated responses provide a possibility to filter the results by certain properties. Available filter properties vary for different endpoints and are specified in the corresponding endpoint documentation. Visit the page to learn more.
Some of the endpoints provide a possibility to include optional properties into the responses using the includes query param. Visit the page to learn more.
Error responses contain the error property with optional code, message, and description properties providing more information about the error that occurred:
Visit the page to learn more.
This documentation covers CSPR.cloud V2. Click for CSPR.cloud V1 documentation, which will be deprecated soon.
CSPR.cloud REST API
CSPR.cloud Streaming API
Casper Node RPC API
Casper Node SSE API
CSPR.cloud REST API
CSPR.cloud Streaming API
Casper Node RPC API
Casper Node SSE API
{
"data": <ResponseData>
}{
"action": <string>,
"data": <MessageData>,
"timestamp": <datetime>
}{
"data": [<ResponseData>],
"item_count": <int>,
"page_count": <int>
}{
"error": {
"code": 404,
"message": "The requested block was not found"
}
}The CSPR.cloud API is exclusively available to registered users. To authorize your API requests, an access token is required. The access tokens identify the API user and their corresponding access tier limitations. Please visit the CSPR.cloud website to learn about the tiers and to submit an access token request. To learn more about rate limites and quotas please read the Rate limits and quotas documentation page.
The access token should be included in the Authorization header:
curl --request GET \
'https://node.testnet.cspr.cloud/status' \
--header "Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a"To learn how to include the Authorization header in Casper SDKs to access the CSPR.cloud Casper Node please read the page.
At this moment CPSR.cloud provides only the server side integration. By using your access token in a front-end application, you'll expose it to the world.
You can request the usage report by sending an email from your registered account to .
CSPR.cloud indexes and normalizes on-chain data to improve developers' experience when building on the Casper Network. Below are examples that demonstrate some of the possibilities CSPR.cloud offers. For the full list, please see the API reference pages.
Including related entities Receive related entities in a single response to minimize the number of network requests needed to load the data
Including CSPR rates Include CSPR rates that were relevant at the moment of a transfer, contract call, or reward creation
Include account info information provided by the account owner in the responses that contain account identifiers
Query granular pieces of the auction data that interest you, like all account delegations or a list of the current era validators
Query fungible token data relevant to your dApp
Query NFT movements and ownership from CSPR.cloud while focusing on the core business value of your application
Check aggregated historical contract costs to provide your users with better pricing
Translate account hashes to the corresponding public key for accounts that were observed on the network
Translate account main purses to the account public keys to better trace the fund movements
Subscribe to contract-level events the contracts from your dApps emit to track and aggregate the off-chain state for a better user experience
Often, when looking at the fiat value of a native token amount, we want it to be converted using the rate that was relevant at the moment when the corresponding action happened. CSPR.cloud REST API provides the possibility to do so when requesting data having the timestamp property and when it's semantically acceptable To learn more, visit the page.
In the example below, we include the USD to CSPR rate in the account delegation rewards response by calling the rate with the USD currency ID as the argument in the includes query param:
Similarly to , CSPR.cloud can also "de-anonymize" account purses which can be used as the only transfer source or destination parameter. Let's have a look at transfers that happened in this for example.
The to_account_hash was not specified in the transfer parameters. Let's "de-anonymize" it by including the to_purse_public_key :
Note the to_purse_public_key property that was added in the second response. It contains the public key that corresponds to the account having the to_purse as its main purse. Please check to learn about all the optional data that can be included in the responses.
REST and WebSocket API endpoints that return multiple results may provide possibility to filter the data by certain properties. Not all properties can be used as filters. Please check the endpoint documentation to find out what properties are available for filtering.
To filter the results by a property, the corresponding property should be provided as a query param. Multiply filters can be used in one request to narrow down the data to what fits your dApp use-case. Some filters can accept multiple values separated by a comma.
curl -X 'GET' \
'https://api.testnet.cspr.cloud/auction-metrics' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.testnet.cspr.cloud/validators/0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca/total-delegator-rewards' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/019aa4adcd6f58f92eb4c98c0245e5d86b61de4919245c23ae9e906a6df5d41b0c/delegation-rewards?includes=rate(1)' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 38490,
"page_count": 3849,
"data": [
{
"amount": "139319",
"era_id": 11774,
"public_key": "019aa4adcd6f58f92eb4c98c0245e5d86b61de4919245c23ae9e906a6df5d41b0c",
"rate": 0.04051209,
"timestamp": "2023-12-20T12:55:54Z",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
{
"amount": "186761050",
"era_id": 11774,
"public_key": "019aa4adcd6f58f92eb4c98c0245e5d86b61de4919245c23ae9e906a6df5d41b0c",
"rate": 0.04051209,
"timestamp": "2023-12-20T12:55:54Z",
"validator_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
...
{
"amount": "139010",
"era_id": 11771,
"public_key": "019aa4adcd6f58f92eb4c98c0245e5d86b61de4919245c23ae9e906a6df5d41b0c",
"rate": 0.0403257,
"timestamp": "2023-12-20T06:55:27Z",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys/014989ad6e5b0c26a00f23606b8d6ec963003a9cc2e5e32f43b8ababc55fb8ab/transfers' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "99000000",
"deploy_hash": "014989ad6e5b0c26a00f23606b8d6ec963003a9cc2e5e32f43b8ababc55fb8ab",
"from_purse": "uref-faf8e43069a7551cbb0594dd1f93396cf204e80b59886129d3476bf3319d7aef-007",
"id": null,
"initiator_account_hash": "d65804fef96e8c4294c7a95daf5c7dd219f19f08e2613418b453b08eb84364ab",
"timestamp": "2021-09-16T16:06:16Z",
"to_account_hash": null,
"to_purse": "uref-faf8e43069a7551cbb0594dd1f93396cf204e80b59886129d3476bf3319d7aef-007",
"transform_key": "213bd956791dd9be048bd20b793a277d5807682bb1fa827e344cbe1ad2a3cc53"
}
],
"item_count": 1,
"page_count": 1
}Accounts on Casper Mainnet and Testnet networks have the possibility to self-identify themselves in a decentralized with the Casper Account Info Standard smart contract. Many validators and contract owner accounts provide information about themselves to increase trust on the network.
CSPR.cloud REST API allows including account information to simplify the integration with the standard for dApps developers. Typically, account info standard data can be included in responses that contain account identifiers like account hashes or public keys.
In the example below, we'll include validator account info data in the account delegations API response. To demonstrate the possibility of filtering included object data, we'll request only the owner name and logo properties of the account info object.
curl -X 'GET' -G \
'https://api.testnet.cspr.cloud/accounts/018df66cb0257dd378d1944d665ea001518419408d55db740a9bb1a262093cefd9/delegations' \
--data-urlencode 'includes=validator_account_info{info{owner{name,branding{logo}}}}' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"bonding_purse": "uref-845ca8130882c27ee0da81252ed0deb7787796a3868df4b771e0518383d89a4b-007",
"public_key": "018df66cb0257dd378d1944d665ea001518419408d55db740a9bb1a262093cefd9",
"stake": "235732110487",
"validator_account_info": null,
"validator_public_key": "0196948158bf5b35c0c84f680f110b8debaa4e7628e13ba336a95651a214d3b9bd"
},
{
"bonding_purse": "uref-a5bac0a17edeed284a0264f3fbbd189d3c4819f0e788a576792dc028c8476fba-007",
"public_key": "018df66cb0257dd378d1944d665ea001518419408d55db740a9bb1a262093cefd9",
"stake": "565388190696",
"validator_account_info": {
"info": {
"owner": {
"branding": {
"logo": {
"png_1024": "",
"png_256": "https://picsum.photos/256/256",
"svg": ""
}
},
"name": "ACME"
}
}
},
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}
],
"item_count": 2,
"page_count": 1
}CSPR.cloud REST API provides the possibility to resolve CSPR.name names either directly by calling the CSPR.name Resolution API or by including CSPR.name names as optional properties.
At the moment of writing this page (August 27th, 2024), the CSPR.name is not launched yet. That's why we added a test CSPR.name for the Faucet account to allow developers to implement and test their CSPR.name integration before the launch.
Direct CSPR.name to account hash resolution can be done using the Get CSPR.name resolution API and is recommended for the situations when you receive the name outside CSPR.cloud and want to resolve it to the corresponding account hash:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/cspr-name-resolutions/faucet.cspr' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"name_token_id": "0000000000000000000000000000000000000000000000000000000000000000",
"name": "faucet.cspr",
"resolved_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"expires_at": "2124-08-27T12:00:00Z"
}
}In situations, when you want to resolve account hashes to the corresponding CSPR.name names, in most of the cases it's possible to do by requesting CSPR.name as optional property in the includes query parameter:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys/872394dcb8ac58b61f543e6fa0e3425b1db6b83a03d9d46cbf55c9d4b736624f?includes=caller_cspr_name' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'If you want to find the primary CSPR.name for an account, you can include it in the Get account API:
None
Status [boolean]
HTTP Status Created (201)
POST /awaiting-deploys/{deploy_hash}/approvalsFilter NFT tokens by owner and contract package:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/nft-tokens?owner_hash=8c9675894eb753007c17058b4616dee224171365f0ac5e161152b1e5c95ce944&contract_package_hash=998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'account_hash
[]string
Comma-separated list of account hashes
account_hash
Comma-separated list of account hashes
None
None
None
List of value objects describing the available deploy execution types
GET /deploy-execution-typescurl -X 'GET' \
'https://api.testnet.cspr.cloud/deploy-execution-types' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'None
None
List of value objects describing the available NFT standards
GET /nft-token-standardscurl -X 'GET' \
'https://api.testnet.cspr.cloud/nft-token-standards' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'None
None
GET /nft-token-offchain-metadata-statusesNone |
GET /cspr-name-resolutions/{name}{
"data": {
"current_era_id": 12137,
"active_validator_number": 100,
"total_bids_number": 256,
"active_bids_number": 110,
"total_active_era_stake": "17143148308665709822"
}
}{
"data": 3448524944825704
}curl -X 'GET' -G \
'https://api.testnet.cspr.cloud/deploys/014989ad6e5b0c26a00f23606b8d6ec963003a9cc2e5e32f43b8ababc55fb8ab/transfers' \
--data-urlencode 'includes=to_purse_public_key' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "99000000",
"deploy_hash": "014989ad6e5b0c26a00f23606b8d6ec963003a9cc2e5e32f43b8ababc55fb8ab",
"from_purse": "uref-faf8e43069a7551cbb0594dd1f93396cf204e80b59886129d3476bf3319d7aef-007",
"id": null,
"initiator_account_hash": "d65804fef96e8c4294c7a95daf5c7dd219f19f08e2613418b453b08eb84364ab",
"timestamp": "2021-09-16T16:06:16Z",
"to_account_hash": null,
"to_purse": "uref-faf8e43069a7551cbb0594dd1f93396cf204e80b59886129d3476bf3319d7aef-007",
"to_purse_public_key": "01f25c7f82f8bf57b195f18412f9c13b239e95b007eb226f559f8320f3acffac7c",
"transform_key": "213bd956791dd9be048bd20b793a277d5807682bb1fa827e344cbe1ad2a3cc53"
}
],
"item_count": 1,
"page_count": 1
}{
"data": {
"args": {
"amount": {
"cl_type": "U512",
"parsed": "1000000000000"
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "3234c6a8e17a19976300d18d6dcc444839ff981c5bfcd0d8724e3a0c018f61f3"
}
},
"block_hash": "b8e7c74faed73e54be402a5f575a6cd8adf7382ed58bdb0ed48271464a122415",
"block_height": 3618748,
"caller_cspr_name": "faucet.cspr",
"caller_public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"contract_hash": null,
"contract_package_hash": null,
"cost": "2976291766",
"deploy_hash": "872394dcb8ac58b61f543e6fa0e3425b1db6b83a03d9d46cbf55c9d4b736624f",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 1,
"payment_amount": "4000000000",
"status": "processed",
"timestamp": "2024-08-26T14:34:56Z"
}
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02?includes=cspr_name' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"account_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"balance": 9516302858997050000,
"cspr_name": "faucet.cspr",
"deployment_threshold": 1,
"key_management_threshold": 1,
"main_purse_uref": "uref-b06a1ab0cfb52b5d4f9a08b68a5dbe78e999de0b0484c03e64f5c03897cf637b-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02"
}
}curl -X 'POST' \
'https://api.testnet.cspr.cloud/awaiting-deploys/aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
-d '{
"signer": "01b687decf949c368be61262a622bb302d0ce2b12cad9b2f01d7ba08aa9e3e3f03",
"signature": "01dcb1af7af51f02e67cb1f3dad48ddaa8ede92e72f428d298f69ffbbe53441ab52beb19a5405968c9c60b9262a980d8ccb93f56a358aaee67ff16b73ab9879103"
}'{
"data": true
}{
"data": [
{
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 0,
"onchain_metadata": "eyJuYW1lIjogIlF1aWV0IHBsYWNlcyIsICJhc3NldCI6ICJodHRwczovL21hcml0aW1lLnNlYWxzdG9yYWdlLmlvL21ha2UvOTk4YWY2ODI1ZDc3ZGExNS9iMzQ0NzhkMzkyNjY0OGEyODkzZWNlM2NiNzJiMGIwMSIsICJkZXNjcmlwdGlvbiI6ICJhIGxvZnQgIn0=",
"owner_hash": "8c9675894eb753007c17058b4616dee224171365f0ac5e161152b1e5c95ce944",
"owner_type": 0,
"timestamp": "2022-12-06T18:41:41Z",
"token_id": "13",
"token_standard_id": 1,
"tracking_id": 21455
},
{
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 0,
"onchain_metadata": "eyJuYW1lIjogImxpYnJhcnkiLCAiYXNzZXQiOiAiaHR0cHM6Ly9tYXJpdGltZS5zZWFsc3RvcmFnZS5pby9tYWtlLzk5OGFmNjgyNWQ3N2RhMTUvNTQ0ZjI5ZDJiOTZmNDc1ZjhmYWMwMmJmMzY5ZWM2MGUiLCAiZGVzY3JpcHRpb24iOiAiYW5vdGhlciBjb29sIHF1aWV0IHBsYWNlIn0=",
"owner_hash": "8c9675894eb753007c17058b4616dee224171365f0ac5e161152b1e5c95ce944",
"owner_type": 0,
"timestamp": "2022-12-06T18:44:45Z",
"token_id": "14",
"token_standard_id": 1,
"tracking_id": 21456
}
],
"item_count": 2,
"page_count": 1
}GET /centralized-account-infocurl -X 'GET' \
'https://api.testnet.cspr.cloud/centralized-account-info?account_hash=02FAAA3D8155039A88589D531F8107335476589C2E920980A6981F905671E20D' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"account_hash": "02faaa3d8155039a88589d531f8107335476589c2e920980a6981f905671e20d",
"avatar_url": "https://casper-assets.s3.amazonaws.com/accounts/casper-association.png",
"name": "Casper Association - Developer grants",
"url": null
}
],
"item_count": 1,
"page_count": 1
}{
"data": [
{
"id": 1,
"name": "ModuleBytes"
},
{
"id": 2,
"name": "StoredContractByHash"
},
{
"id": 3,
"name": "StoredContractByName"
},
{
"id": 4,
"name": "StoredVersionedContractByHash"
},
{
"id": 5,
"name": "StoredVersionedContractByName"
},
{
"id": 6,
"name": "Transfer"
}
]
}{
"data": [
{
"id": 1,
"name": "CEP47"
},
{
"id": 2,
"name": "CEP78"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/nft-token-offchain-metadata-statuses' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"id": 0,
"name": "None"
},
{
"id": 1,
"name": "Pending"
},
{
"id": 2,
"name": "Synced"
},
{
"id": 3,
"name": "Failed"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/cspr-name-resolutions/faucet.cspr' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"name_token_id": "0000000000000000000000000000000000000000000000000000000000000000",
"name": "faucet.cspr",
"resolved_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"is_primary": true,
"expires_at": "2124-08-27 12:00:00.00"
}
}None
proposer_account_info
provided by the block proposer
proposer_centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
proposer_cspr_name
string
Primary CSPR.name of the block proposer account
This tutorial will help you make your first API call to receive a list of NFT tokens in the CSPR.studio contract.
We will use cURL to make API calls. You can install it from the curl.se website or by using the package manager of your choice.
Please register on to create a CSPR.cloud access token.
To fetch the NFT tokens in the contract we'll be using the . The endpoint requires a contract package hash, which we can find on :
Please proceed with the following documents to get familiar with CSPR.cloud:
Learn about the general technical aspects of CSPR.cloud API, and how it works
Learn about CSPR.cloud API possibilities, which aren't present in the Casper Node RPC API
Get familiar with the REST API reference to know what endpoints are available
REST API endpoints that potentially may return an unlimited number of items are paginated.
In addition to the endpoint-specific parameters, endpoints that return paginated responses accept the following pagination parameters to control the page and number of items per page correspondingly:
The maximum number of items per page is 250.
Paginated responses contain two additional properties providing information on the total number of items and the total number of pages:
Get the second page of accounts with 25 items per page:
When making an API request to an endpoint that returns paginated data, you usually don't receive all of the results in a single response. To traverse the data, you need to increment the page number in your requests until you collect all the required items. When doing so, note the . Setting the number of items per page to its maximum value of 250 will minimize the chances of being rate-limited for most of the use cases.
Note that if new objects are added to the list of items being paginated, the contents of each page will change.
Get a contract package by its identifier (contract package hash).
This endpoint allows you to retrieve detailed information about a specific contract package using its unique identifier, the contract package hash. The response includes various properties such as owner public key, name, description, metadata, latest version contract type ID, timestamp, icon URL, and deploys number.
None
None
At CSPR.cloud, we distinguish between rate limits and quotas to ensure efficient API management.
We impose a limit on the number of requests per minute. This measure helps manage load and avoid overloading our systems.
Quotas control the overall call rates over an extended period, often tied to subscription tiers.
Long-term Management: Quotas determine the total number of calls that can be made in a set period, like a month.
Tier-based Access: For example, a free tier might allow 10,000 calls per month, while a premium tier could permit up to 10,000,000 calls in the same timeframe.
Exceeding these limits triggers a 429 error, signaling a rate limit breach.
The free tier limits are set to ensure that you can test the API and integrate it into your application.
To effectively manage your API usage and comply with rate limit or quota, consider the following strategies:
Upgrade to Premium Tier: If your needs exceed the free tier quota, consider upgrading to our Premium tier for higher limits. You can apply at .
Implement a Backoff-Retry Strategy: In cases where you encounter a 429 error (rate limit or quota exceeded), it's advisable to implement a backoff-retry strategy. This involves reducing the frequency of your API requests to stay within the allowed limits.
Monitor API Calls: Utilize logging tools to monitor your application’s API usage. This can help you identify patterns and optimize your request strategy to ensure efficient usage.
Adhering to these strategies will help you efficiently manage your API usage within the CSPR.cloud environment.
Fungible tokens are one of the most used abstractions implemented on blockchains. CSPR.cloud allows dApp developers to focus on the core logic of their applications by tracking the token activity on the Casper Network for CEP-18 compatible tokens and providing APIs to query that data. CSPR.cloud provides a possibility to:
Below is an example, that demonstrated fetching list of tokens owned by an account. Note, that we are about the contract package using the includes query parameter.
The ContractEntryPoint entity offers a normalized representation of the Casper Network EntryPoint. Entry points are associated with the Contract entity and describe how to interact with it. In CSPR.Cloud, only the name of the entry point and its relations to the Contract and ContractPackage are stored.
The ContractEntryPoint entity has the following properties:
Example
None
The ContractEntryPoint entity has the following relations with other entities:
The ContractEntryPoint entity has the following endpoints:
The AuctionMetrics entity represents calculated metrics for the era retrieved from auction info
The AuctionMetrics entity has the following properties:
Property
Type
Example
None
The AuctionMetrics entity has the following endpoints:
None
CPSR.cloud provides granular access to the auction data, which is more convenient than parsing the results of the state_get_auction_info Casper RPC API method, through the following APIs:
For example, fetching account delegations can be done with the following API request:
This is a full list of the available CSPR.cloud REST API entities. Some of the entities are presented as root-level resources, and some represent related information of the root-level resources and are presented as their edges. The endpoints associated with each entity provide all the relevant data about that entity. Value objects that provide a mapping between identifiers and names aren't listed here and are documented with the corresponding endpoint documentation.
Entities may have relations to other entities. Such relations are exposed by the presence of one entity identifier in the other entity properties. Typically, it means that this identifier can be used as a in the API requests and that the related entity could be included in the responses as an .
GET /blocks/{block_identifier}curl -X 'GET' \
'https://api.testnet.cspr.cloud/blocks/9fccaf372ec5f61ac851fcec593d159f928a26df8f2af5aa3522ed9e0b7cbb36' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"block_height": 500442,
"block_hash": "9fccaf372ec5f61ac851fcec593d159f928a26df8f2af5aa3522ed9e0b7cbb36",
"parent_block_hash": "898f0caafafdd67d7693b17c01b885941dd0f7bb000ffb4faf26d16f37681a38",
"state_root_hash": "656b3f410c68bb2e5dd16089295376193130b9470e5158decc9c4d5c22674087",
"era_id": 3561,
"proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2022-01-31T10:36:55Z"
}
}GET /contract-packages/{contract_package_hash}GET /accounts/{account_identifier}GET /contract-packages/{contract_package_hash}/ft-token-ownershipGET /currencies/{currency_id}/ratesLazy Loading Technique: To reduce unnecessary API calls, implement lazy loading in your application. Trigger API calls based on user interactions, such as clicking a button or reaching a specific section of a page, to minimize the number of requests.
CSPR.Node Proxy
20,000
1,200
100
CSPR.Node Proxy SSE
5,000
200
10
CSPR.Cloud API
100,000
6,000
CSPR.Node Proxy
20,000
1,200
100
CSPR.Node Proxy SSE
5,000
200
10
CSPR.Cloud API
100,000
6,000
100
100
Casper Node API Learn how to connect to the private Casper Node powered by CSPR.cloud using the most popular SDKs
CSPR.click While CSPR.cloud handles your dApp integration with the Casper Network, CSPR.click takes care of how users of your dApp interact with the blockchain. It provides integration with all the wallets and on-ramp providers in the Casper ecosystem to solve authentication and token-acquiring problems. Please be sure to check it out!
page
int
1
Page number
page_size
int
10
Number of items per page
item_count
int
Total number of items
page_count
int
Total number of pages
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
cspr_name
string
Owner's primary CSPR.name
curl -X 'GET' -G \
'https://api.testnet.cspr.cloud/accounts/013ff7b986fd1ebd176692825035f1fefa20fb89796dc533219ad307e56ed97439/ft-token-ownership' \
--data-urlencode 'includes=contract_package{name,metadata}' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'contract_hash
string(64)
Contract hash represented as a hexadecimal string. Unique contract identifier
contract_package_hash
string(64)
Hash of the contract package, this contract version is a part of, represented as a hexadecimal string
name
string
Name of the entry point
contract_hash
Entry point is associated with a contract
contract_package_hash
Entry point is associated with a contract, that is a version of the contract package.
Description
current_era_id
uint32
Current era identifier
active_validator_number
uint32
Current number of active validators
total_bids_number
uint32
Total number of bidders
active_bids_number
uint32
Number of active bidders
total_active_era_stake
uint64
Total sum of all validator stakes from current and next era
total_bids_number,active_bids_number
Validators with active bids are bidders in the auction era
total_active_era_stake
Validators of the current and next era hold active era stake
curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-types' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts/93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2/entry-points' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'balance
Sort ownerships by balance
contract_package
Fungible contract package
account_info
Owner account info
centralized_account_info
Owner centralized account info
cspr_name
string
Owner account CSPR.name
to
End of the range in the ISO 8601 format
tracked_at
Sort rates by timestamp
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02/delegations?limit=2&offset=0' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'None
GET /awaiting-deploys/{deploy_hash}curl -X 'GET' \
'https://api.cspr.cloud/contract-packages/c4e5a03066ce3c6006f562939e48f7076c77de5d46cf8fe625c41e02c5e74814/nft-tokens' \
-H 'accept: application/json' \
-H 'authorization: [Your access token]'{
"data": [
{
"contract_package_hash": "c4e5a03066ce3c6006f562939e48f7076c77de5d46cf8fe625c41e02c5e74814",
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 0,
"onchain_metadata": {
"asset": "https://maritime.sealstorage.io/make/c4e5a03066ce3c60/0a14a18a7a214b64a9da1e5bdfe12ded",
"description": "Friday morning in Рíвне.",
"name": "Friday morning in Rivne"
},
"owner_hash": "8297d55f4530ac75f46d04319bf4c7d1de68de1b3fe31cd462f752fadf27b571",
"owner_type": 0,
"timestamp": "2022-10-31T07:20:42Z",
"token_id": "1",
"token_standard_id": 1,
"tracking_id": 6053
},
{
"contract_package_hash": "c4e5a03066ce3c6006f562939e48f7076c77de5d46cf8fe625c41e02c5e74814",
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 0,
"onchain_metadata": {
"asset": "https://maritime.sealstorage.io/make/c4e5a03066ce3c60/69a349373da14f6f9511e2a8d375657e",
"description": "Dougal loving life on the edge",
"name": "Flying Dougal"
},
"owner_hash": "2af66211f9fb970ead08bb80d3d05ad385f83e51caf4940c2f2eb309a0427828",
"owner_type": 0,
"timestamp": "2022-11-15T16:54:36Z",
"token_id": "10",
"token_standard_id": 1,
"tracking_id": 11228
},
...
{
"contract_package_hash": "c4e5a03066ce3c6006f562939e48f7076c77de5d46cf8fe625c41e02c5e74814",
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 0,
"onchain_metadata": {
"asset": "https://maritime.sealstorage.io/ipfs/bafybeif6wojygvwuav4wdt7dyqx2ekem4fqdpx47p3fu2e5yh7y6anqr2u",
"description": "The “Ghost” collection is a unique serie of NFTs found on the Casper blockchain. These NFTs are digital representations of ghosts, spirits, and paranormal phenomenon that have been meticulously designed and created by digital artists. Each NFT in this collection is a unique and exclusive piece that captures the essence of the supernatural and the mysterious.\n",
"name": "Ghosts"
},
"owner_hash": "a485e8c7fbe2bfd939930dd9d94025b403fe4bfcf0f8f46b31bd9f28298b8890",
"owner_type": 0,
"timestamp": "2023-10-07T08:31:23Z",
"token_id": "1006",
"token_standard_id": 1,
"tracking_id": 317986
}
],
"item_count": 1277,
"page_count": 128
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts?page=2&page_size=25' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"account_hash": "37f304a6632b214eacc45b85f6a45759194ea69f6684da0bca42d60e42ac8e12",
"balance": 3050076259180,
"main_purse_uref": "uref-692b5b8afcad47b0dee74962540a01ea1402fc0c9c84d9474e5766775373795c-007",
"public_key": "019aa4adcd6f58f92eb4c98c0245e5d86b61de4919245c23ae9e906a6df5d41b0c"
},
{
"account_hash": "7894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fc",
"balance": 252442325961483,
"main_purse_uref": "uref-c4afe0fb020ebcdc940289d759499ff5fb87e999567e4d61d836d70bfad20a55-007",
"public_key": "0145fb72c75e1b459839555d70356a5e6172e706efa204d86c86050e2f7878960f"
},
...
{
"account_hash": "eb108759cf29b5d1ce6a311989890170d94bb98e06e4097e4ee20c18d6bf4f16",
"balance": 80331298738010,
"main_purse_uref": "uref-fd73e477cbbeb134ebb7fee8ccb423c8d45c88e23bd82d2d1104fc7f34f3a27b-007",
"public_key": "0154d4c09bcae885fdd3dc0bf8ac7fa23ae281baf60a5b352b1ff0b505a65e1285"
}
],
"item_count": 63584,
"page_count": 2544
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"owner_public_key": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01",
"name": "MyContractPackage",
"description": "A sample contract package",
"metadata": {
"name": "MyToken",
"symbol": "MT",
"decimals": 18,
"balances_uref": "uref-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"total_supply_uref": "uref-abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"ownership_mode": 1,
"nft_kind": 2,
"nft_metadata_kind": 1,
"whitelist_mode": 0,
"holder_mode": 1,
"minting_mode": 2,
"burn_mode": 1,
"identifier_mode": 0,
"metadata_mutability": 1,
"owner_reverse_lookup_mode": 1,
"events_mode": 2
},
"latest_version_contract_type_id": 3,
"timestamp": "2023-01-01T12:00:00Z",
"icon_url": "https://example.com/icon.png",
"website_url": "https://example.com",
"deploys_number": 42
}
}"data": [
{
"balance": "198689800",
"contract_package": {
"metadata": {
"balances_uref": "uref-75c2ee03c1982fc514336a38271a9748cee0994a11f16f8b750c68f142c8a957-007",
"decimals": 3,
"name": "Nexfi App Token",
"symbol": "NFI",
"total_supply_uref": "uref-6e641bea3588986637bd7a5bd2b80f141bf79d21a5be54152a6dc9ac6f9b42a4-007"
},
"name": "Nexfi App Token"
},
"contract_package_hash": "04ff7ad6975508fffb5a2f364323503fb045b6d1eaeb9aeaa7283c046e0b6710",
"owner_hash": "a3caf9628418b3a35bd4a92d62d35e8a244898cdea26c269bf75a2d82ad221f0"
},
{
"balance": "50",
"contract_package": {
"metadata": {
"balances_uref": "uref-897fd9713fa3f57c741a3488d7c1a8a24ac0a1cb273eb861e03491698b6e198d-007",
"decimals": 1,
"name": "MP1",
"symbol": "MonoPoint",
"total_supply_uref": "uref-7c05f307f0f1f7d3b47ea207cdad169d03e554007efc8646d40c5e87002d1ae1-007"
},
"name": "MP1"
},
"contract_package_hash": "0ed344ff11750d965f6188eb6bb62dcabc51b20f3900b3c7d2f19463cda23378",
"owner_hash": "a3caf9628418b3a35bd4a92d62d35e8a244898cdea26c269bf75a2d82ad221f0"
},
{
"balance": "9970000",
"contract_package": {
"metadata": {
"balances_uref": "uref-1db06ca66b714a032b2da27476ae8574656105565cb4990633049e483bc2e52a-007",
"decimals": 3,
"name": "ENFLOW TOKEN",
"symbol": "ENF",
"total_supply_uref": "uref-874fd7504edc780853175536c76025697fa5f4223c63d1e47e075cad2eadf592-007"
},
"name": "ENFLOW TOKEN"
},
"contract_package_hash": "223e8b0e3101a7d7671279a08abd38a86cefd590536d0aaa5a068c2c616e11da",
"owner_hash": "a3caf9628418b3a35bd4a92d62d35e8a244898cdea26c269bf75a2d82ad221f0"
}
],
"item_count": 3,
"page_count": 1
}{
"contract_hash": "a0a1d2d3d4d5d6d7d8d9e0e1e2e3e4e5e6e7e8e9f0f1f2f3f4f5f6f7f8f9a0a1",
"contract_package_hash": "b0b1b2b3b4b5b6b7b8b9c0c1c2c3c4c5c6c7c8c9d0d1d2d3d4d5d6d7d8d9e0e1",
"name": "transfer"
}{
"data": {
"current_era_id": 12137,
"active_validator_number": 100,
"total_bids_number": 256,
"active_bids_number": 110,
"total_active_era_stake": "17143148308665709822"
}
}{
"data": [
{
"id": 2,
"name": "CEP18"
},
{
"id": 3,
"name": "Modified CEP18"
},
{
"id": 4,
"name": "CEP47"
},
{
"id": 5,
"name": "Modified CEP47"
},
{
"id": 6,
"name": "DEFI"
},
{
"id": 7,
"name": "CEP78"
},
{
"id": 8,
"name": "Modified CEP78"
},
{
"id": 9,
"name": "NFT"
}
]
}{
"data": [
{
"id": 11,
"contract_hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"contract_package_hash": "e375d42c29c0e4b2baefa63cf2d70af34439eda851e08129d8515515d63bd6a9",
"name": "activate_bid",
"action_type_id": null
},
{
"id": 12,
"contract_hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"contract_package_hash": "e375d42c29c0e4b2baefa63cf2d70af34439eda851e08129d8515515d63bd6a9",
"name": "add_bid",
"action_type_id": null
},
...
{
"id": 19,
"contract_hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"contract_package_hash": "e375d42c29c0e4b2baefa63cf2d70af34439eda851e08129d8515515d63bd6a9",
"name": "undelegate",
"action_type_id": null
}
],
"item_count": 11,
"page_count": 2
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/000f00b1c6b691b47c1006730bd39812c598f4660e2420a5f5e2f9106865fed1/ft-token-ownership' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"balance": "999992019999999999690000000",
"contract_package_hash": "000f00b1c6b691b47c1006730bd39812c598f4660e2420a5f5e2f9106865fed1",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"owner_type": 0
}
],
"item_count": 1,
"page_count": 1
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/currencies/1/rates' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"currency_id": 1,
"amount": 1.32545,
"created": "2021-05-12T00:00:00Z"
},
{
"currency_id": 1,
"amount": 1.16265,
"created": "2021-05-12T01:00:00Z"
},
...
{
"currency_id": 1,
"amount": 1.25135,
"created": "2021-05-12T09:00:00Z"
}
],
"item_count": 1258084,
"page_count": 125809
}{
"item_count": 129,
"page_count": 13,
"data": [
{
"bonding_purse": "uref-0ac1ba0100574729337b63b11e1f933b91d1d0f220823bef502bd8957305976b-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "55342872342594023",
"validator_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
{
"bonding_purse": "uref-917e1aeba7e7d3a322e89069e88b6e0877a59d781840c0ce8223e990e0342d42-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "55334239891699578",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
...
{
"bonding_purse": "uref-64b18eba7bea61163415e728cc8aec51208e14c7abf29d1ce4d50d317ca43053-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "10101529405231091",
"validator_public_key": "01aea86e5fccdf72daa7c65cc8b3d2ca96a006a0dcd70d3617f85fef00b9d78464"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/awaiting-deploys/aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"deploy": {
"hash": "aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9",
"header": {
"ttl": "30m",
"account": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"body_hash": "3d5b08d531e9bd979d20f40b8ba74fc47ae5d209a42f64a345220661e5000254",
"gas_price": 1,
"timestamp": "2024-02-08T09:13:35.291Z",
"chain_name": "casper-test",
"dependencies": []
},
"payment": {
"ModuleBytes": {
"args": [
[
"amount",
{
"bytes": "0400f90295",
"parsed": "2500000000",
"cl_type": "U512"
}
]
],
"module_bytes": ""
}
},
"session": {
"StoredContractByHash": {
"args": [
[
"validator",
{
"bytes": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"parsed": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"cl_type": "PublicKey"
}
],
[
"amount",
{
"bytes": "050006e78aa5",
"parsed": "711000000000",
"cl_type": "U512"
}
],
[
"delegator",
{
"bytes": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"parsed": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"cl_type": "PublicKey"
}
]
],
"hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"entry_point": "undelegate"
}
},
"approvals": [
{
"signer": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"signature": "013815f5f7ca37cb16ffd1277afdc11e3bc765a072d839e9ebf1bf3798f3671c1cf77cb1d6c8367b6ab11a014829e4d03c4950721705fc0eec3f9e91fb9a8d180d"
}
]
}
}account_info
provided by the account owner
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
Primary CSPR.name of the account
auction_status
string
Account auction status: inactive_bidder, active_bidder, active_validator, pending_validator
delegated_balance
uint64
Total funds delegated across all validators
staked_balance
uint64
Total funds staked as validator
undelegating_balance
uint64
Total undelegated funds that will be returned to the account main purse after the 7 era lockdown period
Aggregated auction metrics for an era
Deploy that is awaiting for submission
Normalized representation of the Casper Network block
Bidder participating in the auction
Account information about known accounts provided by CSPR.cloud team
Normalized representation of the Casper Network contract
Normalized representation of the Casper Network contract entry point
Normalized representation of the Casper Network contract package
Normalized representation of the Casper Network deploy
Action performed on a fungible token
Account fungible token ownership
Non-fungible token (NFT)
Action performed on a non-fungible token (NFT)
Non-fungible token (NFT) ownership
Historical CSPR rate to fiat and popular cryptocurrencies
Network native token (CSPR) supply information
Normalized representation of the Casper Network transfer transform
Validator participating in an era
Normalized representation of the Casper Network reward received by validator
Historical validator performance based on the era rewards information
Account observed in the network activity, which may not necessarily have the on-chain balance
Account info data provided through the
public_key
string(68)
Public key of the delegator represented as a hexadecimal string
validator_public_key
string(68)
Public key of the validator represented as a hexadecimal string
stake
string
Delegation amount in motes. The type is string to avoid overflow in languages that don't support uint64, which is the correct type.
bonding_purse
string(72)
URef of the purse from which the delegation was made in the uref-dead...beef-007 format
Example
Depending on the endpoint some of the following optional properties may be included in the Delegation entity:
account_info
provided by the delegator
validator_account_info
provided by the validator
cspr_name
string
Primary CSPR.name of the account
The Delegation entity has the following relations with other entities:
public_key
Delegations are made by accounts
validator_public_key
Validators can be delegated to
The Delegation entity has the following endpoints:
None
balance
Sort ownerships by balance
contract_package
Fungible contract package
account_info
Owner account info
centralized_account_info
Owner centralized account info
cspr_name
string
stake
Sort by stake amount
Default sorting is stake DESC
account_info
provided by the delegator
validator_account_info
provided by the validator
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
The Contract entity offers a normalized representation of the Casper Network Contract without including entry point hashes, which can be queried separately using the Contract entry point API. Additionally, this entity omits the contract's named keys but utilizes them for identifying the contract's type.
The Contract entity has the following properties:
Example
Depending on the endpoint, the following optional properties may be included in the Contract entity:
The Contract entity has the following relations with other entities:
The Contract entity has the following endpoints:
The Contract entity has the following relation endpoints:
Web3 comes with a new storage architecture dApps have to embrace. In traditional Web2 applications, users don't interact with the storage directly. It's typically hidden behind the API layer.
Blockchain is data storage that provides data we can trust, and that trust requires no middleman between the users and the changes in the data. In this setup, dApps have to observe the on-chain activity to display the relevant state to the end users. While this can be done by polling the network state using the CSPR.cloud REST API or CSPR.cloud Casper Node, CSPR.cloud is also prepared to assist dApps developers with observing the on-chain activity with its Streaming API.
To demonstrate it in action, let's create an NFT contract using the Testnet version of CSPR.studio and observe its activity on the network. Navigate to the My NFT collections page and create a new collection. To listen to the contract-level events emitted by our contract, we'll need to know its hash. Copy the hash of the deploy that created your NFT collection on the last step of the collection creation process and query the contract it deployed to the network using the Contract REST API:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts?deploy_hash=149710648b6295b426fa31bb4b79b65374edd3e9ccd242b7d1bf6a7abb308f47' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'Knowing the contract hash, we can subscribe to the contract-level events emitted by our newly created contract using the . For this example, you'll need to install the utility.
Now, let's go back to and mint an NFT. Once the mint deploy is executed on the network, our WebSocket connection will receive a message containing the Mint event data, as well as the token data encoded as a JSON string:
Note the extra property that provides technical information, such as deploy_hash, event_id, and the deploy execution transform_id, which can be used to link the event data to the corresponding deploy properly.
The DelegatorReward entity offers a normalized representation of the Casper Network Reward related to the delegator account.
The DelegatorReward entity contains the following properties:
Example
Depending on the endpoint, the following optional properties may be included in the DelegatorReward entity:
The DelegatorReward entity has the following relations with other entities:
The DelegatorReward entity has the following endpoints:
The FTOwnership entity represents a fungible token ownership relation between accounts and contract packages, as well as provides the corresponding token balances
The FTOwnership entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the FTOwnership entity:
The FTOwnership entity has the following endpoints:
None
AwaitingDeploy is a Casper deploy that is awaiting submission, and temporarily stored on CSPR.cloud before submission, in order to perform some additional modifications, such as collecting additional signatures. A perfect use case for this functionality is Multisig Deploys
The AwaitingDeploy entity has the following properties:
Example
None
None
The AwaitingDeploy entity has the following endpoints:
None
CSPR.cloud maintains historical CSPR rates provided by CoinGecko for more than 40 different fiat and crypto currencies.
The Rate entity has the following properties:
Example
None
The Rate entity has the following relations with other entities:
The Rate entity has the following endpoints:
While accounts are known to be recognized by their public keys, internally on-chain, they are uniquely identified by fixed-length accounts hashes derived from those public keys. Because of that, in certain contexts, we may know the account hash but not the public key. CSPR.cloud maintains the mapping between account hashes and the corresponding public keys to be able to "de-anonymize" the former when needed by requesting the public key as an optional property.
Let's have a look at the Transfer API, for example. The Transfer object only provides the recipient account hash:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys/6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c/transfers' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "2000000000000",
"deploy_hash": "6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c",
"from_purse": "uref-72653d09444d0b3bd27372247510e9346c39fa831a89008dd9ce849a7b2c15e2-007",
"id": 1704899420700,
"initiator_account_hash": "7dc2bcc676eba6196d16374e1a2dbfa1df336f779854d95a0b4e65de6d593158",
"timestamp": "2024-01-10T15:10:36Z",
"to_account_hash": "b85634e0695ac3b6a7792c2009377b4a405118571a9c64ab2c66048250fef36c",
"to_purse": "uref-7bba21087353cf75a83234b07525efdf33f59a6d71da00021a4bb80b6ace4bd7-004",
"transform_key": "a1845ce7b2d334c7fd39b6313ebcfe4e8e29889bcdc792f7c67c7ba5360fd220"
}
],
"item_count": 1,
"page_count": 1
}Let's "de-anonymize" the recipient of the transfer above by including the to_public_key optional property:
Note the to_public_key property that was added in the second response. It contains the public key that corresponds to the account hash specified in to_account_hash. Please check Transfer Optional Properties to learn about all the optional data that can be included in the responses.
Get a paginated list of contract packages.
This endpoint allows you to retrieve a paginated list of contract packages. You can filter the results by owner public key, specify the page number and size, and choose the sorting order and field. Additionally, you can include optional deploys number data in the response. The example shows a sample response with relevant details for each contract package, including contract package hash, owner public key, name, description, metadata, latest version contract type ID, timestamp, icon URL, and deploys number.
Get a paginated list of account contract packages.
This endpoint allows you to retrieve a paginated list of account contract packages. You can filter the results by owner public key, specify the page number and size, and choose the sorting order and field. Additionally, you can include optional deploys number data in the response. The example shows a sample response with relevant details for each contract package, including contract package hash, owner public key, name, description, metadata, latest version contract type ID, timestamp, icon URL, and deploys number.
None
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
"balance": 1325092768520378,
"main_purse_uref": "uref-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1-007",
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}
}{
"public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
"validator_public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
"stake": "1000000",
"bonding_purse": "uref-550c01b27069f943c354364c49a496b5013ee5bdf61d8644e4f0712cf22410f1-000"
}GET /accounts/{account_identifier}/ft-token-ownershipcurl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269/ft-token-ownership' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"balance": "999992019999999999690000000",
"contract_package_hash": "000f00b1c6b691b47c1006730bd39812c598f4660e2420a5f5e2f9106865fed1",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"owner_type": 0
},
{
"balance": "99999999999999999000",
"contract_package_hash": "018c20d50c52518b6d9c0390b1d2298e3638507d8fe9694d44b89b6af23c703d",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"owner_type": 0
},
...
{
"balance": "1000000000000000000000000000018415616000000000000000000",
"contract_package_hash": "155e3d29b6eea4df9e2159c5e91cf325b94c3460224ea3c789dd70772a9048d6",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"owner_type": 0
}
],
"item_count": 176,
"page_count": 18
}GET /accounts/{public_key}/delegationscurl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02/delegations?limit=2&offset=0' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 129,
"page_count": 13,
"data": [
{
"bonding_purse": "uref-0ac1ba0100574729337b63b11e1f933b91d1d0f220823bef502bd8957305976b-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "55342872342594023",
"validator_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
{
"bonding_purse": "uref-917e1aeba7e7d3a322e89069e88b6e0877a59d781840c0ce8223e990e0342d42-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "55334239891699578",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
...
{
"bonding_purse": "uref-64b18eba7bea61163415e728cc8aec51208e14c7abf29d1ce4d50d317ca43053-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "10101529405231091",
"validator_public_key": "01aea86e5fccdf72daa7c65cc8b3d2ca96a006a0dcd70d3617f85fef00b9d78464"
}
]
}{
"data": [
{
"contract_hash": "98f4b9ad7891d982e1b5f39e51dd332cae6f83f9615f3025af32796587bea527",
"contract_package_hash": "19e6954b07d1b4d0341a6f73689c7fbc96959c33f4465c0e11c49b6bc850884a",
"contract_type_id": 7,
"contract_version": 1,
"deploy_hash": "149710648b6295b426fa31bb4b79b65374edd3e9ccd242b7d1bf6a7abb308f47",
"is_disabled": false,
"timestamp": "2024-01-09T14:29:30Z"
}
],
"item_count": 1,
"page_count": 1
}GET /contractsGET /validators/{public_key}/blocksGET /validators/{public_key}/delegationsGET /contract-packages/{contract_package_hash}/nft-tokenscurl -X 'GET' -G \
'https://api.testnet.cspr.cloud/deploys/6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c/transfers' \
--data-urlencode 'includes=to_public_key' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "2000000000000",
"deploy_hash": "6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c",
"from_purse": "uref-72653d09444d0b3bd27372247510e9346c39fa831a89008dd9ce849a7b2c15e2-007",
"id": 1704899420700,
"initiator_account_hash": "7dc2bcc676eba6196d16374e1a2dbfa1df336f779854d95a0b4e65de6d593158",
"timestamp": "2024-01-10T15:10:36Z",
"to_account_hash": "b85634e0695ac3b6a7792c2009377b4a405118571a9c64ab2c66048250fef36c",
"to_public_key": "02027fec2d969dd0779358c40abe2a772f309408348c2a1f413fddfe684a4287ba1a",
"to_purse": "uref-7bba21087353cf75a83234b07525efdf33f59a6d71da00021a4bb80b6ace4bd7-004",
"transform_key": "a1845ce7b2d334c7fd39b6313ebcfe4e8e29889bcdc792f7c67c7ba5360fd220"
}
],
"item_count": 1,
"page_count": 1
}Added tracking of primary CSPR.name names for the reverse resolution
Bugfixes
Added rates optional field for FTTokenAction resource
Bugfixes
Added new endpoint GET /network-stats
Bugfixes
Added CSPR.name API
Bugfixes
Bugfixes
Add ability to sort validators by is_identified_account_info and total_stake by default
Fix sorting and pagination for Accounts API
Fix total delegation rewards data tracking
Data tracking performance optimizations
Add deploy optional field for Transfers API
Add the ability to filter nft-actions and ft-actions streams by deploy_hash for Streaming API
Fix account_info optional field including logic
Bug fixes
Fix GET /daily-deploy-numbers endpoint
Fix GET /accounts/{account_identifier}/associated-to-accounts returning empty associations
Fix ordering for Contracts API
Fix Bidders API
Fix filtering byt caller_public_key for Deploys API
Fix validator_performance optional field including logic
Fix GET /validators/{public_key}/rewards endpoint
Bug fixes
Add POST /accounts endpoint to request multiple accounts by account_hashes
Fix Accounts API
Fix GET /accounts/{account_identifier}/total-delegation-rewards endpoint
Fix tracking balances for Accounts without tracked purse_uref
Add Centralized Account Info API
Add new endpoint GET /account/:public_key/total-delegation-rewards to return total rewards from delegations for a specific account
Add contract_package optional field to all resources that have contract_package_hash field
Add from_purse_public_key and to_purse_public_key optional fields for Transfers API endpoints
Add the ability to filter deploys stream by deploy_hash for Streaming API
Fix Streaming API intermittent connection terminations
Fix Accounts API to return account balances properly
Add is_burned filter for NFT tokens API
Fixes for NFT API
Fixes for FT API
Fixes for NFT API
Optimise Deploys and Blocks APIs
Added ability to sort data by block ranges
Bug fixes
Improved stability of Streaming API connections
First release. Welcome, CSPR.cloud! 🎉
Owner account CSPR.name
Primary CSPR.name of the account
Timestamp indicating when the contract was created
contract_version
uint16
Version number associated with the contract
is_disabled
bool
Indicates whether the contract is currently disabled
timestamp
datetime
Timestamp indicating when the contract was created
contract_version
uint16
Version number associated with the contract
is_disabled
bool
Indicates whether the contract is currently disabled
contract_hash
string(64)
Contract hash represented as a hexadecimal string. Unique contract identifier
contract_package_hash
string(64)
Hash of the contract package, this contract version is a part of, represented as a hexadecimal string
block_height
uint64
Height of the block in which the contract was deployed to the network
deploy_hash
string(64)
Hash of the deploy that deployed the contract to the network represented as a hexadecimal string
contract_type_id
uint8
Identifier representing the type of the contract, check the types list here
timestamp
contract_package
Contract package, this contract version is a part of
contract_hash, deploy_hash
Contracts are deployed to the network with a deploy call. Deploys can be the contract call
contract_hash
Contracts can have endpoints
contract_package_hash
Contracts are different versions of the same smart contract under the contract package
uint16


contract_package_hash
Contract Package hash.
from_block_height
From block height range
to_block_height
To block height range
timestamp
Sort contracts by timestamp
contract_package
Contract package, this contract version is a part of
public_key
string(64)
The public key of the delegator account represented as a hexadecimal string. Primary account identifier
validator_public_key
string(64)
Public key of the validator represented as a hexadecimal string. Unique validator identifier
era_id
uint32
Era identifier
amount
uint64
Amount of the reward received by the delegator.
timestamp
datetime
Timestamp indicating when the last block was proposed.
rate
float32
The rate that was relevant at the moment when the last block was proposed. To get more details see Including CSPR rates .
account_info
Account info provided by the account owner
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
public_key
Accounts receive rewards for delegating to validators.
validator_public_key
Delegation rewards are associated with the validator, that distributed the rewards
Primary CSPR.name of the account
cspr_name
string
Owner account CSPR.name
owner_hash
string(64)
Owner hash represented as a hexadecimal string. First part of token ownership identifier
contract_package_hash
string(64)
Fungible contract package hash represented as a hexadecimal string. Second part of token ownership identifier
owner_type
uint8
Owber hash type: 0 for account, 1 for contract
balance
string
Fungible tokens balance in the network
contract_package
Fungible contract package
owner_public_key
string(68)
Owner public key if it's an account
account_info
Owner account info
centralized_account_info
contract_package_hash
Fungible token ownership represents fungible contract package token owners
owner_hash
Account can be a token owner
Owner centralized account info
deploy
casper.Deploy
Casper raw deploy
block_height
Sort blocks by block height
timestamp
Sort blocks by timestamp
proposer_account_info
Account info provided by the block proposer
proposer_centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
proposer_cspr_name
string
Primary CSPR.name of the block proposer account
stake
Sort by stake amount
account_info
Account info provided by the delegator
validator_account_info
Account info provided by the validator
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
Primary CSPR.name of the account
to_block_height
To block height range
is_burned
Filters tokens by their is_burned status: false to get active NFTs, true to get the burned ones. By default all tokens are returned.
token_id
Sort tokens by token_id
timestamp
Sort tokens by timestamp
owner_public_key
string(68)
Owner public key if it's an account
owner_cspr_name
string
Primary CSPR.name of the owner account
curl -X 'GET' \
'https://api.testnet.cspr.cloud/nft-token-action-types' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.testnet.cspr.cloud/ft-token-action-types' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'account_hash
[]string
Comma-separated list of account hashes
To overcome the URL length limitations of the GET request, it's possible to use the POST endpoint:
None
None
None
None
GET /rates/{currency_id}/latest{
"contract_hash": "8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732",
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"deploy_hash": "1a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e755",
"block_height": 2764649,
"contract_type_id": 2,
"timestamp": "2023-01-01T12:00:00Z",
"contract_version": 1,
"is_disabled": false
}wscat -c 'wss://streaming.testnet.cspr.cloud/contract-events?contract_hash=98f4b9ad7891d982e1b5f39e51dd332cae6f83f9615f3025af32796587bea527' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"contract_package_hash": "19e6954b07d1b4d0341a6f73689c7fbc96959c33f4465c0e11c49b6bc850884a",
"contract_hash": "98f4b9ad7891d982e1b5f39e51dd332cae6f83f9615f3025af32796587bea527",
"data": {
"data": "{\"name\":\"User storage interaction in Web2\",\"description\":\"Users typically don\\u0027t interact directly with the data storage in Web2\",\"asset\":\"https://maritime.sealstorage.io/ipfs/bafybeicfojnysuueowj4mcparaxzkl5ckytq7ma5mqhhzju35r734ercra\"}",
"recipient": "account-hash-1856e4a0b23c70b64e4509987680de0d99145fa0cdc71ad9b78760e18ff0deec",
"token_id": "0"
},
"name": "Mint"
},
"action": "emitted",
"extra": {
"deploy_hash": "7d23a8b0cd927a7e54b6e55b267c8000016c3d0b3a9e97a2c281239c8a8f9120",
"event_id": 0,
"transform_id": 31
},
"timestamp": "2024-01-09T17:06:51.43910404Z"
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_hash": "8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732",
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"deploy_hash": "1a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e755",
"block_height": 2404577,
"contract_type_id": 2,
"timestamp": "2023-01-01T12:00:00Z",
"contract_version": 1,
"is_disabled": false
},
{
"contract_hash": "5e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd261",
"contract_package_hash": "8e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd262",
"deploy_hash": "2e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd263",
"block_height": 2404576,
"contract_type_id": 4,
"timestamp": "2023-01-02T12:00:00Z",
"contract_version": 2,
"is_disabled": false
},
...
{
"contract_hash": "7894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fc",
"contract_package_hash": "8894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fd",
"deploy_hash": "9894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fe",
"block_height": 2404571,
"contract_type_id": 7,
"timestamp": "2023-01-03T12:00:00Z",
"contract_version": 3,
"is_disabled": false
}
],
"item_count": 100,
"page_count": 10
}{
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"era_id": 1,
"amount": "1000000000000",
"timestamp": "2021-03-24T10:00:00.000Z"
}{
"balance": "99999999999999999000",
"contract_package_hash": "0e6a10012d734417ef6ff74e4a7881ad75bcbb3c455ccd63a677f7dd55f1f203",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"owner_type": 0
}{
"deploy": {
"hash": "aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9",
"header": {
"ttl": "30m",
"account": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"body_hash": "3d5b08d531e9bd979d20f40b8ba74fc47ae5d209a42f64a345220661e5000254",
"gas_price": 1,
"timestamp": "2024-02-08T09:13:35.291Z",
"chain_name": "casper-test",
"dependencies": []
},
"payment": {
"ModuleBytes": {
"args": [
[
"amount",
{
"bytes": "0400f90295",
"parsed": "2500000000",
"cl_type": "U512"
}
]
],
"module_bytes": ""
}
},
"session": {
"StoredContractByHash": {
"args": [
[
"validator",
{
"bytes": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"parsed": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"cl_type": "PublicKey"
}
],
[
"amount",
{
"bytes": "050006e78aa5",
"parsed": "711000000000",
"cl_type": "U512"
}
],
[
"delegator",
{
"bytes": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"parsed": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"cl_type": "PublicKey"
}
]
],
"hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"entry_point": "undelegate"
}
},
"approvals": [
{
"signer": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"signature": "013815f5f7ca37cb16ffd1277afdc11e3bc765a072d839e9ebf1bf3798f3671c1cf77cb1d6c8367b6ab11a014829e4d03c4950721705fc0eec3f9e91fb9a8d180d"
},
{
"signer": "01b687decf949c368be61262a622bb302d0ce2b12cad9b2f01d7ba08aa9e3e3f03",
"signature": "0106689cf2941047a36cc4b1dc096fdafb54534f5b102192529213361087a319d6c478d5dba27263e45b4b6aa2e379b18a61bf3740af48ea9b7b5f74328e13f901"
},
{
"signer": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"signature": "0140ead54fe89528216ed9cbb3ee45648ed2a965f9d2f8dfeb3f1446f4e42ae832857384fc6129545b0655f5a71c2213199e19eb4616e36b71c733d3131a043608"
}
]
}
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/validators/0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e/blocks' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"block_height": 2293945,
"block_hash": "fc96e8c2735ee8c1fe0e8df74b7de005298e259bb0e84953c584a30b417e51c1",
"parent_block_hash": "18a93ef00cbd298e6633d4e6adc726dfdbd1a3af31107bd93268745b096b7f30",
"state_root_hash": "89e786fd598f9f2f84955daaacc1573a1414fdf8dfa8c93e116ff70402c0bbfb",
"era_id": 11750,
"proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T13:38:12Z"
},
{
"block_height": 2293908,
"block_hash": "1e6b1f9c1c315742791693f238809782e58424c0fd41b146e5c8922068aa617b",
"parent_block_hash": "e09513444638ab4b5da58d1d7c7e2ed29675107af42d5f3c0f55335bff69a2b8",
"state_root_hash": "f842549d60720f646b5b6b3f27d74745f2a35da8d5444e32eb35ef585322cd25",
"era_id": 11750,
"proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T13:17:59Z"
},
...
{
"block_height": 2293599,
"block_hash": "21b4c4739049fa4cb4ed0a5e45ccf56869e08f686d2d0c4eafb0f34f0e352d93",
"parent_block_hash": "99974aceccd64c5d0c6ebedd5ea8022e45519754615a3f9d2d6db547143a57ca",
"state_root_hash": "4d0650fe03069a42c834323ca9a33c94b50b7ffd554db25c1dcd32347e1be6cf",
"era_id": 11748,
"proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T10:29:14Z"
}
],
"item_count": 76609,
"page_count": 7661
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/validators/0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca/delegations?limit=2&offset=0' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 1200,
"page_count": 120,
"data": [
{
"bonding_purse": "uref-917e1aeba7e7d3a322e89069e88b6e0877a59d781840c0ce8223e990e0342d42-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"stake": "55334239891699578",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
{
"bonding_purse": "uref-ee8e4e63ee02f7cd38838b07bdd591cc8986bf6e8e5724dd0d54328e76b8dda0-007",
"public_key": "011b5b2e370411b6df3a3d8ac0063b35e2003994a634dba48dd5422247fc1e7c41",
"stake": "148999666957527",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
...
{
"bonding_purse": "uref-0979efcbf321998cd0c65a755a668f555be56ad1c0a063fe289fbdc4467f7519-007",
"public_key": "0111dad2c2c4769e5fb723fa4fdb432a7d39c48a575a361dca1ff8693e715642df",
"stake": "3545802984166",
"validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383/nft-tokens' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
"block_height": 1461592,
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 3,
"onchain_metadata": {
"token_uri": "{\"token_uri\":\"ipfs://QmZa1hrX5FJRxyNyEbYjTVPJ6mbQtA3wJu1RjQpv9am6n2\"}"
},
"owner_hash": "8e09f028baff4e3a851e70bb8a5dc02eae7f8cb7faf1b52d9c8dafa7f41fa55c",
"owner_type": 1,
"timestamp": "2022-10-18T15:22:06Z",
"token_id": "0",
"token_standard_id": 1,
"tracking_id": 20458
}
],
"item_count": 1,
"page_count": 1
}{
"data": [
{
"id": 1,
"name": "MintOne"
},
{
"id": 2,
"name": "BurnOne"
},
{
"id": 3,
"name": "ApproveToken"
},
{
"id": 4,
"name": "TransferToken"
},
{
"id": 5,
"name": "MetadataUpdate"
}
]
}{
"data": [
{
"id": 1,
"name": "Mint"
},
{
"id": 2,
"name": "Transfer"
},
{
"id": 3,
"name": "Approve"
},
{
"id": 4,
"name": "Burn"
}
]
}GET /account-infoPOST /account-infocurl -X 'GET' \
'https://api.testnet.cspr.cloud/account-info?account_hash=fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69,21eaea584903e79365bcb1f7607179cc118807033c8919cff7489a91c3a822d1,d3ccfd0daf03e656cb4e86158e5f54be686d9faa91cae3ed9310e167e65592e5' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"account_hash": "21eaea584903e79365bcb1f7607179cc118807033c8919cff7489a91c3a822d1",
"url": "http://makestake.io",
"is_active": true,
"info": {
"nodes": [
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"description": "MAKE's first Casper Testnet validator",
"functionality": [
"validator"
]
},
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e",
"description": "MAKE's second Casper Testnet validator",
"functionality": [
"validator"
]
}
],
"owner": {
"name": "MAKE",
"type": [
"validator",
"corporation"
],
"email": "[email protected]",
"social": {
"github": "make-software",
"medium": "",
"reddit": "",
"wechat": "",
"keybase": "",
"twitter": "@WeAreTeamMAKE",
"youtube": "",
"facebook": "",
"telegram": ""
},
"website": "https://makestake.io",
"branding": {
"logo": {
"svg": "https://make.services/logo.svg",
"png_256": "https://make.services/logo256.png",
"png_1024": "https://make.services/logo1024.png"
}
},
"identity": {
"other": null,
"ownership_disclosure_url": "https://makestake.io/ownership-disclosure",
"casper_association_kyc_url": "",
"casper_association_kyc_onchain": ""
},
"location": {
"name": "Cheyenne, WY",
"country": "US",
"latitude": 41.14,
"longitude": -104.820274
},
"resources": {
"other": [],
"privacy_policy_url": "https://makestake.io/privacy",
"code_of_conduct_url": "",
"terms_of_service_url": "https://makestake.io/tos"
},
"description": "MAKE is the leading technology provider for the Casper Network and creator of the CSPR Product Suite",
"affiliated_accounts": [
{
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
{
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
{
"public_key": "0202859e04bab609744b291b54ef97b55cb3120c940cd620977f8d2687ca5bd0168c"
},
{
"public_key": "01fc3b35c25fdce6fc6127fc5da32a828d51eaacab816e80611f23f4cf063bc319"
}
]
}
},
"deploy_hash": "722e4c7e25c1a3c50b6c4cdeea7b3f205f14977f5c915761ab34fc702561dd3b",
"verified_account_hashes": [
"21EAEA584903E79365BCB1F7607179CC118807033C8919CFF7489A91C3A822D1",
"D3CCFD0DAF03E656CB4E86158E5F54BE686D9FAA91CAE3ED9310E167E65592E5",
"FA12D2DD5547714F8C2754D418AA8C9D59DC88780350CB4254D622E2D4EF7E69"
],
"created": "2021-09-17T20:24:35Z",
"updated": "2023-09-12T00:00:01Z"
},
...
],
"item_count": 3,
"page_count": 1
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/rates/1/latest' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"currency_id": 1,
"amount": 0.051704,
"created": "2024-01-05T14:23:00Z"
}
}timestamp
Rates can be included into the DelegatorReward entity
currency_id
uint8
Currency identifier
amount
float32
Rate amount
created
string
Rate timestamp in the ISO 8601 format
currency_id
Rates are related to the specific currency
timestamp
Rates can be included into the Deploy entity
timestamp
Rates can be included into the Transfer entity
timestamp
Rates can be included into the ValidatorReward entity
balance
Sort accounts by the main purse balance
total_balance
Sort accounts by the total account balance, including the delegated funds
Default sorting is total_balance DESC
auction_status
string
Account auction status: inactive_bidder, active_bidder, active_validator, pending_validator
delegated_balance
uint64
Total funds delegated across all validators
staked_balance
uint64
Total funds staked as validator
undelegating_balance
uint64
account_hash
Comma-separated list of account hashes
block_height
uint64
Block height. Primary block identifier
block_hash
string(64)
Block hash represented as a hexadecimal string. Secondary block identifier
parent_block_hash
string(64)
Parent block hash represented as a hexadecimal string
state_root_hash
string(64)
Identifier of the network's state after executing the block's deploys represented as a hexadecimal string
era_id
uint32
Era ID in which the block was created
proposer_public_key
Example
Depending on the endpoint some of the following optional properties may be included in the Block entity:
proposer_account_info
provided by the proposer account
proposer_centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
proposer_cspr_name
string
Primary CSPR.name of the block proposer account
block_hash
Blocks can have deploys
proposer_public_key
Blocks are proposed by validators
The Block entity has the following endpoints:
The Block entity has the following relation endpoints:
Bidder active filter param
public_key
Comma-separated list of public key
rank
Sort bidders by rank
fee
Sort bidders by fee
delegators_number
Sort bidders by delegators number
total_stake
Sort bidders by total stake
self_stake
Sort bidders by self stake
network_share
Sort bidders by network share
Default sorting is total_stake DESC
account_info
provided by the bidder
average_performance
Moving average of validator performance based on the received rewards over the past 360 eras (approximately one month)
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
era_id
Active auction era identifier. Data for older eras aren't persistent for long, and will eventually become unavailable. This is a required parameter
is_active
owner_public_key
Owner public key filter.
timestamp
Sort contract packages by timestamp.
Default sorting is timestamp DESC
deploys_number
int
Number of deploys in the specified number of the past days. It's a that accepts the number of days as an argument.
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
cspr_name
string
None
account_info
provided by the deploy caller
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
caller_cspr_name
string
Primary CSPR.name of the deploy caller account
contract_package
ContractPackage
To block height range
is_burned
Filters tokens by their is_burned status: false to get active NFTs, true to get the burned ones. By default all tokens are returned.
token_id
Sort tokens by token_id
timestamp
Sort tokens by timestamp
Default sorting is timestamp DESC
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
owner_cspr_name
string
Primary CSPR.name of the owner account
from_block_height
From block height range
to_block_height
timestamp
Sort contract packages by timestamp.
Default sorting is timestamp DESC
deploys_number
int
Number of deploys in the specified number of the past days. It's a that accepts the number of days as an argument.
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
cspr_name
string
Owner's primary CSPR.name
timestamp
Sort NFT actions by timestamp
contract_package
NFT contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
name_token_id
string
ID of the name token (NFT)
name
string
Name (e.g. cloud.cspr)
resolved_hash
string(64)
Account hash represented as a hexadecimal string
is_primary
boolean
Flag that indicates if CSPR.name is primary for a specific account (only single primary name of an account).
expires_at
string
Resolution expiration timestamp in the format
Example
Depending on the endpoint, the following optional properties may be included in the CSPRNameResolution entity:
resolved_public_key
string(68)
Public key of the resolved account
account
Account of the resolved account hash
account_info
Account info of the resolved account
centralized_account_info
Centralized Account info of the resolved account
The CSPRNameResolution entity has the following relations with other entities:
resolved_hash
Names are resolved to accounts
name_token_id
Name ownership is granted by the corresponding CSPR.name NFT
The CSPRNameResolution entity has the following endpoints:
None
Default sorting is timestamp DESC
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
owner_cspr_name
string
Primary CSPR.name of the owner account
tokens_number
Sort NFT token ownership by tokens number
Default sorting is tokens_number DESC
contract_package
Fungible contract package
owner_public_key
string(68)
Owner public key if it's an account
account_info
Owner account info
centralized_account_info
owner_hash
Owner hash
The AccountInfo entity represents a record of an account along with related metadata in the context of the Casper Account Info Standard. This entity is parsed from the Casper Account Info Contract and stores a denormalized representation of the data from this contract.
The AccountInfo entity has the following properties:
Example
None
The AccountInfo entity has the following relations with other entities:
The AccountInfo entity has the following endpoints:
None
The NFTTokenOwnership entity represents a NFT ownership relation between accounts and contract packages, as well as provides the total tokens number.
The NFTTokenOwnership entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the NFTTokenOwnership entity:
The NFTTokenOwnership entity has the following endpoints:
None
The Bidder entity represents an account participating in the to become a for the era after the next one. It has the same properties as the Validator entity, with the network share value being projected instead of actual.
The Bidder entity has the following properties:
{
"currency_id": 1,
"amount": 0.052947,
"timestamp": "2024-01-05T12:51:00Z"
}GET /accountscurl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"account_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"balance": 9521556398257160000,
"main_purse_uref": "uref-b06a1ab0cfb52b5d4f9a08b68a5dbe78e999de0b0484c03e64f5c03897cf637b-007",
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02"
},
{
"account_hash": "5e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd261",
"balance": 2390125170301261,
"main_purse_uref": "uref-f99169b612ce584e69dd69e3437fea137b61aff8dcadf71fc83c3b85ab30aa64-007",
"public_key": "02022732f61c794d7974d9473554b46b32e8d47903ada3ca3604ce313d66343e0d2f"
},
...
{
"account_hash": "7894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fc",
"balance": 252400825961483,
"main_purse_uref": "uref-c4afe0fb020ebcdc940289d759499ff5fb87e999567e4d61d836d70bfad20a55-007",
"public_key": "0145fb72c75e1b459839555d70356a5e6172e706efa204d86c86050e2f7878960f"
}
],
"item_count": 63177,
"page_count": 6318
}{
"block_height": 500442,
"block_hash": "9fccaf372ec5f61ac851fcec593d159f928a26df8f2af5aa3522ed9e0b7cbb36",
"parent_block_hash": "898f0caafafdd67d7693b17c01b885941dd0f7bb000ffb4faf26d16f37681a38",
"state_root_hash": "656b3f410c68bb2e5dd16089295376193130b9470e5158decc9c4d5c22674087",
"era_id": 3561,
"proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2022-01-31T10:36:55Z"
}GET /bidderscurl -X 'GET' \
'https://api.testnet.cspr.cloud/bidders?era_id=12100' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 256,
"page_count": 26,
"data": [
{
"delegators_number": 326,
"delegators_stake": 515236483487045440,
"era_id": 12136,
"fee": 15,
"is_active": true,
"network_share": "6.03",
"public_key": "018f84c6fc037284f189cc8cb49f89212ff434a5eb050e48cdd164ff3890fbff69",
"rank": 1,
"self_share": "0.31",
"self_stake": 1588933419545728,
"total_stake": 516825416906591170
},
{
"delegators_number": 1199,
"delegators_stake": 327973756566146050,
"era_id": 12136,
"fee": 3,
"is_active": true,
"network_share": "3.83",
"public_key": "01c377281132044bd3278b039925eeb3efdb9d99dd5f46d9ec6a764add34581af7",
"rank": 2,
"self_share": "0.03",
"self_stake": 85793744014762,
"total_stake": 328059550310160830
},
...
{
"delegators_number": 121,
"delegators_stake": 206718215474570850,
"era_id": 12136,
"fee": 10,
"is_active": true,
"network_share": "2.42",
"public_key": "015fd964620f98e551065079e142840dac3fb25bd97a0d4722411cb439f9247d72",
"rank": 10,
"self_share": "0.2",
"self_stake": 422749459877974,
"total_stake": 207140964934448800
}
]
}GET /contract-packagescurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"owner_public_key": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01",
"name": "MyContractPackage1",
"description": "A sample contract package",
"metadata": {
"name": "MyToken1",
"symbol": "MT1",
"decimals": 18,
"balances_uref": "uref-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"total_supply_uref": "uref-abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"ownership_mode": 1,
"nft_kind": 2,
"nft_metadata_kind": 1,
"whitelist_mode": 0,
"holder_mode": 1,
"minting_mode": 2,
"burn_mode": 1,
"identifier_mode": 0,
"metadata_mutability": 1,
"owner_reverse_lookup_mode": 1,
"events_mode": 2
},
"latest_version_contract_type_id": 3,
"timestamp": "2023-01-01T12:00:00Z",
"icon_url": "https://example.com/icon1.png",
"website_url": "https://example.com",
"deploys_number": 42
},
{
"contract_package_hash": "be2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e745",
"owner_public_key": "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"name": "MyContractPackage2",
"description": "Another sample contract package",
"metadata": {
"name": "MyToken2",
"symbol": "MT2",
"decimals": 18,
"balances_uref": "uref-abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"total_supply_uref": "uref-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"ownership_mode": 1,
"nft_kind": 2,
"nft_metadata_kind": 1,
"whitelist_mode": 0,
"holder_mode": 1,
"minting_mode": 2,
"burn_mode": 1,
"identifier_mode": 0,
"metadata_mutability": 1,
"owner_reverse_lookup_mode": 1,
"events_mode": 2
},
"latest_version_contract_type_id": 4,
"timestamp": "2023-01-02T12:00:00Z",
"icon_url": "https://example.com/icon2.png",
"website_url": "https://example.com",
"deploys_number": 56
},
...
],
"item_count": 100,
"page_count": 10
}GET /deploys/{deploy_hash}curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys/88461218a5e972fcda1d764d7cc4edb2e0c3a538123b97890d484f43c55935f5' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"deploy_hash": "88461218a5e972fcda1d764d7cc4edb2e0c3a538123b97890d484f43c55935f5",
"block_hash": "d76b4ce5281f2306911a0e5e9ac0b29f1f4daf36f4636e78599ce64a7f7528a1",
"block_height": 2404577,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"execution_type_id": 6,
"contract_package_hash": null,
"contract_hash": null,
"entry_point_id": null,
"args": {
"amount": {
"cl_type": "U512",
"parsed": "2500000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": null
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "536345751b7c6c6299d5ef10862d76736ed062bc32c1dabcd1179c06469d93ca"
}
},
"payment_amount": "100000000",
"cost": "100000000",
"error_message": null,
"status": "processed",
"timestamp": "2024-01-08T15:24:47Z"
}
}GET /accounts/{account_identifier}/nft-tokenscurl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/8E09F028BAFF4E3A851E70BB8A5DC02EAE7F8CB7FAF1B52D9C8DAFA7F41FA55C/nft-tokens' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
"block_height": 1461592,
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 3,
"onchain_metadata": {
"token_uri": "{\"token_uri\":\"ipfs://QmZa1hrX5FJRxyNyEbYjTVPJ6mbQtA3wJu1RjQpv9am6n2\"}"
},
"owner_hash": "8e09f028baff4e3a851e70bb8a5dc02eae7f8cb7faf1b52d9c8dafa7f41fa55c",
"owner_type": 1,
"timestamp": "2022-10-18T15:22:06Z",
"token_id": "0",
"token_standard_id": 1,
"tracking_id": 20458
}
],
"item_count": 1,
"page_count": 1
}GET /accounts/{public_key}/contract-packagescurl -X 'GET' \
'https://api.testnet.cspr.cloud/account/017E80955A6D493A4A4B9F1B5DD23D2EDCDC2C8B00FCD9689F2F735F501BD088C5/contract-packages' \
-H 'Accept: application/json' \
-H 'Authorization: your_access_token_here'{
"data": [
{
"contract_package_hash": "0038a63a09e0b600158d4648745930239aba43eb7a5e725ab1af12b49077100c",
"owner_public_key": "017e80955a6d493a4a4b9f1b5dd23d2edcdc2c8b00fcd9689f2f735f501bd088c5",
"name": null,
"description": null,
"metadata": {},
"latest_version_contract_type_id": null,
"timestamp": "2023-04-12T05:38:48Z",
"icon_url": null,
"website_url": null
},
{
"contract_package_hash": "004f02d03d1011ea71397363a34fbf038496be30ee2b1d88820c37cc9b9daeee",
"owner_public_key": "017e80955a6d493a4a4b9f1b5dd23d2edcdc2c8b00fcd9689f2f735f501bd088c5",
"name": "Wrap BTC",
"description": null,
"metadata": {
"name": "Wrap BTC",
"symbol": "WBTC",
"decimals": 8,
"balances_uref": "uref-4744c56c1ca94c6c1f3d2076d8b3fe474b03a86736143ad1921505b71b693b1f-007",
"total_supply_uref": "uref-f3771de0504c0dd74feb56f6e327add0ba89562022ff2816e98a8700673124e3-003"
},
"latest_version_contract_type_id": 2,
"timestamp": "2023-03-31T08:22:32Z",
"icon_url": null,
"website_url": null
},
...
{
"contract_package_hash": "0342537e19667f5c9b5ab976e302bcdfce04b5e681a6c535d330ae0c534203ab",
"owner_public_key": "017e80955a6d493a4a4b9f1b5dd23d2edcdc2c8b00fcd9689f2f735f501bd088c5",
"name": null,
"description": null,
"metadata": {},
"latest_version_contract_type_id": null,
"timestamp": "2022-11-11T05:14:46Z",
"icon_url": null,
"website_url": null
}
],
"item_count": 459,
"page_count": 46
}GET /contract-packages/{contract_package_hash}/nft-tokens/{token_id}/nft-token-actionscurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383/nft-tokens/0/nft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
"deploy_hash": "50b96b517040247a080a2a59150a53bd60cbc4733ebb7ccfe800686496ea6ac6",
"from_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"from_type": 0,
"nft_action_id": 3,
"timestamp": "2022-10-18T15:51:01Z",
"to_hash": "a2f88f07fa73ed826deaf761d37ece021e1990603afc68ba2fda09332dce1534",
"to_type": 1,
"token_id": "0",
"token_tracking_id": 20458
},
{
"contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
"deploy_hash": "512006c596e47ec764c5a05969b263728e2dbd479e1ad0b9e8b9913ec4483c38",
"block_height": 150042,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2023-01-01T09:33:05Z",
"to_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"to_type": 0,
"token_id": "0",
"token_tracking_id": 20458
}
],
"item_count": 2,
"page_count": 1
}{
"name_token_id": "0000000000000000000000000000000000000000000000000000000000000000",
"name": "faucet.cspr",
"resolved_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"is_primary": true,
"expires_at": "2124-08-27 12:00:00.00"
}GET /contract-packages/{contract_package_hash}/nft-tokens/{token_id}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383/nft-tokens/0' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
"block_height": 1461592,
"is_burned": false,
"offchain_metadata": null,
"offchain_metadata_status": 3,
"onchain_metadata": {
"token_uri": "{\"token_uri\":\"ipfs://QmZa1hrX5FJRxyNyEbYjTVPJ6mbQtA3wJu1RjQpv9am6n2\"}"
},
"owner_hash": "8e09f028baff4e3a851e70bb8a5dc02eae7f8cb7faf1b52d9c8dafa7f41fa55c",
"owner_type": 1,
"timestamp": "2022-10-18T15:22:06Z",
"token_id": "0",
"token_standard_id": 1,
"tracking_id": 20458
}
}GET /contract-packages/{contract_package_hash}/nft-token-ownershipcurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/000f00b1c6b691b47c1006730bd39812c598f4660e2420a5f5e2f9106865fed1/nft-token-ownership' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "0074557b46c7a7c13e0b178e4463f451325129d845e9e494425d39cfd40e619d",
"owner_hash": "532402a902ee117a772b2471df237346c906eddeb1580e18fa8b71ea559b9d2f",
"owner_type": 0,
"tokens_number": 1
},
{
"contract_package_hash": "0074557b46c7a7c13e0b178e4463f451325129d845e9e494425d39cfd40e619d",
"owner_hash": "d619411005c1255ca0cfdc9121d0e0a60d2b4e8da354e4d8768e8ea9378635d6",
"owner_type": 0,
"tokens_number": 2
},
{
"contract_package_hash": "0074557b46c7a7c13e0b178e4463f451325129d845e9e494425d39cfd40e619d",
"owner_hash": "e92b24043adab658450b1a00a82f4ae6dcba196972081175317dff1702e3772b",
"owner_type": 0,
"tokens_number": 2
}
]
}GET /blocks/{block_identifier}/deploysTotal undelegated funds that will be returned to the account main purse after the 7 era lockdown period
account_info
Account info provided by the account owner
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
Primary CSPR.name of the account
string(68)
Public key of the validator who proposed the block represented as a hexadecimal string
native_transfers_number
uint16
Number of native transfer deploys included in the block
contract_calls_number
uint16
Number of contract calls included in the block
is_switch_block
bool
true if the block is the last one in the era
timestamp
datetime
The timestamp from when the block was proposed
Primary CSPR.name of the account
Owner's primary CSPR.name
ContractPackage entity.
contract
Contract
Contract entity.
contract_entrypoint
ContractEntrypoint
ContractEntrypoint entity.
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
transfers
[]Transfer
List of Transfer entities.
nft_token_actions
List of NFTTokenAction entities.
ft_token_actions
List of Fungible token action entities.
Action target public key if it's an account
to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
name_token
NFT token that represents the ownership of the CSPR.name
Owner centralized account info
cspr_name
string
Owner account CSPR.name
List of verified account hashes represented as a hexadecimal string
created
datetime
Account info creation timestamp
updated
datetime
Account info last update timestamp
account_hash
string(64)
Account hash represented as a hexadecimal string
url
string
The top level domain URL for an account information
is_active
boolean
Status describes whether account info active or not
info
JSON
JSON representation of account info data, related to Casper Account Info Standard
deploy_hash
string(64)
Hash of the deploy that deployed the Casper Account Info Contract to the network represented as a hexadecimal string
verified_account_hashes
account_hash
Account info is related to an account
deploy_hash
Contracts are deployed to the network with a deploy call.
[]string
cspr_name
string
Owner account CSPR.name
owner_hash
string(64)
Owner hash represented as a hexadecimal string
contract_package_hash
string(64)
NFT contract package hash represented as a hexadecimal string
owner_type
uint8
NFT token owner type: 0 for account, 1 for contract
tokens_number
uint32
Number of NFTs owned by the owner account
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
account_info
Owner account info
centralized_account_info
contract_package_hash
NFT token ownership represents NFT contract package token owners
owner_hash
Account can be a token owner
Owner centralized account info
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/01D4C0E543A1DBE84EC437C34E9E788A82F00580E5E12D8A2B187C6C4883479B1A/total-delegation-rewards' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'None
None
GET /currenciesNone
None
GET /contracts/{contract_hash}/entry-points/{entry_point_name}/costscurl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts/93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2/entry-points/activate_bid/costs' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
"url": "http://makestake.io",
"is_active": true,
"info": {
"nodes": [
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"description": "MAKE's first Casper Testnet validator",
"functionality": [
"validator"
]
},
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e",
"description": "MAKE's second Casper Testnet validator",
"functionality": [
"validator"
]
}
],
"owner": {
"name": "MAKE",
"type": [
"validator",
"corporation"
],
"email": "[email protected]",
"social": {
"github": "make-software",
"medium": "",
"reddit": "",
"wechat": "",
"keybase": "",
"twitter": "@WeAreTeamMAKE",
"youtube": "",
"facebook": "",
"telegram": ""
},
"website": "https://makestake.io",
"branding": {
"logo": {
"svg": "https://make.services/logo.svg",
"png_256": "https://make.services/logo256.png",
"png_1024": "https://make.services/logo1024.png"
}
},
"identity": {
"other": null,
"ownership_disclosure_url": "https://makestake.io/ownership-disclosure",
"casper_association_kyc_url": "",
"casper_association_kyc_onchain": ""
},
"location": {
"name": "Cheyenne, WY",
"country": "US",
"latitude": 41.14,
"longitude": -104.820274
},
"resources": {
"other": [],
"privacy_policy_url": "https://makestake.io/privacy",
"code_of_conduct_url": "",
"terms_of_service_url": "https://makestake.io/tos"
},
"description": "MAKE is the leading technology provider for the Casper Network and creator of the CSPR Product Suite",
"affiliated_accounts": [
{
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
{
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
{
"public_key": "0202859e04bab609744b291b54ef97b55cb3120c940cd620977f8d2687ca5bd0168c"
},
{
"public_key": "01fc3b35c25fdce6fc6127fc5da32a828d51eaacab816e80611f23f4cf063bc319"
}
]
}
},
"deploy_hash": "5a9b3853d596243fd1b8f0a107ec7c7042ab226e628c7e742c455deab15e9719",
"verified_account_hashes": [
"21EAEA584903E79365BCB1F7607179CC118807033C8919CFF7489A91C3A822D1",
"D3CCFD0DAF03E656CB4E86158E5F54BE686D9FAA91CAE3ED9310E167E65592E5",
"FA12D2DD5547714F8C2754D418AA8C9D59DC88780350CB4254D622E2D4EF7E69"
],
"created": "2021-09-17T20:24:35Z",
"updated": "2023-09-12T00:00:01Z"
}{
"contract_package_hash": "0074557b46c7a7c13e0b178e4463f451325129d845e9e494425d39cfd40e619d",
"owner_hash": "532402a902ee117a772b2471df237346c906eddeb1580e18fa8b71ea559b9d2f",
"owner_type": 0,
"tokens_number": 1
}{
"data": 184403853254
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/currencies' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"id": 1,
"code": "USD",
"type_id": 1
},
{
"id": 2,
"code": "EUR",
"type_id": 1
},
...
{
"id": 10,
"code": "ETH",
"type_id": 2
}
]
}{
"data": {
"deploys_num": number,
"since": datetime,
"avg_cost": number,
"min_cost": number,
"max_cost": number,
"avg_payment_amount": number,
"min_payment_amount": number,
"max_payment_amount": number
}
}
{
"data": {
"deploys_num": 100,
"since": "2023-10-12T07:21:07Z",
"avg_cost": 25009900,
"min_cost": 10000,
"max_cost": 2500000000,
"avg_payment_amount": 19550007300,
"min_payment_amount": 10000,
"max_payment_amount": 950000000000
}
}contract
called by deploy.
contract_entrypoint
called by deploy.
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
transfers
[]
List of Transfer entities.
nft_token_actions
[]
List of NFTTokenAction entities.
ft_token_actions
[]
List of Fungible token action entities.
contract_package_hash
Contract package hash of the called contract
contract_hash
Called contract hash
contract_entrypoint_id
Called entry point ID
timestamp
Sort deploys by timestamp
account_info
Account info provided by the deploy caller
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
caller_cspr_name
string
Primary CSPR.name of the deploy caller account
contract_package
called by deploy.
To block height range
deploy_hash
Comma-separated list of deploy hashes
timestamp
Sort NFT actions by timestamp
Default sorting is timestamp DESC
contract_package
NFT contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
from_block_height
From block height range
to_block_height
era_id
uint32
Auction era identifier
public_key
string(68)
Bidder account public key represented as a hexadecimal string
is_active
bool
Describes whether the bidder is active or not
fee
float32
Percentage of the rewards the bidder will retain for its services once becomes a validator
delegators_number
uint64
Number of delegators staked to the bidder
bid_amount
uint64
Amount of bidder bid stake
delegators_stake
uint64
Cumulative stake of all delegators
total_stake
uint64
Total bidder stake. The sum of the self-stake and the delegator stakes.
self_stake
uint64
Bidder self-stake calculated as a sum of the bidder stake and the stakes of the affiliated accounts provided via the
self_share
float32
Percentage of the bidder's self-stake to its total stake
network_share
float32
Projected network stake share if the bidder becomes a validator
Example
Depending on the endpoint some of the following optional properties may be included in the Bidder entity:
account_info
Bidder provided by the account owner
centralized_account_info
cspr_name
string
Primary CSPR.name of the account
average_performance
public_key
Auction bids are made by accounts
public_key
Bidders that were validators in the past have associated validator performance
The Bidder entity has the following endpoints:
None
rank
uint8
Projected validator rank based on total bid amount
To block height range
deploy_hash
Comma-separated list of deploy hashes
timestamp
Sort fungible token actions by timestamp
Default sorting is timestamp DESC
contract_package
Fungible contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
from_block_height
From block height range
to_block_height
To block height range
deploy_hash
Comma-separated list of deploy hashes
timestamp
Sort NFT actions by timestamp
Default sorting is timestamp DESC
contract_package
NFT contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
from_block_height
From block height range
to_block_height
None
contract_package
Contract package, this contract version is a part of
The Account entity represents the account observed in the network activity. For example, when the corresponding public key was passed as a deploy argument. Because of that, an Account may not necessarily have a purse and on-chain balance.
The Account entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the Account entity:
The Account entity has the following relations with other entities:
The Account entity has the following endpoints:
The Account entity has the following relation endpoints:
Non-fungible tokens, or NFTs, became one of the most popular use cases in the current blockchain world. CSPR.cloud keeps track of all NFT contracts compatible with the CEP-47 and CEP-78 NFT standards on the Casper Network. CSPR.cloud provides a possibility to:
and more
Moreover, CSPR.cloud not only tracks on-chain NFT data but also fetches the off-chain metadata for you, which can be particularly slow when the metadata is stored on . Below is an example that demonstrated fetching NFT tokens for the contracts, which is a smart NFT contract that stores the token metadata on IPFS:
Note the offchain_metadata property, which contains the off-chain token metadata.
curl -X 'GET' \
'https://api.testnet.cspr.cloud/blocks/a6c2974d211fdf0ddadb15f4e81b2fb65a0274787c46f362301ef583764f26f4/deploys' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 1,
"page_count": 1,
"data": [
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "2500000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": null
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "536345751b7c6c6299d5ef10862d76736ed062bc32c1dabcd1179c06469d93ca"
}
},
"block_hash": "d76b4ce5281f2306911a0e5e9ac0b29f1f4daf36f4636e78599ce64a7f7528a1",
"block_height": 2404577,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "88461218a5e972fcda1d764d7cc4edb2e0c3a538123b97890d484f43c55935f5",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2024-01-08T15:24:47Z"
}
]
}GET /accounts/{account_identifier}/nft-token-actionscurl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/3411D3B4D457AF0309F3EE967D18CA53FDFF749CAA60314AEB47F2FF9F99C1C1/nft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "1a9d50b16af889d2c3bd32e54216150d3bb2e0718d2a6572bb33167d1297460c",
"block_height": 150039,
"from_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"from_type": 0,
"nft_action_id": 5,
"timestamp": "2021-08-11T07:20:18Z",
"to_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"to_type": 0,
"token_id": "US-7000001-XTest6",
"token_tracking_id": 5
},
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "1bb29c2c92270b8ae17062a798395793f1eebb0af2f228d5504775b28c679616",
"block_height": 150024,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2021-08-11T07:04:29Z",
"to_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"to_type": 0,
"token_id": "US-7000001-XTest6",
"token_tracking_id": 5
},
...
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "b761d7a8651cda6fae958ff37f86cd82e15f3f136ff710b0ce7607743c147772",
"block_height": 150043,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2021-08-11T07:25:09Z",
"to_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"to_type": 0,
"token_id": "XTest11",
"token_tracking_id": 10
}
],
"item_count": 11,
"page_count": 2
}{
"delegators_number": 1200,
"delegators_stake": 328805467747474750,
"era_id": 12104,
"fee": 3,
"is_active": true,
"network_share": "3.86",
"public_key": "01c377281132044bd3278b039925eeb3efdb9d99dd5f46d9ec6a764add34581af7",
"rank": 2,
"self_share": "0.02",
"self_stake": 78323555658770,
"bid_amount": 78323555658770,
"total_stake": 328883791303133500
}GET /contract-packages/{contract_package_hash}/ft-token-actionscurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a/ft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "10000000000",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "22930a6a3b568ab2c7ed296072181c21a2a3b990998f5898fbc24acf7eec3d66",
"block_height": 1382964,
"from_hash": "24a56544c522eca7fba93fb7a6cef83e086706fd87b2f344f5c3dad3603d11f1",
"from_type": 1,
"ft_action_type_id": 3,
"timestamp": "2023-01-05T13:39:09Z",
"to_hash": "70417ab18bc39062176682e691afdaaf3691fde83e0e6afe77e4982c037b6796",
"to_type": 1,
"transform_idx": 13
},
{
"amount": "10000000000",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "76518989d5ff8301ab53f1cc917dec29d6485ea8c7dedd99081956a5cb5b8717",
"block_height": 1385600,
"from_hash": "24a56544c522eca7fba93fb7a6cef83e086706fd87b2f344f5c3dad3603d11f1",
"from_type": 0,
"ft_action_type_id": 3,
"timestamp": "2023-01-06T13:41:20Z",
"to_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"to_type": 1,
"transform_idx": 13
},
...
{
"amount": "1999999999",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "01531f387d5d711c332adc15be7ff23ba55033a93c591204af9a6e36ec1c3e0f",
"block_height": 1401132,
"from_hash": null,
"from_type": 1,
"ft_action_type_id": 1,
"timestamp": "2023-01-12T11:21:58Z",
"to_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"to_type": 1,
"transform_idx": 92
}
],
"item_count": 97704,
"page_count": 9771
}GET /contract-packages/{contract_package_hash}/nft-token-actionscurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89/nft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "d7595a1d455676cdfa98b9f260895e6d40e89825117c641b77ab8a529686c0ab",
"block_height": 149855,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2021-08-11T03:59:11Z",
"to_hash": "3aec6cf365abef154d7517c6cf9f4017866095969fe17dba4ffff7eb07e03c0f",
"to_type": 0,
"token_id": "US-7000001-B2",
"token_tracking_id": 1
},
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "8730b8c24d4b84ba2600f9405269142d5e3f3ef804a0d6dfa9ded95b43c2c5a3",
"block_height": 149894,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2021-08-11T04:41:51Z",
"to_hash": "855416b21473b4a36135a9c16acd2f26f23371bd67c3dd0c29371843ce85bbf9",
"to_type": 0,
"token_id": "US-7000001-X1",
"token_tracking_id": 2
},
...
{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "5980abe41db4ee28191ebe78ea16824e31ffb58e818d63bb4c94f745404a315a",
"block_height": 150042,
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2021-08-11T07:23:48Z",
"to_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"to_type": 0,
"token_id": "XTest9",
"token_tracking_id": 8
}
],
"item_count": 35,
"page_count": 4
}GET /contracts/{contract_hash}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts/8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"contract_hash": "8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732",
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"deploy_hash": "1a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e755",
"block_height": 2404577,
"contract_type_id": 2,
"timestamp": "2023-01-01T12:00:00Z",
"contract_version": 1,
"is_disabled": false
}
}Action target public key if it's an account
to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
Moving average of validator performance based on the received rewards over the past 360 eras (approximately one month)
Action target public key if it's an account
to_account_info
Action source account info if it's an account
from_account_info
Action target account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
Action target public key if it's an account
to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
curl -X 'GET' \
'https://api.cspr.cloud/contract-packages/ad0cd4ef3cfd9e7222706786e51773af771f063ecce4606282999a7a6d6ac495/nft-tokens' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "ad0cd4ef3cfd9e7222706786e51773af771f063ecce4606282999a7a6d6ac495",
"is_burned": false,
"offchain_metadata": {
"attributes": [
{
"trait_type": "background",
"value": "Red"
},
{
"trait_type": "body",
"value": "Grey"
},
{
"trait_type": "eyes",
"value": "Narrow"
},
{
"trait_type": "hat",
"value": "tophat"
},
{
"trait_type": "mouth",
"value": "StacheBrown"
}
],
"compiler": "HashLips Art Engine",
"date": 1682468152509,
"description": "The first generation of generative CasperPunks",
"dna": "5dd6a50e43d44cda7af7d50c7d314af724c2851d",
"edition": 1,
"image": "https://api-box.casperpunks.io/metadata/images/1.png",
"name": "Casper Punks Gen 1 #1"
},
"offchain_metadata_status": 2,
"onchain_metadata": {
"checksum": "",
"name": "CasperPunks Gen1",
"symbol": "CP-GEN1",
"token_uri": "https://api-box.casperpunks.io/metadata/1"
},
"owner_hash": "909ce489ea31a76c8f3ca97364b209b942d023a1a0447dc63263444c1566338a",
"owner_type": 0,
"timestamp": "2023-05-23T06:38:53Z",
"token_id": "1",
"token_standard_id": 2,
"tracking_id": 19236
},
{
"contract_package_hash": "ad0cd4ef3cfd9e7222706786e51773af771f063ecce4606282999a7a6d6ac495",
"is_burned": false,
"offchain_metadata": {
"attributes": [
{
"trait_type": "background",
"value": "Purple"
},
{
"trait_type": "body",
"value": "Grey"
},
{
"trait_type": "eyes",
"value": "Bulging"
},
{
"trait_type": "hat",
"value": "PinkMohawk"
},
{
"trait_type": "mouth",
"value": "Patch"
}
],
"compiler": "HashLips Art Engine",
"date": 1682468131158,
"description": "The first generation of generative CasperPunks",
"dna": "0de5f3c56c496630c56d0b78739c69a68cbe2824",
"edition": 10,
"image": "https://api-box.casperpunks.io/metadata/images/10.png",
"name": "Casper Punks Gen 1 #10"
},
"offchain_metadata_status": 2,
"onchain_metadata": {
"checksum": "",
"name": "CasperPunks Gen1",
"symbol": "CP-GEN1",
"token_uri": "https://api-box.casperpunks.io/metadata/10"
},
"owner_hash": "6d230cf0b8f2a1aae9b88108f483e66c83a301f59b2c8118e0c7765081e36fe9",
"owner_type": 0,
"timestamp": "2023-05-24T14:52:46Z",
"token_id": "10",
"token_standard_id": 2,
"tracking_id": 19247
},
...
{
"contract_package_hash": "ad0cd4ef3cfd9e7222706786e51773af771f063ecce4606282999a7a6d6ac495",
"is_burned": false,
"offchain_metadata": {
"attributes": [
{
"trait_type": "background",
"value": "Mint"
},
{
"trait_type": "body",
"value": "Grey"
},
{
"trait_type": "eyes",
"value": "Frown"
},
{
"trait_type": "hat",
"value": "beanie"
},
{
"trait_type": "mouth",
"value": "Laugh"
}
],
"compiler": "HashLips Art Engine",
"date": 1682468103314,
"description": "The first generation of generative CasperPunks",
"dna": "1df66a2d43f0de7784136685eb8f85531e53d7d1",
"edition": 1006,
"image": "https://api-box.casperpunks.io/metadata/images/1006.png",
"name": "Casper Punks Gen 1 #1006"
},
"offchain_metadata_status": 2,
"onchain_metadata": {
"checksum": "",
"name": "CasperPunks Gen1",
"symbol": "CP-GEN1",
"token_uri": "https://api-box.casperpunks.io/metadata/1006"
},
"owner_hash": "96609d29c02388c81b6b1bd08feef31d3f3f1331ae39c0ad4f921e43c14d5393",
"owner_type": 1,
"timestamp": "2023-05-25T02:24:28Z",
"token_id": "1006",
"token_standard_id": 2,
"tracking_id": 20245
}
],
"item_count": 2166,
"page_count": 217
}curl -X 'GET' \
'https://api.cspr.cloud/centralized-account-info/02FAAA3D8155039A88589D531F8107335476589C2E920980A6981F905671E20D' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"account_hash": "02faaa3d8155039a88589d531f8107335476589c2e920980a6981f905671e20d",
"avatar_url": "https://casper-assets.s3.amazonaws.com/accounts/casper-association.png",
"name": "Casper Association - Developer grants",
"url": null
}
}account_info
provided by the account owner
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
Primary CSPR.name of the account
proposer_public_key
Account can have delegations to validators
public_key
Account can receive delegator rewards
owner_hash
Account can own fungible tokens
from_hash, to_hash
Account can be on the sending or receiving end of a fungible token action
owner_hash
Account can own NFTs
from_hash, to_hash
Account can be on the sending or receiving end of a fungible token action
owner_hash
Account can own multiple NFTs in one NFT contract
initiator_account_hash, to_account_hash
Account can initiate transfers and be a transfer recipient
public_key
Account can be a validator
public_key
string(68)
Account public key represented as a hexadecimal string. Primary account identifier
account_hash
string(64)
32-byte hash of the public_key represented as a hexadecimal string. Secondary account identifier
main_purse_uref
string(73)
Account main purse URef in the uref-dead...beef-007 format
balance
uint64
Account main purse balance in motes
auction_status
string
Account auction status: inactive_bidder, active_bidder, active_validator, pending_validator
delegated_balance
uint64
Total funds delegated across all validators
staked_balance
uint64
Total funds staked as validator
undelegating_balance
uint64
account_hash
Account can have account info data if provided by the owner to the Account Info contract
public_key
Account can be a bidder in the auction
owner_public_key
Account can deploy contracts to the network
caller_public_key
Total undelegated funds that will be returned to the account main purse after the 7 era lockdown period
Account can call deploys on the network
Hash of the deploy block
contract_package_hash
Contract package hash of the called contract
contract_hash
Called contract hash
contract_entrypoint_id
Called entry point ID
from_block_height
From block height range
to_block_height
To block height range
timestamp
Sort deploys by timestamp
Default sorting is timestamp DESC
account_info
provided by the deploy caller
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
caller_cspr_name
string
Primary CSPR.name of the deploy caller account
contract_package
caller_public_key
Deploy caller public key
block_hash
deploy_hash
string(64)
Deploy hash in which the token action occurred. First part of token action identifier, represented as a hexadecimal string
block_height
uint64
Height of the block in which the token action occurred.
token_tracking_id
string
ID describes relation with corresponded . Second part of token action identifier
contract_package_hash
string(64)
Contract package hash of the NFT contract, represented as a hexadecimal string
from_hash
string(64)
Action source account or contract hash, represented as a hexadecimal string
from_type
Example
Depending on the endpoint some of the following optional properties may be included in the NFTTokenAction entity:
contract_package
NFT contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
contract_package_hash
NFT actions belong to a contract package
from_hash, to_hash
NFT actions could have accounts as the action source and target
tracking_id
NFT actions are performed under non-fungible tokens
The NFTTokenAction entity has the following endpoints:
The NFTTokenAction entity has the following relation endpoints:
code
string
Error code constant represented as a string
message
string
Error message depending on the type of error and an API resource
invalid_input
InvalidParamError
400
Invalid client input parameters
unauthorized
UnauthorizedError
401
Client is not authorized
access_denied
AccessDeniedError
403
Visit the Rate limits and quotas for more information regarding Rate limiting errors.
The FTTokenAction entity describes standard actions that can be performed on fungible tokens, such as mint, transfer, or burn. CSPR.cloud supports fungible tokens compatible with the CEP-18 Casper Network standard.
The FTTokenAction entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the FTTokenAction entity:
The FTTokenAction entity has the following endpoints:
The FTTokenAction entity has the following relation endpoints:
The CentralizedAccountInfo entity provides account information collected by CSPR.cloud team for the well-known accounts in the Casper ecosystem.
The CentralizedAccountInfo entity has the following properties:
Example
None
The CentralizedAccountInfo entity has the following relations with other entities:
The CentralizedAccountInfo entity has the following endpoints:
None
The ContractPackage entity provides a normalized representation of the Casper Network . It includes the contract package's metadata based on Contract's type and named keys values and the latest version of the contract type within the package.
The ContractPackage entity has the following properties:
REST API endpoints that return may provide a possibility to sort the results by one of the result properties. Not all properties can be used for sorting. Please check the endpoint documentation to find out the sorting properties.
In addition to the endpoint-specific parameters, endpoints that return sorted results accept the following parameters to control the sorting property and the order:
Retrieve contracts associated with a specific contract package.
This endpoint allows you to retrieve contracts associated with a specific contract package. You can filter the results by deploy hash and choose to include optional fields such as contract package data. The example demonstrates a sample response with details for each contract, including contract hash, contract package hash, deploy hash, contract type ID, timestamp, contract version, and disabled status.
{
"account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
"balance": 1325092768520378,
"main_purse_uref": "uref-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1-007",
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}GET /deployscurl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 20,
"page_count": 2,
"data": [
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "2500000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": null
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "bb9b87e33a64af8fda37ceab67609b79500e8d88a2f5364f321fdc2d6ec1f74d"
}
},
"block_hash": "a87896eeafadc85a9adb4ee4dd6bb8bc5d4edf8b1695f2999916324041443b03",
"block_height": 2175890,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "18be0ac6c551e3a80a27847004db4cf9614ac7104b6448c7be6418116c32569b",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-11-03T14:33:27Z"
},
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "5000000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": 1684147006568
},
"target": {
"cl_type": "PublicKey",
"parsed": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c"
}
},
"block_hash": "43ca28afa8ed3ee7ffbe97d3f47556663942e4fa7d8420f49b9f3a5e1eec6a6e",
"block_height": 1724562,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "21945b6f126abc7de1e2d84a7161f101a7c19b22eb256dfa8e8b1d8886652ee6",
"entry_point_id": null,
"error_message": "ApiError::InvalidPurse [12]",
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-05-15T10:36:59Z"
},
...
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "5000000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": 1684318398541
},
"target": {
"cl_type": "PublicKey",
"parsed": "0203286173807276184a856010020a78df0ddf617364936b6e15efb6c1bae2f228bb"
}
},
"block_hash": "f073ab064a7545593d71a8af82021b004be3a23c7ad47c5b27a4287ab894c396",
"block_height": 1729784,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "6799726d44a7fd492fb284333dac7133902e405b760bf9dfe38998f995eb7117",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-05-17T10:13:46Z"
}
]
}{
"contract_package_hash": "542359cb825bbf2a10017db5cb31b8862df7a64784e39b947678164156050d89",
"deploy_hash": "1a9d50b16af889d2c3bd32e54216150d3bb2e0718d2a6572bb33167d1297460c",
"block_height": 2404577,
"from_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"from_type": 0,
"nft_action_id": 5,
"timestamp": "2021-08-11T07:20:18Z",
"to_hash": "3411d3b4d457af0309f3ee967d18ca53fdff749caa60314aeb47f2ff9f99c1c1",
"to_type": 0,
"token_id": "US-7000001-XTest6",
"token_tracking_id": 5
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/invalid_identifier' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"error": {
"code": "invalid_input",
"message": "AccountHash identifier is not a valid account hash or public key"
}
}GET /accounts/{public_key}/deploysGET /accounts/{account_identifier}/nft-token-ownershipGET /accounts/{public_key}/delegation-rewardsEntity or resource access is forbidden
not_found
NotFoundError
404
Entity not found
duplicate_entity
DuplicateEntityError
409
Entity already exist
ContractPackage entity.
contract
Contract entity.
contract_entrypoint
ContractEntrypoint entity.
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
transfers
[]Transfer
List of Transfer entities.
nft_token_actions
List of NFTTokenAction entities.
ft_token_actions
List of Fungible token action entities.
uint8
Action source hash type: 0 for account, 1 for contract
to_hash
string(64)
Action target account or contract hash, represented as a hexadecimal string
to_type
uint8
Action target hash type: 0 for account, 1 for contract
nft_action_id
uint8
NFT action type type identifier
token_id
string
Token ID presented on the network
timestamp
uint16
The timestamp of performed token action
Action target public key if it's an account
to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
account_hash
string(64)
Account hash represented as a hexadecimal string
name
string
Account name
url
string
Website URL associated with the account
avatar_url
string
Account avatar URL
account_hash
Account info is related to an account
cspr_name
string
Owner account CSPR.name
tokens_number
Sort NFT token ownership by tokens number
contract_package
Fungible contract package
owner_public_key
string(68)
Owner public key if it's an account
account_info
Owner account info
centralized_account_info
Owner centralized account info
{
"data": true
}era_id
Sort validator rewards by era identifier
rate
float32
The rate that was relevant at the moment when the last block was proposed. To get more details see Including CSPR rates .
account_info
Account info provided by the account owner
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
Primary CSPR.name of the account
order_by
string
Sorting property the results should be sorted by
order_direction
string
Order direction: ASC or DESC
The defaults are different for different endpoints and are provided in the corresponding endpoint documentation.
Get blocks sorted by height from lowest to highest:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/blocks?order_by=block_height&order_direction=ASC' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"account_hash": "02faaa3d8155039a88589d531f8107335476589c2e920980a6981f905671e20d",
"avatar_url": "https://casper-assets.s3.amazonaws.com/accounts/casper-association.png",
"name": "Casper Association - Developer grants",
"url": null
}
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/1de39471ba0a9e8fa627a27fb01f261dc73ca8f8942c01982c03c4c73a193893/nft-token-ownership' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "00530561446e9ca68b04b2bfbb3fc9cfad9e444340c954b970fbd524ff3c25ee",
"owner_hash": "1de39471ba0a9e8fa627a27fb01f261dc73ca8f8942c01982c03c4c73a193893",
"owner_type": 0,
"tokens_number": 1
},
{
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"owner_hash": "1de39471ba0a9e8fa627a27fb01f261dc73ca8f8942c01982c03c4c73a193893",
"owner_type": 0,
"tokens_number": 1
}
]
}curl -X 'POST' \
'https://api.testnet.cspr.cloud/awaiting-deploys' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
-d '{
"hash": "aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9",
"header": {
"ttl": "30m",
"account": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"body_hash": "3d5b08d531e9bd979d20f40b8ba74fc47ae5d209a42f64a345220661e5000254",
"gas_price": 1,
"timestamp": "2024-02-08T09:13:35.291Z",
"chain_name": "casper-test",
"dependencies": []
},
"payment": {
"ModuleBytes": {
"args": [
[
"amount",
{
"bytes": "0400f90295",
"parsed": "2500000000",
"cl_type": "U512"
}
]
],
"module_bytes": ""
}
},
"session": {
"StoredContractByHash": {
"args": [
[
"validator",
{
"bytes": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"parsed": "010e5669b070545e2b32bc66363b9d3d4390fca56bf52a05f1411b7fa18ca311c7",
"cl_type": "PublicKey"
}
],
[
"amount",
{
"bytes": "050006e78aa5",
"parsed": "711000000000",
"cl_type": "U512"
}
],
[
"delegator",
{
"bytes": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"parsed": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"cl_type": "PublicKey"
}
]
],
"hash": "93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2",
"entry_point": "undelegate"
}
},
"approvals": [
{
"signer": "0176197d7191ce519ed043221956a2227921abf30364d4362970229027ec828f04",
"signature": "013815f5f7ca37cb16ffd1277afdc11e3bc765a072d839e9ebf1bf3798f3671c1cf77cb1d6c8367b6ab11a014829e4d03c4950721705fc0eec3f9e91fb9a8d180d"
}
]
}'curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02/delegation-rewards' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 236971,
"page_count": 23698,
"data": [
{
"amount": "159823316933",
"era_id": 11955,
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"timestamp": "2024-01-04T15:22:55Z",
"validator_public_key": "01075ec8809c691a1d1b0250ba9ea75da5460e3df43c3172771c6975c989457159"
},
{
"amount": "79953616939",
"era_id": 11955,
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"timestamp": "2024-01-04T15:22:55Z",
"validator_public_key": "0106618e1493f73ee0bc67ffbad4ba4e3863b995d61786d9b9a68ec7676f697981"
},
...
{
"amount": "8575383",
"era_id": 11955,
"public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
"timestamp": "2024-01-04T15:22:55Z",
"validator_public_key": "01014adf59e29558cfee1a6bcf0dd64701b0ea2c778bd4c00e3383085b88d6342c"
}
]
}{
"data": [
{
"block_height": 0,
"block_hash": "975ea4de188c2a67946188cea0ec8a93d2d38286d7642526d50c45839a291210",
"parent_block_hash": "0000000000000000000000000000000000000000000000000000000000000000",
"state_root_hash": "e88b7c061760134ba37ad312c1e2d6373121748e9c61bcea19cc57510829addf",
"era_id": 0,
"proposer_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2021-04-08T17:00:57Z"
},
{
"block_height": 1,
"block_hash": "f8ebb3a81c9c70faeaec896c94e7e56c75a5e1548e1b8dfe639c1b31610e5d22",
"parent_block_hash": "975ea4de188c2a67946188cea0ec8a93d2d38286d7642526d50c45839a291210",
"state_root_hash": "e88b7c061760134ba37ad312c1e2d6373121748e9c61bcea19cc57510829addf",
"era_id": 0,
"proposer_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2021-04-08T17:02:02Z"
},
...
{
"block_height": 9,
"block_hash": "590f7b20a276ef7a2a2fba6871ad781a56fad16daa0ee80b4f214f7870652255",
"parent_block_hash": "2e601c65dbfde43948eef998b8ab5c68d9f95b35612eb0245444903ea419c185",
"state_root_hash": "f6985aa0d6dc760fd651f5d86bb3ecb7b9d3b56860b437aa83a0fa489dab9d3b",
"era_id": 0,
"proposer_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e",
"native_transfers_number": 0,
"contract_calls_number": 3,
"is_switch_block": false,
"timestamp": "2021-04-08T17:10:47Z"
}
],
"item_count": 2291305,
"page_count": 229131
}contract
called by deploy.
contract_entrypoint
called by deploy.
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
transfers
[]
List of Transfer entities.
nft_token_actions
[]
List of NFTTokenAction entities.
ft_token_actions
[]
List of Fungible token action entities.
contract_hash
Called contract hash
contract_entrypoint_id
Called entry point ID
from_block_height
From block height range
to_block_height
To block height range
timestamp
Sort deploys by timestamp
account_info
Account info provided by the deploy caller
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
caller_cspr_name
string
Primary CSPR.name of the deploy caller account
contract_package
called by deploy.
Action source hash type: 0 for account, 1 for contract
to_hash
string(64)
Action target account or contract hash, represented as a hexadecimal string
to_type
uint8
Action target hash type: 0 for account, 1 for contract
ft_action_type_id
uint8
type identifier
amount
string
Tokens amount value used during the token action
timestamp
uint16
The timestamp of performed token action
to_account_info
Action source account info if it's an account
from_account_info
Action target account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
deploy_hash
string(64)
Deploy hash in which the token action occurred. First part of token action identifier, represented as a hexadecimal string
block_height
uint64
Height of the block in which the token action occurred.
transform_idx
int
ID of the transform in the deploy execution result containing performed token action in deploy execution. Second part of token action identifier
contract_package_hash
string(64)
Contract package hash of fungible token contract, represented as a hexadecimal string
from_hash
string(64)
Action source account or contract hash, represented as a hexadecimal string
from_type
contract_package
Fungible contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
contract_package_hash
Fungible tokens actions belong to a contract package
from_hash, to_hash
Fungible token actions could have accounts as the action source and target
uint8
Action target public key if it's an account
contract_package_hash
string(64)
Contract package hash represented as a hexadecimal string. Unique contract package identifier
owner_public_key
string(68)
Public key of the owner of the contract package. Represented as a hexadecimal string
name
string
Name of the contract package.
description
string
Description of the contract package.
metadata
ContractPackageMetadata
Metadata associated with the contract package. Details described in the next table.
latest_version_contract_type_id
Metadata Property:
name
string
Name associated with the contract package.
symbol
string
Contract package name pulled from the last version named keys. Contract package symbol pulled from the last version named keys. Applicable only for token contracts.
decimals
uint8
Contract package token decimals pulled from the last version named keys. Applicable only for token contracts.
balances_uref
string(72)
Depending on the endpoint, the following optional property may be included in the ContractPackage entity:
deploys_number
int
Number of deploys in the specified number of the past days. It's a that accepts the number of days as an argument.
The ContractPackage entity has the following relations with other entities:
contract_package_hash
Contracts packages are deployed to the network with a deploy call.
contract_package_hash
Contracts are different versions of the same smart contract included in the contract package
The ContractPackage entity has the following endpoints:
The ContractPackage entity has the following relation endpoints:
Get contract package NFT tokens (applicable only to NFT contract packages)
Get contract package NFT token actions (applicable only to NFT contract package)
Get contract package NFT token ownership (applicable only to NFT contract package)
(applicable only to fungible token contract package)
(applicable only to fungible token contract package)
deploy_hash
Hash of the deploy that deployed the contract to the network
None
contract_package
Contract package, this contract version is a part of
timestamp
Sort contracts by timestamp
Default sorting is timestamp DESC
Most of the REST API endpoints allow optional data to be included in their responses. It could be related entities, derived properties, account info standard data, or CSPR rates at the moment of the entity creation. Please check the endpoint documentation to find out what optional properties could be included in the responses.
Optional data can be included using the includes query param that specifies a comma-separated list of all optional data that should be included. The includes query param options can be one of three forms:
To include a scalar value its name should be specified the includes list.
Similar to scalar values to include an object its name should be specified in the includes list. However, for objects it's possible to specify a subset of fields that should be returned using the object querying syntax, which looks like this:
The request above will return only the name and the branding.logo properties of the account info object
When the included data requires extra parameters, it is included as a function. The function form provides a possibility to specify the needed input. For example, to include the USD to CSPR rate, the USD currency ID 1 should be passed as a parameter to the rate function, like this:
The WriteTransfer transforms that are used to track the native token transfers, contain the recipient account hash. It's possible, however, to include the corresponding public key if it is known to us. To learn more, visit the page.
An entity is called related if its identifier is present among the requested entity's properties. To include a related entity you need to specify its name in the includes query param. In the example below, we include contract package and contract entry point objects in the deploy list data. To learn more, visit the page.
Entities that have the timestamp property can optionally include the CSPR rate at that time in the requested currency, which is passed as an argument to the rate function. In the example below, we include the USD to CSPR rate in the account transfers response. To learn more, visit the page.
The rate property of the first result in the response above holds the CSPR rate from May 16th, 2023, and the second result has the rate from November 11th, 2022.
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c/deploys' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 20,
"page_count": 2,
"data": [
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "2500000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": null
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "bb9b87e33a64af8fda37ceab67609b79500e8d88a2f5364f321fdc2d6ec1f74d"
}
},
"block_hash": "a87896eeafadc85a9adb4ee4dd6bb8bc5d4edf8b1695f2999916324041443b03",
"block_height": 2175890,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "18be0ac6c551e3a80a27847004db4cf9614ac7104b6448c7be6418116c32569b",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-11-03T14:33:27Z"
},
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "5000000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": 1684147006568
},
"target": {
"cl_type": "PublicKey",
"parsed": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c"
}
},
"block_hash": "43ca28afa8ed3ee7ffbe97d3f47556663942e4fa7d8420f49b9f3a5e1eec6a6e",
"block_height": 1724562,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "21945b6f126abc7de1e2d84a7161f101a7c19b22eb256dfa8e8b1d8886652ee6",
"entry_point_id": null,
"error_message": "ApiError::InvalidPurse [12]",
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-05-15T10:36:59Z"
},
...
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "5000000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": 1684318398541
},
"target": {
"cl_type": "PublicKey",
"parsed": "0203286173807276184a856010020a78df0ddf617364936b6e15efb6c1bae2f228bb"
}
},
"block_hash": "f073ab064a7545593d71a8af82021b004be3a23c7ad47c5b27a4287ab894c396",
"block_height": 1729784,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"contract_hash": null,
"contract_package_hash": null,
"cost": "100000000",
"deploy_hash": "6799726d44a7fd492fb284333dac7133902e405b760bf9dfe38998f995eb7117",
"entry_point_id": null,
"error_message": null,
"execution_type_id": 6,
"payment_amount": "100000000",
"status": "processed",
"timestamp": "2023-05-17T10:13:46Z"
}
]
}{
"amount": "37357",
"contract_package_hash": "883238e99639bc7f5f7858398d0df94138c8ad89f76bdef7fac5fdd3df7f033a",
"deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
"block_height": 2404571,
"from_hash": "f41cc7553d271e7ac70899ead4d3584c72ca2e119f2a86fbb4641ca95f3ba9e7",
"from_type": 0,
"ft_action_type_id": 2,
"timestamp": "2023-02-09T19:16:21Z",
"to_hash": "a5a9a804a383f3b0e131c85d471542af2c6d4ec57bab39182ba93dd7bd86f46c",
"to_type": 1,
"transform_idx": 67
}GET /contract-packages/{contract_package_hash}/contractscurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744/contracts' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_hash": "8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732",
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"deploy_hash": "1a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e755",
"contract_type_id": 2,
"timestamp": "2023-01-01T12:00:00Z",
"contract_version": 1,
"is_disabled": false
},
{
"contract_hash": "5e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd261",
"contract_package_hash": "8e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd262",
"deploy_hash": "2e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd263",
"contract_type_id": 4,
"timestamp": "2023-01-02T12:00:00Z",
"contract_version": 2,
"is_disabled": false
},
...
],
"item_count": 100,
"page_count": 10
}GET /blocksuint8
Contract type identifier of the latest contract version
timestamp
datetime
Timestamp indicating when the contract package was created.
icon_url
string
URL pointing to an icon representing the contract package.
website_url
string
URL pointing to the website representing the contract.
Contract package balances dictionary URef pulled from the last version named keys. Applicable only for token contracts.
total_supply_uref
string(72)
Contract package total supply URef pulled from the last version named keys. Applicable only for token contracts.
ownership_mode
uint8
CEP-78 contract ownership mode. Applicable only for CEP-78 contracts.
nft_kind
uint8
CEP-78 contract NFT kind. Applicable only for CEP-78 contracts.
nft_metadata_kind
uint8
CEP-78 contract NFT metadata kind. Applicable only for CEP-78 contracts.
whitelist_mode
uint8
CEP-78 contract whitelist mode. Applicable only for CEP-78 contracts.
holder_mode
uint8
CEP-78 contract holder mode. Applicable only for CEP-78 contracts.
minting_mode
uint8
CEP-78 contract minting mode. Applicable only for CEP-78 contracts.
burn_mode
uint8
CEP-78 contract burn mode. Applicable only for CEP-78 contracts.
identifier_mode
uint8
CEP-78 contract identifier mode. Applicable only for CEP-78 contracts.
metadata_mutability
uint8
CEP-78 contract metadata mutability mode. Applicable only for CEP-78 contracts.
owner_reverse_lookup_mode
uint8
CEP-78 contract owner reverse lookup mode. Applicable only for CEP-78 contracts.
events_mode
uint8
CEP-78 contract events mode. Applicable only for CEP-78 contracts.
block_height
Sort blocks by block height
timestamp
Sort blocks by timestamp
proposer_account_info
Account info provided by the block proposer
proposer_centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
proposer_cspr_name
string
Primary CSPR.name of the block proposer account
includes=account_info{info{owner{name,branding{logo}}}}includes=rate(1)curl -X 'GET' \
'https://api.testnet.cspr.cloud/transfers?includes=to_public_key' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "2500000000",
"deploy_hash": "0000015dd8b8065e31af7785cd174fa10bebf380f39515ffc3a8a536aee819a0",
"from_purse": "uref-b8b87efb3d0f6d6f5f4b3bed8a9b017acfcb7ecaf555ec42d852864622e71c9b-007",
"id": 0,
"initiator_account_hash": "42204997767147bb78f0045b50272cdfbf90bd10544f9e51d66e0560166de456",
"timestamp": "2021-10-12T06:20:59Z",
"to_account_hash": "a8ae349a49ede9df992637e4c9141b5075352b4d607711bd1cf30a76403406c6",
"to_public_key": "01da93a224201b9936f535502643fe07a922b2010993cdad093acb0112d810c1a8",
"to_purse": "uref-6626e023ab7ab4837be36a9e61dffcfe239d987039727c9f56408527e48d3968-004",
"transform_key": "c3fca49f9193ec730e9170a02360d0a96d9f3c07c9b898b6c6494d67b417d886"
},
{
"amount": "2500000000",
"deploy_hash": "00000498bf7c3994f804a4f8a99378350e02ebf5633774ced4faa2ae6dad88a3",
"from_purse": "uref-6626e023ab7ab4837be36a9e61dffcfe239d987039727c9f56408527e48d3968-007",
"id": 0,
"initiator_account_hash": "a8ae349a49ede9df992637e4c9141b5075352b4d607711bd1cf30a76403406c6",
"timestamp": "2021-10-13T12:26:47Z",
"to_account_hash": "42204997767147bb78f0045b50272cdfbf90bd10544f9e51d66e0560166de456",
"to_public_key": "01c978cd9eb96143ed89f0523c07787207ff4eb84756197a6a1d9093bcd51da4ed",
"to_purse": "uref-b8b87efb3d0f6d6f5f4b3bed8a9b017acfcb7ecaf555ec42d852864622e71c9b-004",
"transform_key": "7fd3d2892dc61f43269a55aaeec21158c283717549caf7a820e9cfa966e6df1d"
},
...
{
"amount": "1000000000000",
"deploy_hash": "000026eeab921c16335f65f54ea050efca9cf352840a1025f87b4deaa3bbdd95",
"from_purse": "uref-b06a1ab0cfb52b5d4f9a08b68a5dbe78e999de0b0484c03e64f5c03897cf637b-007",
"id": null,
"initiator_account_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"timestamp": "2021-10-20T23:59:25Z",
"to_account_hash": "1b43092d00330439d874c1e4b38bf68b6c9a043aacf72da350e65e46d13e0c51",
"to_public_key": "01ec83a2a60742294ab33aa86b6cd6c71662d1f37e9a270edc1e768e1a7deaa5c7",
"to_purse": "uref-f4d64726bf61c2b1f53ce9b137a64a063e8225a98f1cb6ed1a9966ccf983b480-004",
"transform_key": "f4d64726bf61c2b1f53ce9b137a64a063e8225a98f1cb6ed1a9966ccf983b480"
}
],
"item_count": 5297116,
"page_count": 529712
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploys?includes=contract_package,contract_entrypoint \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"item_count": 6664918,
"page_count": 666492,
"data": [
{
"args": {
"amount": {
"cl_type": "U512",
"parsed": "100000000000"
},
"post_id": {
"cl_type": "U64",
"parsed": 1
},
"source_purse": {
"cl_type": "URef",
"parsed": "uref-dbee6bd5057140ef79760ff97ee225f219c095a6b520e9fdb1083005b3e91adf-007"
}
},
"block_hash": "2f535ee1f7a841bf33fb3af6c841ee5ac81b331e4f033e2700829800d406cd6a",
"caller_public_key": "019d71f9869046408292ec32e78e613ac5f7b320fd268cd8c0ae3c95dc5d6dca62",
"contract_entrypoint": {
"action_type_id": null,
"contract_hash": "8069372ccd59c538d93404313182f8c47579b5aa4fe23060ae2f6ef83a4aa7c0",
"contract_package_hash": "b67106c2381b719a2e310e0598847d75ac37381471e318ae112a85e79b96e9ad",
"id": 1685659,
"name": "bid"
},
"contract_hash": "8069372ccd59c538d93404313182f8c47579b5aa4fe23060ae2f6ef83a4aa7c0",
"contract_package": {
"contract_package_hash": "b67106c2381b719a2e310e0598847d75ac37381471e318ae112a85e79b96e9ad",
"description": null,
"icon_url": null,
"website_url": null,
"latest_version_contract_type_id": null,
"metadata": {},
"name": null,
"owner_public_key": "01a0c97ba1ba5a973eeee369e9480ea15665278699873876a18eaf09c361f8e9c1",
"timestamp": "2023-12-17T16:32:42Z"
},
"contract_package_hash": "b67106c2381b719a2e310e0598847d75ac37381471e318ae112a85e79b96e9ad",
"cost": "20894638930",
"deploy_hash": "c2a83a2409f65447d8495768a6f99fee7247135680461ed4b3d6d936995c7630",
"entry_point_id": 1685659,
"error_message": null,
"execution_type_id": 2,
"payment_amount": "150000000000",
"status": "processed",
"timestamp": "2023-12-17T17:52:39Z"
},
...
{
"args": {
"token_owner": {
"cl_type": "Key",
"parsed": {
"Account": "account-hash-2142a81faac0670b76ef0e1be2925ddb9cd7493cc99b2fa591161b82c808a7e3"
}
}
},
"block_hash": "0daaee30d1a87b4323221e43d08ce4365ab88681f47b18cc247336fa6773d731",
"caller_public_key": "014d657f276686b711251f32fb9fa36c0852aaab43f4f6bb6cbc7794d4d54cf67e",
"contract_entrypoint": {
"action_type_id": null,
"contract_hash": "f07497ba5e71e52643e620d4722419c22870638ee3f5412c9cbc204c00b3b0b0",
"contract_package_hash": "7c7a462c55ed3f3631a933e46315a072adaa38105a4160df3a00823495f53e41",
"id": 1685652,
"name": "register_owner"
},
"contract_hash": "f07497ba5e71e52643e620d4722419c22870638ee3f5412c9cbc204c00b3b0b0",
"contract_package": {
"contract_package_hash": "7c7a462c55ed3f3631a933e46315a072adaa38105a4160df3a00823495f53e41",
"description": null,
"icon_url": null,
"website_url": null,
"latest_version_contract_type_id": 7,
"metadata": {
"burn_mode": 0,
"events_mode": 0,
"holder_mode": 2,
"identifier_mode": 0,
"metadata_mutability": 1,
"minting_mode": 1,
"name": "enhanced-nft-1",
"nft_kind": 1,
"nft_metadata_kind": 0,
"ownership_mode": 2,
"symbol": "ENFT-1",
"total_supply_uref": "uref-bc550f42fe8898a51bc0daae90ce910f4b5a042a306efa8f95032813089ad195-007",
"whitelist_mode": 0
},
"name": "enhanced-nft-1",
"owner_public_key": "01a0c97ba1ba5a973eeee369e9480ea15665278699873876a18eaf09c361f8e9c1",
"timestamp": "2023-12-17T16:29:40Z"
},
"contract_package_hash": "7c7a462c55ed3f3631a933e46315a072adaa38105a4160df3a00823495f53e41",
"cost": "681461970",
"deploy_hash": "be2db151ba267cff9630b54c45b0aeb704d7d512f12670f7995af7cedad27d27",
"entry_point_id": 1685652,
"error_message": null,
"execution_type_id": 2,
"payment_amount": "5000000000",
"status": "processed",
"timestamp": "2023-12-17T17:26:36Z"
}
]
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/8acedb18a06c3b1b0823334f5b6fea53b2f6bc50f792de401b1f561bc214ba1f/transfers?includes=rate(1)' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "10000000000000",
"deploy_hash": "4237b9518b7f0dda69235fedc92badd4e5206cd9b3ad2e9f599fe34416d9e3ab",
"from_purse": "uref-b06a1ab0cfb52b5d4f9a08b68a5dbe78e999de0b0484c03e64f5c03897cf637b-007",
"id": 20230516,
"initiator_account_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"rate": 0.0488488,
"timestamp": "2023-05-16T22:01:16Z",
"to_account_hash": "8acedb18a06c3b1b0823334f5b6fea53b2f6bc50f792de401b1f561bc214ba1f",
"to_purse": "uref-fb2c1f47c593e5f27735c92217d7c99f85516467a1cb446214ae22fc46d8559e-004",
"transform_key": "abf1343e47952a57ab001ec423398a773dfd96f3f32a905daeb6bc47db0db2dc"
},
{
"amount": "1000000000000",
"deploy_hash": "4d14f8f9cd95aabdfdea930aa9472bf966264d25f57986b005810e11d1c05017",
"from_purse": "uref-b06a1ab0cfb52b5d4f9a08b68a5dbe78e999de0b0484c03e64f5c03897cf637b-007",
"id": null,
"initiator_account_hash": "b383c7cc23d18bc1b42406a1b2d29fc8dba86425197b6f553d7fd61375b5e446",
"rate": 0.0295418,
"timestamp": "2022-11-14T13:14:02Z",
"to_account_hash": "8acedb18a06c3b1b0823334f5b6fea53b2f6bc50f792de401b1f561bc214ba1f",
"to_purse": "uref-fb2c1f47c593e5f27735c92217d7c99f85516467a1cb446214ae22fc46d8559e-004",
"transform_key": "b0a27297a03107cd66c270d9bc7b33086f3ceb9c2e8c4058e72a4285c73273bd"
}
],
"item_count": 2,
"page_count": 1
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/blocks' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
{
"data": [
{
"block_height": 2293939,
"block_hash": "bd1601111651cd2668b92235f6f1f1c55cf7becd0e89712fd4d78b5f4b47e203",
"parent_block_hash": "decfdc241b04e38b9aa37aaad40f46d67c34e311fd4aa84c7af4544ca6674130",
"state_root_hash": "89e786fd598f9f2f84955daaacc1573a1414fdf8dfa8c93e116ff70402c0bbfb",
"era_id": 11750,
"proposer_public_key": "020377bc3ad54b5505971e001044ea822a3f6f307f8dc93fa45a05b7463c0a053bed",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T13:34:55Z"
},
{
"block_height": 2293938,
"block_hash": "decfdc241b04e38b9aa37aaad40f46d67c34e311fd4aa84c7af4544ca6674130",
"parent_block_hash": "64d65dc99dc327105db9137c76c49c840efc950a6bb58e88779177b08481e8c1",
"state_root_hash": "89e786fd598f9f2f84955daaacc1573a1414fdf8dfa8c93e116ff70402c0bbfb",
"era_id": 11750,
"proposer_public_key": "01f340df2c32f25391e8f7924a99e93cab3a6f230ff7af1cacbfc070772cbebd94",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T13:34:22Z"
},
...
{
"block_height": 2293930,
"block_hash": "865b9b0a2bd58eee789a4dfbd48d0139b6b6b62d1e61862d8669acab7508b883",
"parent_block_hash": "1b50cacc006c50b79c2b097c41ae9bb8c919ebbf709433c05d7cac78fb0196a5",
"state_root_hash": "f842549d60720f646b5b6b3f27d74745f2a35da8d5444e32eb35ef585322cd25",
"era_id": 11750,
"proposer_public_key": "01c9d4ecac1606970fa3c8fa8079aa1c04fd5371d55adf96fc6d3952fc27e8bc04",
"native_transfers_number": 0,
"contract_calls_number": 0,
"is_switch_block": false,
"timestamp": "2023-12-18T13:30:00Z"
}
],
"item_count": 2293940,
"page_count": 229394
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/account-info/fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": {
"account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
"url": "http://makestake.io",
"is_active": true,
"info": {
"nodes": [
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca",
"description": "MAKE's first Casper Testnet validator",
"functionality": [
"validator"
]
},
{
"location": {
"name": "Ashburn, VA",
"country": "US",
"latitude": 39.04372,
"longitude": -77.48749
},
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e",
"description": "MAKE's second Casper Testnet validator",
"functionality": [
"validator"
]
}
],
"owner": {
"name": "MAKE",
"type": [
"validator",
"corporation"
],
"email": "[email protected]",
"social": {
"github": "make-software",
"medium": "",
"reddit": "",
"wechat": "",
"keybase": "",
"twitter": "@WeAreTeamMAKE",
"youtube": "",
"facebook": "",
"telegram": ""
},
"website": "https://makestake.io",
"branding": {
"logo": {
"svg": "https://make.services/logo.svg",
"png_256": "https://make.services/logo256.png",
"png_1024": "https://make.services/logo1024.png"
}
},
"identity": {
"other": null,
"ownership_disclosure_url": "https://makestake.io/ownership-disclosure",
"casper_association_kyc_url": "",
"casper_association_kyc_onchain": ""
},
"location": {
"name": "Cheyenne, WY",
"country": "US",
"latitude": 41.14,
"longitude": -104.820274
},
"resources": {
"other": [],
"privacy_policy_url": "https://makestake.io/privacy",
"code_of_conduct_url": "",
"terms_of_service_url": "https://makestake.io/tos"
},
"description": "MAKE is the leading technology provider for the Casper Network and creator of the CSPR Product Suite",
"affiliated_accounts": [
{
"public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e"
},
{
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
},
{
"public_key": "0202859e04bab609744b291b54ef97b55cb3120c940cd620977f8d2687ca5bd0168c"
},
{
"public_key": "01fc3b35c25fdce6fc6127fc5da32a828d51eaacab816e80611f23f4cf063bc319"
}
]
}
},
"deploy_hash": "5a9b3853d596243fd1b8f0a107ec7c7042ab226e628c7e742c455deab15e9719",
"verified_account_hashes": [
"21EAEA584903E79365BCB1F7607179CC118807033C8919CFF7489A91C3A822D1",
"D3CCFD0DAF03E656CB4E86158E5F54BE686D9FAA91CAE3ED9310E167E65592E5",
"FA12D2DD5547714F8C2754D418AA8C9D59DC88780350CB4254D622E2D4EF7E69"
],
"created": "2021-09-17T20:24:35Z",
"updated": "2023-09-12T00:00:01Z"
}
}contract_package_hash
string(64)
NFT contract package hash represented as a hexadecimal string. First of of token identifier
block_height
uint64
Height of the block in which the token was minted.
token_id
string
Token ID under the contract. Second part of token identifier
token_standard_id
uint8
identifier
owner_hash
string(64)
NFT token owner account or contract hash, represented as a hexadecimal string
owner_type
Example
Depending on the endpoint some of the following optional properties may be included in the NFTToken entity:
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
owner_cspr_name
string
Primary CSPR.name of the owner account
contract_package_hash
NFT tokens belong to a contract package
from_hash, to_hash
NFT token could have accounts as the token owner
tracking_id
NFT token actions are mapped by contract package hash and token id
The NFTToken entity has the following endpoints:
The NFTToken entity has the following relation endpoints:
None
account_info
provided by the bidder
average_performance
Moving average of validator performance based on the received rewards over the past 360 eras (approximately one month)
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
cspr_name
string
era_id
Active auction era identifier. Data for older eras aren't persistent for long, and will eventually become unavailable. This is a required parameter
{
"contract_package_hash": "04682e17e5a86d594d9fd2bf37c766834bbaa412499bd6b5ac4ce76449708797",
"block_height": 2404577,
"is_burned": false,
"offchain_metadata": {
"attributes": [
{
"trait_type": "BG",
"value": "Bg-1"
},
{
"trait_type": "BG lines",
"value": "Bg-Line-21"
},
{
"trait_type": "Strpse",
"value": "Card-stripse-01"
}
],
"description": "The first Tornado Master NFT minted by GuardianLink using Casper to announce the partnership with Casper.",
"image": "https://arweave.net/H5RHizXPJez8zNMC07RVZxCApW42nSfF7FQk4jwyLHs",
"name": "Tornado Master #0"
},
"offchain_metadata_status": 2,
"onchain_metadata": {
"name": "Tornado-Demo",
"symbol": "TD",
"token_uri": "https://yslkpbmdp345dabuwtvg65sqgd62lnpk2bp6mwha5hsrqxocw24q.arweave.net/xJanhYN--dGANLTqb3ZQMP2lterQX-ZY4OnlGF3Ctrk"
},
"owner_hash": "f41b57283a23958405373e8fbd9195ddbe71e8ea98fb2f4397ab09b2f63198af",
"owner_type": 0,
"timestamp": "2023-11-22T12:22:21Z",
"token_id": "0",
"token_standard_id": 2,
"tracking_id": 258547
}GET /bidders/{public_key}?era_id={era_id}curl -X 'GET' \
'https://api.testnet.cspr.cloud/bidders/0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca?era_id=12100' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
{
"data": {
"delegators_number": 326,
"delegators_stake": 515236483487045440,
"era_id": 12136,
"fee": 15,
"is_active": true,
"network_share": "6.03",
"public_key": "018f84c6fc037284f189cc8cb49f89212ff434a5eb050e48cdd164ff3890fbff69",
"rank": 1,
"self_share": "0.31",
"self_stake": 1588933419545728,
"total_stake": 516825416906591170
}
}GET /accounts/{account_identifier}/ft-token-actionsuint8
NFT owner type. 0 for account, 1 for contract
onchain_metadata
JSON
On-chain NFT metadata
offchain_metadata
JSON
Off-chain NFT metadata
offchain_metadata_status
uint8
NFT token offchain metadata status identifier
is_burned
bool
true if the token was burn
tracking_id
uint32
Unique ID describes relation with corresponded NFTTokenAction.
timestamp
uint16
The timestamp of token creation
Primary CSPR.name of the account
to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
from_cspr_name
string
Primary CSPR.name of the action source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
to_block_height
To block height range
deploy_hash
Comma-separated list of deploy hashes
timestamp
Sort fungible token actions by timestamp
contract_package
Fungible contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
Action target public key if it's an account
deploy_hash
string(64)
Deploy hash represented as a hexadecimal string. Primary deploy identifier.
block_hash
string(64)
Hash of the block containing the deploy represented as a hexadecimal string.
block_height
uint64
Height of the block containing the deploy.
caller_public_key
string(68)
Public key of the deploy caller account represented as a hexademical string.
execution_type_id
uint8
unique identifier.
contract_package_hash
Example
Depending on the endpoint some of the following optional properties may be included in the Deploy entity:
account_info
provided by the deploy caller account
centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
caller_cspr_name
string
Primary CSPR.name of the deploy caller account
contract_package
The Deploy entity has the following relations with other entities:
caller_public_key
Deploys are called by accounts.
block_hash
Deploys are executed in blocks.
contract_hash
Deploys can call contracts, and contracts are deployed with deploys.
entry_point
The Deploy entity has the following endpoints:
CSPR.cloud REST API provides the possibility to include related entities in responses. An entity is called related if its identifier is present among the requested entity's properties. For example, the Deploy entity is related to the NFT Action entity because the latter has a deploy_hash property identifying the deploy that produced the action. Not all related entities can be included in responses; the ones that can are listed in the "Optional properties" section for the corresponding entity or endpoint page.
Related entities are included the same as other optional properties, using the includes query param. For the related entity to be added to the response, its name has to be specified in the list of includes.
Including related entities makes it possible to fetch the required data in one request, simplifying the integration and reducing latency, which is especially useful when processing paginated responses. Continuing the NFT Action and Deploy example, one may need to know the deploy caller account when processing the NFT Action data. By including the Deploy object in the NFT Action response, all the required information can be received in just one API call instead of requesting the deploy data for each NFT action in the list:
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/B6C26649540C59DECBC53274A67336D0588F6AD2AE0863A8A636DDDCC75689F0/ft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "24928248069",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
"block_height": 1475677,
"from_hash": null,
"from_type": 1,
"ft_action_type_id": 1,
"timestamp": "2023-02-09T19:16:21Z",
"to_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"to_type": 1,
"transform_idx": 92
},
{
"amount": "24928248069",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
"block_height": 1475677,
"from_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"from_type": 1,
"ft_action_type_id": 2,
"timestamp": "2023-02-09T19:16:21Z",
"to_hash": "a5a9a804a383f3b0e131c85d471542af2c6d4ec57bab39182ba93dd7bd86f46c",
"to_type": 1,
"transform_idx": 104
},
...
{
"amount": "22894649700",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "00194e8c2076ae84447a8ccabf39ad1eb1a090ab4e592989fd497961fb0b7293",
"block_height": 1461592,
"from_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"from_type": 1,
"ft_action_type_id": 4,
"timestamp": "2023-02-04T10:52:19Z",
"to_hash": null,
"to_type": 1,
"transform_idx": 147
}
],
"item_count": 97704,
"page_count": 9771
}{
"deploy_hash": "88461218a5e972fcda1d764d7cc4edb2e0c3a538123b97890d484f43c55935f5",
"block_hash": "d76b4ce5281f2306911a0e5e9ac0b29f1f4daf36f4636e78599ce64a7f7528a1",
"block_height": 2404577,
"caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
"execution_type_id": 6,
"contract_package_hash": null,
"contract_hash": null,
"entry_point_id": null,
"args": {
"amount": {
"cl_type": "U512",
"parsed": "2500000000"
},
"id": {
"cl_type": {
"Option": "U64"
},
"parsed": null
},
"target": {
"cl_type": {
"ByteArray": 32
},
"parsed": "536345751b7c6c6299d5ef10862d76736ed062bc32c1dabcd1179c06469d93ca"
}
},
"payment_amount": "100000000",
"cost": "100000000",
"error_message": null,
"status": "processed",
"timestamp": "2024-01-08T15:24:47Z"
}GET /ft-token-actionsstring(64)
Hash of the contract package called by the deploy represented as a hexadecimal string. null if the deploy had no contract call.
contract_hash
string(64)
Hash of the contract called by the deploy represented as a hexadecimal string. null if the deploy had no contract call.
entry_point_id
uint32
Identifier of the ContractEntrypoint called by deploy. null if the deploy had no contract call.
args
JSON
Deploy sessions arguments provided for contract execution.
payment_amount
string
Payment amount provided by the caller in motes. The type is string to avoid overflow in languages that don't support uint64, which is the correct type. null if a custom payment contract was provided to the deploy instead of the value in motes.
cost
string
Deploy execution cost. The type is string to avoid overflow in languages that don't support uint64, which is the correct type.
error_message
string(128)
Error message in case of a failed deploy. null for successful. deploys.
status
string
Deploy status (pending, expired, or processed).
timestamp
string
Deploy creation timestamp in the ISO 8601 format.
ContractPackage called by deploy.
contract
Contract called by deploy.
contract_entrypoint
ContractEntrypoint called by deploy.
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
Deploys can call entry points.
contract_package_hash
Deploys can call contracts in contract packages.
execution_type_id
Deploys call contracts via different execution types.
deploy_hash
Fungible token actions are result of deploy execution.
NFTs are created as result of deploy execution. There is no direct mapping, but rather a semantic relationship between deploys and nft tokens.
deploy_hash
NFT actions are result of deploy execution.
deploy_hash
Transfers are result of deploy execution.
curl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-packages/998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821/nft-tokens/2/actions?includes=deploy' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"deploy": {
"args": {
"recipient": {
"cl_type": "Key",
"parsed": {
"Account": "account-hash-989ca079a5e446071866331468ab949483162588d57ec13ba6bb051f1e15f8b7"
}
},
"token_ids": {
"cl_type": {
"List": "U256"
},
"parsed": [
"2"
]
}
},
"block_hash": "6dd2def46e2417f05dbbb3b8429099f20f89f7fb4b32d4e61fd5d79959ba35f8",
"caller_public_key": "013eecc2f0fbcad01a35fca7ad0bf191a8cf1eb8d6b13ea63cb92a31e6c767c0bc",
"contract_hash": "ff2f649f127c033d744f80e7c3bcf0561c716d8f6d1dadc0cd79d8b2d309c020",
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"cost": "801777450",
"deploy_hash": "7ffa747cf92deace24a8f81f62ed01694271940ac16e20c419a56f47f680f0a5",
"entry_point_id": 96622,
"error_message": null,
"execution_type_id": 4,
"payment_amount": "1000000000",
"status": "processed",
"timestamp": "2022-10-28T13:40:14Z"
},
"deploy_hash": "7ffa747cf92deace24a8f81f62ed01694271940ac16e20c419a56f47f680f0a5",
"from_hash": "c1e4f35cf36553d9acca0fa02be97537f333c18783373e34d6932eb649584a8c",
"from_type": 0,
"nft_action_id": 4,
"timestamp": "2022-10-28T13:40:14Z",
"to_hash": "989ca079a5e446071866331468ab949483162588d57ec13ba6bb051f1e15f8b7",
"to_type": 0,
"token_id": "2",
"token_tracking_id": 20709
},
{
"contract_package_hash": "998af6825d77da15485baf4bb89aeef3f1dfb4a78841d149574b0be694ce4821",
"deploy": {
"args": {
"token_meta_data": {
"cl_type": "String",
"parsed": "{\"token_uri\":\"ipfs://\"}"
},
"token_owner": {
"cl_type": "Key",
"parsed": {
"Account": "account-hash-d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269"
}
}
},
"block_hash": "928a4518bd001cc4ba07a6405e2a2053c157a8a16f0df08668a8aa4d12b7ddbf",
"caller_public_key": "016d9e3db0a800aef8d18975b469c77bef042ee909d24cb83d27df97a22bb6d8ad",
"contract_hash": "4a2c7bda207ddf20487c13bd882a0773e1047c0544024bfae4a40e8769a8f452",
"contract_package_hash": "e2e9be86fb0bef6f2df08c0e3b49cc66ce458a40e496e115f6dc984011177d16",
"cost": "6398252230",
"deploy_hash": "af1d08519310188c9746f090d7a0d999da13b58d64680086277bdecebfd29628",
"entry_point_id": 117617,
"error_message": null,
"execution_type_id": 2,
"payment_amount": "10381644690",
"status": "processed",
"timestamp": "2023-01-01T09:40:04Z"
},
"deploy_hash": "af1d08519310188c9746f090d7a0d999da13b58d64680086277bdecebfd29628",
"from_hash": null,
"from_type": null,
"nft_action_id": 1,
"timestamp": "2023-01-01T09:40:04Z",
"to_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269",
"to_type": 0,
"token_id": "2",
"token_tracking_id": 20709
}
],
"item_count": 2,
"page_count": 1
}to_account_info
Action source account info if it's an account
to_centralized_account_info
Action target centralized account info if it's an account
from_account_info
Action target account info if it's an account
from_centralized_account_info
Action target centralized account info if it's an account
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation.
from_cspr_name
string
Primary CSPR.name of the source account, if it is an account
to_cspr_name
string
Primary CSPR.name of the destination account, if it is an account
account_hash
Filter token actions by account hash
from_block_height
From block height range
to_block_height
To block height range
timestamp
Sort fungible token actions by timestamp
contract_package
Fungible contract package
deploy
Deploy in which the token action occurred
from_public_key
string(68)
Action source public key if it's an account
to_public_key
string(68)
Action target public key if it's an account
curl -X 'GET' \
'https://api.testnet.cspr.cloud/accounts/B6C26649540C59DECBC53274A67336D0588F6AD2AE0863A8A636DDDCC75689F0/ft-token-actions' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"amount": "24928248069",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
"block_height": 1475677,
"from_hash": null,
"from_type": 1,
"ft_action_type_id": 1,
"timestamp": "2023-02-09T19:16:21Z",
"to_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"to_type": 1,
"transform_idx": 92
},
{
"amount": "24928248069",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "0005f1e53afa9799a66a389a90caab84ab3cbd000ab7741e55e09f80c75002b6",
"block_height": 1475677,
"from_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"from_type": 1,
"ft_action_type_id": 2,
"timestamp": "2023-02-09T19:16:21Z",
"to_hash": "a5a9a804a383f3b0e131c85d471542af2c6d4ec57bab39182ba93dd7bd86f46c",
"to_type": 1,
"transform_idx": 104
},
...
{
"amount": "22894649700",
"contract_package_hash": "0885c63f5f25ec5b6f3b57338fae5849aea5f1a2c96fc61411f2bfc5e432de5a",
"deploy_hash": "00194e8c2076ae84447a8ccabf39ad1eb1a090ab4e592989fd497961fb0b7293",
"block_height": 1461592,
"from_hash": "b6c26649540c59decbc53274a67336d0588f6ad2ae0863a8a636dddcc75689f0",
"from_type": 1,
"ft_action_type_id": 4,
"timestamp": "2023-02-04T10:52:19Z",
"to_hash": null,
"to_type": 1,
"transform_idx": 147
}
],
"item_count": 97704,
"page_count": 9771
}