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"
}
}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
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 .
Accounts on Casper Mainnet and Testnet networks have the possibility to self-identify themselves in a decentralized with the 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 , we'll request only the owner name and logo properties of the account info object.
CPSR.cloud provides granular access to the auction data, which is more convenient than parsing the results of the Casper RPC API method, through the following APIs:
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' -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
}For example, fetching account delegations can be done with the following API request:
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
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'account_hash
[]string
Comma-separated list of account hashes
account_hash
Comma-separated list of account hashes
None
{
"data": 3448524944825704
}{
"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": [
{
"id": 1,
"name": "CEP47"
},
{
"id": 2,
"name": "CEP78"
}
]
}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
}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.
None
contract_package
Contract package, this contract version is a part of
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.
The ContractEntryPoint entity offers a normalized representation of the Casper Network . Entry points are associated with the 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:
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.
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 /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
}
}curl -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
}Entity or resource access is forbidden
not_found
NotFoundError
404
Entity not found
duplicate_entity
DuplicateEntityError
409
Entity already exist
curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts/93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2/entry-points' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'contract_package
Fungible contract package
account_info
Owner account info
centralized_account_info
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'{
"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
}
}
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"
}'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/rates/1/amount' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.testnet.cspr.cloud/currencies' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'curl -X 'GET' \
'https://api.cspr.cloud/supply' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'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/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
}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 CSPR rate page.
In the example below, we include the USD to CSPR rate in the account delegation rewards response by calling the rate function with the USD currency ID as the argument in the includes query param:
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"
}
]
}None
Status [boolean]
HTTP Status Created (201)
POST /awaiting-deploys{
"data": true
}None
None
List of value objects describing the available contract types
GET /contract-typescurl -X 'GET' \
'https://api.testnet.cspr.cloud/contract-types' \
-H 'Accept: application/json' \
-H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'None
None
GET /nft-token-offchain-metadata-statuses{
"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"
}
],
"item_count": 1,
"page_count": 1
}{
"data": 184403853254
}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
}
}curl -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'{
"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
}
}{
"data": true
}{
"data": [
{
"id": 1,
"name": "MintOne"
},
{
"id": 2,
"name": "BurnOne"
},
{
"id": 3,
"name": "ApproveToken"
},
{
"id": 4,
"name": "TransferToken"
},
{
"id": 5,
"name": "MetadataUpdate"
}
]
}{
"data": {
"currency_id": 1,
"amount": 0.051704,
"created": "2024-01-05T14:23:00Z"
}
}{
"data": [
{
"id": 1,
"code": "USD",
"type_id": 1
},
{
"id": 2,
"code": "EUR",
"type_id": 1
},
...
{
"id": 10,
"code": "ETH",
"type_id": 2
}
]
}{
"data": {
"token": "CSPR",
"total": 12433143708,
"circulating": 11844899197,
"timestamp": "2024-03-07T11:05:22.41579543Z"
}
}{
"data": {
"current_era_id": 12137,
"active_validator_number": 100,
"total_bids_number": 256,
"active_bids_number": 110,
"total_active_era_stake": "17143148308665709822"
}
}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
}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"
}
]
}'{
"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"
}
]
}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"
}
]
}block_height
Sort blocks by block height
timestamp
Sort blocks by timestamp
Default sorting is block_height DESC
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
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.
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
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 CSPR.cloud.
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.
Lazy 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.
Adhering to these strategies will help you efficiently manage your API usage within the CSPR.cloud environment.
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
Example
None
The ContractEntryPoint entity has the following relations with other entities:
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.
The ContractEntryPoint entity has the following endpoints:
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
Example
None
The CentralizedAccountInfo entity has the following relations with other entities:
account_hash
Account info is related to an account
The CentralizedAccountInfo entity has the following endpoints:
None
None
Default sorting is timestamp DESC
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
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
The Block entity provides a normalized representation of the Casper Network block. It doesn't contain the executed deploy hashes as the network block object. However, they could be queried separately using the Deploy API.
The Block entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the Block entity:
The Block entity has the following endpoints:
The Block entity has the following relation endpoints:
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.
None
Default sorting is timestamp DESC
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
The Supply entity holds information about total and circulating supply of the Mainnet CSPR token. The circulating supply is calculated according to the approach described on the Casper website.
The Supply entity has the following properties:
Example
None
None
The Supply entity has the following endpoints:
None
Get a contract package by its identifier (contract package hash).
GET /contract-packages/{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
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.
Filter NFT tokens by owner and contract package:
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:
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 or , CSPR.cloud is also prepared to assist dApps developers with observing the on-chain activity with its .
To demonstrate it in action, let's create an NFT contract using the Testnet version of and observe its activity on the network. Navigate to the 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 :
Knowing the contract hash, we can subscribe to the contract-level events emitted by our newly created contract using the
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 compatible tokens and providing APIs to query that data. CSPR.cloud provides a possibility to:
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:
GET /validators/{public_key}/blockscurl -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
}{
"contract_hash": "a0a1d2d3d4d5d6d7d8d9e0e1e2e3e4e5e6e7e8e9f0f1f2f3f4f5f6f7f8f9a0a1",
"contract_package_hash": "b0b1b2b3b4b5b6b7b8b9c0c1c2c3c4c5c6c7c8c9d0d1d2d3d4d5d6d7d8d9e0e1",
"name": "transfer"
}{
"data": {
"account_hash": "02faaa3d8155039a88589d531f8107335476589c2e920980a6981f905671e20d",
"avatar_url": "https://casper-assets.s3.amazonaws.com/accounts/casper-association.png",
"name": "Casper Association - Developer grants",
"url": null
}
}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 /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 /accountsGET /contract-packages/{contract_package_hash}/contractsGET /accounts/{account_identifier}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! 🎉
100
100
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
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
proposer_account_info
Account info provided by the proposer account
proposer_centralized_account_info
Account information available for known accounts provided by CSPR.cloud team
block_hash
Blocks can have deploys
proposer_public_key
Blocks are proposed by validators
string(68)
deploy_hash
Hash of the deploy that deployed the contract to the network
contract_package
Contract package, this contract version is a part of
timestamp
Sort contracts by timestamp
curl -X 'GET' \
'https://api.testnet.cspr.cloud/awaiting-deploys/aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'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
token
string(64)
Token represented by the supply data. At this point, the value is always CSPR
total
uint64
Total available supply of the token
circulating
uint64
Circulating supply of the token calculated according to the approach described on the Casper website
timestamp
datetime
The latest timestamp when the supply value was updated
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
curl -X 'GET' \
'https://api.testnet.cspr.cloud/deploy-execution-types' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'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'Now, let's go back to CSPR.studio 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.


Below is an example, that demonstrated fetching list of tokens owned by an account. Note, that we are including optional data about the contract package using the includes query parameter.
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'page
int
1
Page number
page_size
int
10
Number of items per page
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:
item_count
int
Total number of items
page_count
int
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 rate limits. 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.
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
owner_public_key
string(68)
Owner public key if it's an account
from_block_height
From block height range
to_block_height
{
"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"
}curl -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
}{
"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"
}
]
}
}{
"data": {
"current_era_id": 12137,
"active_validator_number": 100,
"total_bids_number": 256,
"active_bids_number": 110,
"total_active_era_stake": "17143148308665709822"
}
}{
"data": {
"token": "CSPR",
"total": 12433143708,
"circulating": 11844899197,
"timestamp": "2024-03-07T11:05:22.41579543Z"
}
}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",
"deploys_number": 42
}
}{
"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": [
{
"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
}curl -X 'GET' \
'https://api.testnet.cspr.cloud/contracts?deploy_hash=149710648b6295b426fa31bb4b79b65374edd3e9ccd242b7d1bf6a7abb308f47' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"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
}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"
}"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
}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
}GET /contract-packages/{contract_package_hash}/nft-tokenscurl -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
}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
balance
Sort accounts by the main purse balance
total_balance
Sort accounts by the total account balance, including the delegated funds
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
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
Please register on CSPR.build console to create a CSPR.cloud access token.
To fetch the NFT tokens in the CSPR.studio contract we'll be using the NFT API. The endpoint requires a contract package hash, which we can find on CSPR.live:
Please proceed with the following documents to get familiar with CSPR.cloud:
Overview Learn about the general technical aspects of CSPR.cloud API, and how it works
Highlights Learn about CSPR.cloud API possibilities, which aren't present in the Casper Node RPC API
REST API Get familiar with the REST API reference to know what endpoints are available
Get familiar with the Streaming API reference to know what Web Socket subscriptions are available
Learn how to connect to the private Casper Node powered by CSPR.cloud using the most popular SDKs
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!
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
self_stake
uint64
Bidder self-stake calculated as a sum of the bidder stake and the stakes of the affiliated accounts provided via the
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_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
average_performance
Moving average of validator performance based on the received rewards over the past 360 eras (approximately one month)
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
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
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
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
Contract Package hash.
from_block_height
From block height range
to_block_height
To block height range
timestamp
Sort contracts by timestamp
Default sorting is timestamp DESC
contract_package
Contract package, this contract version is a part of
deploy_hash
Hash of the deploy that deployed the contract to the network
contract_package_hash
currency_id
uint8
identifier
amount
float32
Rate amount
created
string
Rate timestamp in the format
Example
None
The Rate entity has the following relations with other entities:
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
The Rate entity has the following endpoints:
era_id
Sort validator rewards by era identifier
Default sorting is era_id DESC
rate
float32
The rate that was relevant at the moment when the last block was proposed. To get more details see .
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
validator_public_key
The public key of the validator to whom the stakes were delegated.
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
Example
Depending on the endpoint some of the following optional properties may be included in the NFTTokenOwnership entity:
contract_package
NFT contract package
owner_public_key
string(68)
Owner public key if it's an account
contract_package_hash
NFT token ownership represents NFT contract package token owners
owner_hash
Account can be a token owner
The NFTTokenOwnership entity has the following endpoints:
None
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
balance
string
Fungible tokens balance in the network
Example
Depending on the endpoint some of the following optional properties may be included in the FTOwnership entity:
contract_package
Fungible contract package
contract_package_hash
Fungible token ownership represents fungible contract package token owners
owner_hash
Account can be a token owner
The FTOwnership entity has the following endpoints:
None
End of the range in the format
tracked_at
Sort rates by timestamp
Default sorting is created ASC
None
from
Start of the range in the ISO 8601 format
to
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:
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 query filter in the API requests and that the related entity could be included in the responses as an optional property.
Account observed in the network activity, which may not necessarily have the on-chain balance
REST API endpoints that return paginated responses 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:
The defaults are different for different endpoints and are provided in the corresponding endpoint documentation.
Get blocks sorted by height from lowest to highest:
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
Get a paginated list of bidders
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
Default sorting is total_stake DESC
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.
Default sorting is timestamp DESC
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:
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
Default sorting is timestamp DESC
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 and NFT standards on the Casper Network. CSPR.cloud provides a possibility to:
curl -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
}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"
}
}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
}{
"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,
"total_stake": 328883791303133500
}{
"public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
"validator_public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
"stake": "1000000",
"bonding_purse": "uref-550c01b27069f943c354364c49a496b5013ee5bdf61d8644e4f0712cf22410f1-000"
}GET /validators/{public_key}/delegationscurl -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"
}
]
}GET /contractscurl -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
}{
"currency_id": 1,
"amount": 0.052947,
"timestamp": "2024-01-05T12:51:00Z"
}GET /accounts/{public_key}/delegation-rewardscurl -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"
}
]
}{
"contract_package_hash": "0074557b46c7a7c13e0b178e4463f451325129d845e9e494425d39cfd40e619d",
"owner_hash": "532402a902ee117a772b2471df237346c906eddeb1580e18fa8b71ea559b9d2f",
"owner_type": 0,
"tokens_number": 1
}{
"balance": "99999999999999999000",
"contract_package_hash": "0e6a10012d734417ef6ff74e4a7881ad75bcbb3c455ccd63a677f7dd55f1f203",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269"
}GET /currencies/{currency_id}/ratescurl -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
}GET /blocksGET /biddersGET /accounts/{public_key}/delegationsGET /contract-packagesGET /accounts/{account_identifier}/nft-token-ownershipGET /accounts/{public_key}/contract-packagesPrimary CSPR.name of the account
Rates can be included into the ValidatorReward entity
timestamp
Rates can be included into the DelegatorReward entity
Account info data provided through the account information contract
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
Historical validator performance based on the era rewards information
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'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
order_by
string
Sorting property the results should be sorted by
order_direction
string
Order direction: ASC or DESC
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'deploy
casper.Deploy
Casper raw deploy
is_active
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
account_info
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
Primary CSPR.name of the 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
owner_public_key
Owner public key filter.
timestamp
Sort contract packages by timestamp.
deploys_number
int
Number of deploys in the specified number of the past days. It's a function includer that accepts the number of days as an argument.
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
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 .
public_key
Accounts receive rewards for delegating to validators.
validator_public_key
Delegation rewards are associated with the validator, that distributed the rewards
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
timestamp
Sort contract packages by timestamp.
deploys_number
int
Number of deploys in the specified number of the past days. It's a function includer that accepts the number of days as an argument.
account_info
ContractPackage owner account info
centralized_account_info
ContractPackage centralized account info
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 IPFS. Below is an example that demonstrated fetching NFT tokens for the CasperPunks contracts, which is a CEP-78 smart NFT contract that stores the token metadata on IPFS:
Note the offchain_metadata property, which contains the off-chain token metadata.
{
"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
}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"
}
}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
}{
"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
}{
"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/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
}
]
}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'{
"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/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",
"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",
"deploys_number": 56
},
...
],
"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"
}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 '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
},
{
"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
},
...
{
"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
}
],
"item_count": 459,
"page_count": 46
}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
}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
from_block_height
From block height range
to_block_height
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)
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
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
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
The NFTTokenAction entity describes standard actions that can be performed on NFTs, such as mint, transfer, burn etc. CSPR.cloud supports NFTs compatible with the CEP-47 and CEP-78 Casper Network standards.
The NFTTokenAction entity has the following properties:
Example
Depending on the endpoint some of the following optional properties may be included in the NFTTokenAction entity:
The NFTTokenAction entity has the following endpoints:
The NFTTokenAction entity has the following relation endpoints:
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:
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 /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
}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 /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 /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 /blocks/{block_identifier}/deploysGET /ft-token-actionsGET /contract-packages/{contract_package_hash}/ft-token-actionsAction 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
Owner centralized account info
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.
Primary CSPR.name of the account
None
List of value objects describing the available fungible token action types
GET /ft-token-action-typescurl -X 'GET' \
'https://api.testnet.cspr.cloud/ft-token-action-types' \
-H 'accept: application/json' \
-H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'{
"data": [
{
"id": 1,
"name": "Mint"
},
{
"id": 2,
"name": "Transfer"
},
{
"id": 3,
"name": "Approve"
},
{
"id": 4,
"name": "Burn"
}
]
}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_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
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
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
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
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
type identifier
token_id
string
Token ID presented on the network
timestamp
uint16
The timestamp of performed token action
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 NFTToken. 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
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
uint8
Action target public key if it's an account
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
Example
Depending on the endpoint some of the following optional properties may be included in the Account entity:
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
The Account entity has the following relations with other entities:
account_hash
Account can have account info data if provided by the owner to the
public_key
Account can be a bidder in the auction
owner_public_key
Account can deploy contracts to the network
caller_public_key
The Account entity has the following endpoints:
The Account entity has the following relation endpoints:
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)
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
deploy_hash
string(64)
Hash of the deploy that deployed the to the network represented as a hexadecimal string
verified_account_hashes
Example
None
The AccountInfo entity has the following relations with other entities:
account_hash
Account info is related to an account
deploy_hash
Contracts are deployed to the network with a deploy call.
The AccountInfo entity has the following endpoints:
None
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
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:
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
id
uint64
Transfer identifier provided by the deploy caller if the deploy is a native transfer. Default is 0.
deploy_hash
string(64)
Deploy hash represented as a hexadecimal string
block_height
uint64
Height of the block in which the transfer happened
transform_key
string(64)
transform key represented as a hexademical string
initiator_account_hash
string(64)
Deploy caller account hash represented as a hexadecimal string
from_purse
Example
Depending on the endpoint some of the following optional properties may be included in the Transfer entity:
initiator_public_key
string(68)
Initiator public key represented as a hexademical string
to_public_key
string(68)
Transfer recipient public key represented as a hexademical string
from_purse_public_key
string(68)
Public key of the account that owns the transfer source purse represented as a hexademical string. null when the sender purse is not own by an account
to_purse_public_key
string(68)
The Transfer entity has the following relations with other entities:
initiator_account_hash, to_account_hash
Accounts can send and receive transfers
deploy_hash
Transfers are results of deploy execution
The Transfer entity has the following endpoints:
None
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
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
None
contract_package
Fungible contract package
account_info
Owner account info
centralized_account_info
Owner centralized account info
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:
Most of the REST API endpoints allow optional data to be included in their responses. It could be related entities, derived properties, , 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:
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"
}
]
}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
}curl -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
}{
"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
}{
"account_hash": "fa12d2dd5547714f8c2754d418aa8c9d59dc88780350cb4254d622e2d4ef7e69",
"balance": 1325092768520378,
"main_purse_uref": "uref-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1-007",
"public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
}{
"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": "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 /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
}{
"amount": "999900000000",
"deploy_hash": "00002856709bb267fefac532afa41fdb7b66af0521b344dd218f0386b725bcfc",
"block_height": 2404577,
"from_purse": "uref-1fba1ec9ab80f4df6d4dd2b9963fc0e8bcd3e3ae2479bd89133213398f463f8b-007",
"id": 1674228372106,
"initiator_account_hash": "d1e7f6267837c30c7e3356f049836b5db71ab10f023ddb00e6ab0bd960bf7e4d",
"timestamp": "2023-01-20T15:26:34Z",
"to_account_hash": "11f03518b71ba8ac0e6087d1a2b0a82a97de66f640ae77e661ce80e365196a24",
"to_purse": "uref-6ccb3f9c96957eae5c0f2d4d1106926bcf5ab5a2690a3f07da9603d8236e3e26-004",
"transform_key": "ab152ea01deca92473828fff439d6b8498397a7cceaff059e12d2aa2fe3f5ce5"
}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
}GET /accounts/{account_identifier}/ft-token-actionscurl -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
}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"
},
{
"balance": "99999999999999999000",
"contract_package_hash": "018c20d50c52518b6d9c0390b1d2298e3638507d8fe9694d44b89b6af23c703d",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269"
},
...
{
"balance": "1000000000000000000000000000018415616000000000000000000",
"contract_package_hash": "155e3d29b6eea4df9e2159c5e91cf325b94c3460224ea3c789dd70772a9048d6",
"owner_hash": "d0bc9ca1353597c4004b8f881b397a89c1779004f5e547e04b57c2e7967c6269"
}
],
"item_count": 176,
"page_count": 18
}GET /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
Account can call deploys on the network
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
uint8
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.
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.
[]string
List of verified account hashes represented as a hexadecimal string
created
datetime
Account info creation timestamp
updated
datetime
Account info last update timestamp
uint8
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
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
string(73)
Source purse URef in the uref-dead...beef-007 format
to_purse
string(73)
Target purse URef in the uref-dead...beef-007 format
to_account_hash
string(64)
Transfer recipient account hash represetnted as a hexadecimal string
amount
string
Transfer amount in motes. The type is string to avoid overflow in languages that don't support uint64, which is the correct type.
timestamp
string
Deploy creation timestmap in the ISO 8601 format
Public key of the account that owns the transfer target purse represented as a hexademical string. null when the target purse is not own by an account
to_account_info
Transfer recipient account info
to_centralized_account_info
Transfer recipient centralized account info
from_purse_account_info
Account info of the account that owns the transfer source purse. null when the sender purse is not own by an account
from_purse_centralized_account_info
Centralized account info that owns the transfer source purse. null when the sender purse is not own by an account
to_purse_account_info
Account info of the account that owns the transfer target purse. null when the target purse is not own by an account
to_purse_centralized_account_info
Centralized account info of the account that owns the transfer target purse. null when the target purse is not own by an account
initiator_public_key
string(68)
Deploy caller public key represented as a hexadecimal string
rate
float32
CSPR rate for specified currency that was relevant at the moment of deploy creation
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
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 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 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 Transfer REST API 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 Including related entities 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 Including CSPR rates 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.
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
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,
"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,
"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
}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
}contract
Contract entity.
contract_entrypoint
ContractEntrypoint entity.
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.
block_hash
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
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
ContractPackage entity.
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
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
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
contract_package_hash
Contract package hash of the called contract
contract_hash
The Contract entity offers a normalized representation of the Casper Network without including entry point hashes, which can be queried separately using the 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:
curl -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"
}
]
}{
"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 /accounts/{public_key}/deployscurl -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"
}
]
}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.
transfers
[]Transfer
List of Transfer entities.
nft_token_actions
List of NFTTokenAction entities.
ft_token_actions
List of Fungible token action entities.
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
contract_package
called by deploy.
contract
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:
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
timestamp
Example
Depending on the endpoint, the following optional properties may be included in the Contract entity:
contract_package
Contract package, this contract version is a part of
The Contract entity has the following relations with other entities:
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
The Contract entity has the following endpoints:
The Contract entity has the following relation endpoints:
{
"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"
}{
"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
}string(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.
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.
uint16
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