Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 126 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

1.3.x

Documentation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

REST API

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...

Introduction

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

  • Integrations with the existing fungible and non-fungible (NFT) token standards, such as CEP-18, CEP-47, and CEP-78

  • 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.

Reference

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

Support

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.

Legal

By using CSPR.cloud, you agree to our and acknowledge that you have read our .

REST API Get familiar with the REST API reference to know what endpoints are available
  • 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

  • Casper Event Standard (CES)
    Odra smart contract framework
    account info standard data
    Highlights
    Overview
    Getting started
    Highlights
    CSPR.cloud Developer Community
    Developer Terms of Service
    Privacy Policy

    Overview

    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.

    Base URLs

    The APIs can be accessed using the following base URLs

    Mainnet

    API
    Base URL

    Testnet

    API
    Base URL

    Authorization

    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.

    Rate limits and quotas

    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.

    Responses

    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:

    Pagination

    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.

    Sorting

    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.

    Filtering

    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.

    Optional properties

    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.

    Errors

    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.

    Versions

    This documentation covers CSPR.cloud V2. Click for CSPR.cloud V1 documentation, which will be deprecated soon.

    CSPR.cloud REST API

    https://api.cspr.cloud

    CSPR.cloud Streaming API

    wss://streaming.cspr.cloud

    Casper Node RPC API

    https://node.cspr.cloud

    Casper Node SSE API

    https://node-sse.cspr.cloud

    CSPR.cloud REST API

    https://api.testnet.cspr.cloud

    CSPR.cloud Streaming API

    wss://streaming.testnet.cspr.cloud

    Casper Node RPC API

    https://node.testnet.cspr.cloud

    Casper Node SSE API

    https://node-sse.testnet.cspr.cloud

    Authorization
    Rate limits and quotas
    Pagination
    Sorting
    Filtering
    Optional properties
    Errors
    here
    {
        "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"
        }
    }

    Highlights

    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

    Authorization

    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.

    Authorization header

    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"

    The access token provided in the example above is for the demonstration purposes only, and has limited capabilities.

    To learn how to include the Authorization header in Casper SDKs to access the CSPR.cloud Casper Node please read the page.

    Accessing from a browser

    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.

    Reporting

    You can request the usage report by sending an email from your registered account to .

    Get total validator delegators' rewards

    Get total amount of delegator rewards for a validator.

    GET /validators/{public_key}/total-delegator-rewards

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    uint64

    Example

    Errors

    Requests made to our APIs can result in several different error responses. The following document describes error values.

    Properties

    The Error has the following properties:

    Property
    Type
    Description

    Including account info

    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.

    Accessing auction data

    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:

    Get contract

    Get contract by its hash.

    Query params

    None

    Sorting

    Get NFT standards

    Get NFT standards

    Query params

    None

    Sorting

    Get centralized account infos

    Get centralized account infos

    Endpoint

    Query params

    Including account info
    Accessing auction data
    Accessing token data
    Accessing NFT data
    Accessing historical contract costs
    De-anonymizing account hashes
    De-anonymizing account purses
    Receiving contract-level events
    Connecting with an SDK
    [email protected]
    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
    }
    Casper Account Info Standard
    filtering included object data

    Get validators

  • Get account delegations

  • Get validator delegations

  • Get auction metrics

  • For example, fetching account delegations can be done with the following API request:

    state_get_auction_info
    Get bidder
    Get bidders
    Get validator
    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

    Optional properties

    None

    Response

    List of value objects describing the available NFT standards

    Example

    GET /nft-token-standards
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/nft-token-standards' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    Name
    Type
    Description

    account_hash

    []string

    Comma-separated list of account hashes

    Sorting

    Property
    Description

    account_hash

    Comma-separated list of account hashes

    Optional properties

    None

    Response

    PaginatedResponse<CentralizedAccountInfo>

    Example

    {
      "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-info
    curl -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

    Error Types

    Code
    Name
    HTTP Status Code
    Description

    invalid_input

    InvalidParamError

    400

    Invalid client input parameters

    unauthorized

    UnauthorizedError

    401

    Client is not authorized

    access_denied

    AccessDeniedError

    403

    Example

    Rate limiting errors

    Visit the Rate limits and quotas for more information regarding Rate limiting errors.

    None

    Optional properties

    Property
    Type
    Description

    contract_package

    Contract package, this contract version is a part of

    Response

    Contract

    Example

    De-anonymizing account hashes

    While accounts are known to be recognized by their public keys, internally on-chain, they are uniquely identified by fixed-length accounts hashes derived from those public keys. Because of that, in certain contexts, we may know the account hash but not the public key. CSPR.cloud maintains the mapping between account hashes and the corresponding public keys to be able to "de-anonymize" the former when needed by requesting the public key as an optional property.

    Let's have a look at the Transfer API, for example. The Transfer object only provides the recipient account hash:

    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/deploys/6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c/transfers' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "data": [
        {
          "amount": "2000000000000",
          "deploy_hash": "6117d9f92a40d3785b53145c68a118cf36b974b2803acf41cffce8630acd769c",
          "from_purse": "uref-72653d09444d0b3bd27372247510e9346c39fa831a89008dd9ce849a7b2c15e2-007",
          "id": 1704899420700,
          "initiator_account_hash": "7dc2bcc676eba6196d16374e1a2dbfa1df336f779854d95a0b4e65de6d593158",
          "timestamp": "2024-01-10T15:10:36Z",
          "to_account_hash": "b85634e0695ac3b6a7792c2009377b4a405118571a9c64ab2c66048250fef36c",
          "to_purse": "uref-7bba21087353cf75a83234b07525efdf33f59a6d71da00021a4bb80b6ace4bd7-004",
          "transform_key": "a1845ce7b2d334c7fd39b6313ebcfe4e8e29889bcdc792f7c67c7ba5360fd220"
        }
      ],
      "item_count": 1,
      "page_count": 1
    }

    Let's "de-anonymize" the recipient of the transfer above by including the to_public_key optional property:

    Note the to_public_key property that was added in the second response. It contains the public key that corresponds to the account hash specified in to_account_hash. Please check Transfer Optional Properties to learn about all the optional data that can be included in the responses.

    Get contract entry points

    Get contract entry points by contract hash

    GET /contracts/{contract_hash}/entry-points

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get contract package fungible token ownership

    Get contract package fungible token ownership

    GET /contract-packages/{contract_package_hash}/ft-token-ownership

    Query params

    None

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get total account delegation rewards

    Get total amount of delegation rewards for an account.

    GET /accounts/{public_key}/total-delegation-rewards

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    uint64

    Example

    Get centralized account info

    Get centralized account info by account identifier.

    Endpoint

    GET /centralized-account-info/{account_identifier}

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get contract entry point costs

    Get deploys costs and payment amounts, aggregated by contract hash and entry point name

    GET /contracts/{contract_hash}/entry-points/{entry_point_name}/costs

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Add Awaiting Deploy signatures

    Add more signatures to awaiting deploy

    POST /awaiting-deploys/{deploy_hash}/approvals

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Status [boolean]

    Example

    HTTP Status Created (201)

    Get NFT action types

    Get NFT action types

    GET /nft-token-action-types

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get the current currency rate

    Get the current CSPR rate by currency identifier.

    GET /rates/{currency_id}/amount

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get currencies

    Get a paginated list of currencies.

    GET /currencies

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get supply

    Get the latest CSPR supply

    GET /supply

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get auction metrics

    Get auction metrics

    GET /auction-metrics

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get validator blocks

    Get paginated list of blocks proposed by the validator

    Query params

    None

    Rate limits and quotas

    At CSPR.cloud, we distinguish between rate limits and quotas to ensure efficient API management.

    Rate limit

    We impose a limit on the number of requests per minute. This measure helps manage load and avoid overloading our systems.

    Create Awaiting Deploy

    Creates awaiting deploy

    Query params

    None

    Sorting

    Get contract types

    Get all contract types with their id and name.

    Query params

    None

    Contract entry point

    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.

    Properties

    The ContractEntryPoint entity has the following properties:

    De-anonymizing account purses

    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.

    Centralized account info

    The CentralizedAccountInfo entity provides account information collected by CSPR.cloud team for the well-known accounts in the Casper ecosystem.

    Properties

    The CentralizedAccountInfo entity has the following properties:

    Property
    Type

    Get NFT

    Get NFT by contract package hash and token ID

    Query params

    None

    Get block

    Get block by its identifier (block height or block hash)

    Query params

    None

    Get off-chain NFT metadata statuses

    Get off-chain NFT metadata statuses

    Query params

    None

    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

    Transfer API
    ContractPackage
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/contracts/93d923e336b20a4c4ca14d592b60e5bd3fe330775618290104f9beb326db7ae2/entry-points' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    PaginatedResponse
    <ContractEntryPoint>

    contract_package

    ContractPackage

    Fungible contract package

    account_info

    AccountInfo

    Owner account info

    centralized_account_info

    CentralizedAccountInfo

    Owner centralized account info

    PaginatedResponse
    <FTOwnership>
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/accounts/01D4C0E543A1DBE84EC437C34E9E788A82F00580E5E12D8A2B187C6C4883479B1A/total-delegation-rewards' \
      -H 'Accept: application/json' \
      -H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    CentralizedAccountInfo
    {
      "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'
    List of value objects describing the available NFT action types
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/rates/1/amount' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    Rate
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/currencies' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    Currency
    curl -X 'GET' \
      'https://api.cspr.cloud/supply' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    <Supply>
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/auction-metrics' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    AuctionMetrics
    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
    }
    "de-anonymizing account hashes"
    deploy
    optional property
    Transfer Optional Properties
    Transfer API

    Including CSPR rates

    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

    Optional properties

    None

    Response

    Status [boolean]

    Example

    HTTP Status Created (201)

    POST /awaiting-deploys
    {
      "data": true
    }
    Sorting

    None

    Optional properties

    None

    Response

    List of value objects describing the available contract types

    Example

    GET /contract-types
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/contract-types' \
      -H 'Accept: application/json' \
      -H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    Sorting

    None

    Optional properties

    None

    Response

    List of value objects describing the available off-chain NFT metadata statuses

    Example

    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"
        }
      ]
    }
    Sorting
    Property
    Description

    block_height

    Sort blocks by block height

    timestamp

    Sort blocks by timestamp

    Default sorting is block_height DESC

    Optional properties

    Property
    Type
    Description

    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

    Response

    PaginatedResponse<Block>

    Example

    Quotas

    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.

    Free tier limits

    The free tier limits are set to ensure that you can test the API and integrate it into your application.

    Mainnet

    Service
    Monthly quota
    Daily quota
    Rate limit /min

    CSPR.Node Proxy

    20,000

    1,200

    100

    CSPR.Node Proxy SSE

    5,000

    200

    10

    CSPR.Cloud API

    100,000

    6,000

    Testnet

    Service
    Monthly quota
    Daily quota
    Rate limit /min

    CSPR.Node Proxy

    20,000

    1,200

    100

    CSPR.Node Proxy SSE

    5,000

    200

    10

    CSPR.Cloud API

    100,000

    6,000

    Handling limits

    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.

    Property
    Type
    Description

    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

    Optional properties

    None

    Relations

    The ContractEntryPoint entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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.

    Endpoints

    The ContractEntryPoint entity has the following endpoints:

    • Get contract entry points

    Relation endpoints

    • Get contract entry point costs

    EntryPoint
    Contract
    Description

    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

    Optional properties

    None

    Relations

    The CentralizedAccountInfo entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    account_hash

    Account info is related to an account

    Endpoints

    The CentralizedAccountInfo entity has the following endpoints:

    • Get centralized account info

    • Get centralized account infos

    Relation endpoints

    None

    Sorting

    None

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    contract_package

    NFT contract package

    owner_public_key

    string(68)

    Owner public key if it's an account

    Response

    <NFTToken>

    Example

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    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

    Response

    Block

    Example

    Block

    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.

    Properties

    The Block entity has the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Block entity:

    Property
    Type
    Description

    Relations

    Entity
    Mapping property
    Description

    Endpoints

    The Block entity has the following endpoints:

    Relation endpoints

    The Block entity has the following relation endpoints:

    Get accounts

    Get the paginated list of accounts

    Query params

    Query param
    Description

    account_hash

    Comma-separated list of account hashes

    Sorting

    Property
    Description

    Default sorting is total_balance DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get contracts by contract package

    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.

    Query params

    Query param
    Description

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Response

    Example

    Get account

    Get account by its identifier (public key or account hash)

    Query params

    None

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get Awaiting Deploy

    Get awaiting deploy by its hash

    GET /awaiting-deploys/{deploy_hash}

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Auction metrics

    The AuctionMetrics entity represents calculated metrics for the era retrieved from auction info

    Properties

    The AuctionMetrics entity has the following properties:

    Property

    Type

    Example

    Optional properties

    None

    Relations

    Entity
    Mapping property
    Description

    Endpoints

    The AuctionMetrics entity has the following endpoints:

    Relation endpoints

    None

    CSPR supply

    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.

    At this moment, the API returns correct circulating supply only on the Mainnet

    Properties

    The Supply entity has the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    None

    Relations

    None

    Endpoints

    The Supply entity has the following endpoints:

    Relation endpoints

    None

    Get contract package

    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.

    Query params

    None

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get deploy execution types

    Get deploy execution types.

    GET /deploy-execution-types

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    List of value objects describing the available deploy execution types

    Example

    Filtering

    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.

    Requests

    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.

    Example

    Filter NFT tokens by owner and contract package:

    Getting started

    This tutorial will help you make your first API call to receive a list of NFT tokens in the contract.

    Prerequisites

    We will use cURL to make API calls. You can install it from the website or by using the package manager of your choice.

    Bidder

    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:

    Property
    Type
    Description

    Receiving contract-level events

    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

    Delegation

    The Delegation entity represents a record of a delegation transaction in the context of Casper Network

    Properties

    The Delegation entity has the following properties:

    Property

    Accessing token data

    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:

    Pagination

    REST API endpoints that potentially may return an unlimited number of items are paginated.

    Requests

    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:

    Parameter
    Type
    Default

    Get validator delegations

    Get paginated list of delegations made to a validator.

    Query params

    None

    Get contracts

    Get a paginated list of contracts.

    Query params

    Query param
    Description

    CSPR rate

    CSPR.cloud maintains historical CSPR rates provided by for more than 40 different fiat and crypto currencies.

    Properties

    The Rate entity has the following properties:

    Property
    Type
    Description

    Get account delegator rewards

    Get a paginated list of delegator rewards.

    Query params

    Query param
    Description

    Get contract package NFTs

    Get NFT contract package tokens by its hash

    Query params

    Query param
    Description

    Non-fungible token (NFT) ownership

    The NFTTokenOwnership entity represents a NFT ownership relation between accounts and contract packages, as well as provides the total tokens number.

    Properties

    The NFTTokenOwnership entity has the following properties:

    Property

    Fungible token ownership

    The FTOwnership entity represents a fungible token ownership relation between accounts and contract packages, as well as provides the corresponding token balances

    Properties

    The FTOwnership entity has the following properties:

    Property

    Changelog

    v1.3.9 (August 6, 2024)

    • Add ability to sort validators by is_identified_account_info and total_stake by default

    Get historical currency rates

    Get a paginated list of historical currency rates for the given time range.

    Query params

    Query param
    Description
    GET /validators/{public_key}/blocks
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/validators/0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e/blocks' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "data": [
        {
          "block_height": 2293945,
          "block_hash": "fc96e8c2735ee8c1fe0e8df74b7de005298e259bb0e84953c584a30b417e51c1",
          "parent_block_hash": "18a93ef00cbd298e6633d4e6adc726dfdbd1a3af31107bd93268745b096b7f30",
          "state_root_hash": "89e786fd598f9f2f84955daaacc1573a1414fdf8dfa8c93e116ff70402c0bbfb",
          "era_id": 11750,
          "proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
          "native_transfers_number": 0,
          "contract_calls_number": 0,
          "is_switch_block": false,
          "timestamp": "2023-12-18T13:38:12Z"
        },
        {
          "block_height": 2293908,
          "block_hash": "1e6b1f9c1c315742791693f238809782e58424c0fd41b146e5c8922068aa617b",
          "parent_block_hash": "e09513444638ab4b5da58d1d7c7e2ed29675107af42d5f3c0f55335bff69a2b8",
          "state_root_hash": "f842549d60720f646b5b6b3f27d74745f2a35da8d5444e32eb35ef585322cd25",
          "era_id": 11750,
          "proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
          "native_transfers_number": 0,
          "contract_calls_number": 0,
          "is_switch_block": false,
          "timestamp": "2023-12-18T13:17:59Z"
        },
        ...
        {
          "block_height": 2293599,
          "block_hash": "21b4c4739049fa4cb4ed0a5e45ccf56869e08f686d2d0c4eafb0f34f0e352d93",
          "parent_block_hash": "99974aceccd64c5d0c6ebedd5ea8022e45519754615a3f9d2d6db547143a57ca",
          "state_root_hash": "4d0650fe03069a42c834323ca9a33c94b50b7ffd554db25c1dcd32347e1be6cf",
          "era_id": 11748,
          "proposer_public_key": "0109b48a169e6163078a07b6248f330133236c6e390fe915813c187c3f268c213e",
          "native_transfers_number": 0,
          "contract_calls_number": 0,
          "is_switch_block": false,
          "timestamp": "2023-12-18T10:29:14Z"
        }
      ],
      "item_count": 76609,
      "page_count": 7661
    }
    {
        "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 /accounts
    GET /contract-packages/{contract_package_hash}/contracts
    GET /accounts/{account_identifier}
    Fix sorting and pagination for Accounts API
  • Fix total delegation rewards data tracking

  • v1.3.8 (July 12, 2024)

    • Data tracking performance optimizations

    v1.3.7 (July 2d, 2024)

    • 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

    v1.3.6 (June 26, 2024)

    • Bug fixes

    v1.3.5 (June 17, 2024)

    • Fix GET /daily-deploy-numbers endpoint

    v1.3.4 (June 13, 2024)

    • Fix GET /accounts/{account_identifier}/associated-to-accounts returning empty associations

    v1.3.3 (June 12, 2024)

    • Fix ordering for Contracts API

    • Fix Bidders API

    • Fix filtering byt caller_public_key for Deploys API

    v1.3.2 (June 6, 2024)

    • Fix validator_performance optional field including logic

    • Fix GET /validators/{public_key}/rewards endpoint

    v1.3.1 (June 1, 2024)

    • Bug fixes

    v1.3.0 (May 30, 2024)

    • Add POST /accounts endpoint to request multiple accounts by account_hashes

    • Fix Accounts API

    • Fix GET /accounts/{account_identifier}/total-delegation-rewards endpoint

    v1.2.2 (May 28, 2024)

    • Fix tracking balances for Accounts without tracked purse_uref

    v1.2.1 (May 23, 2024)

    • Add Centralized Account Info API

    v1.2.0 (May 20, 2024)

    • 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

    v1.1.3 (May 13, 2024)

    • Add is_burned filter for NFT tokens API

    v1.1.2 (May 9, 2024)

    • Fixes for NFT API

    • Fixes for FT API

    v1.1.1 (April 10, 2024)

    • Fixes for NFT API

    • Optimise Deploys and Blocks APIs

    v1.1.0 (April 29, 2024)

    • Added ability to sort data by block ranges

    • Bug fixes

    v1.0.1 (March 26, 2024)

    • Improved stability of Streaming API connections

    v1.0.0 (March 12, 2024)

    • First release. Welcome, CSPR.cloud! 🎉

    100

    100

    AccountInfo
    Account info
    CentralizedAccountInfo
    Contract
    ContractPackage
    Account
    ContractPackage
    AccountInfo
    Account info
    CentralizedAccountInfo

    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

    AccountInfo

    Account info provided by the proposer account

    proposer_centralized_account_info

    CentralizedAccountInfo

    Account information available for known accounts provided by CSPR.cloud team

    Deploy

    block_hash

    Blocks can have deploys

    Validator

    proposer_public_key

    Blocks are proposed by validators

    Get block
    Get blocks
    Get validator blocks
    Get block deploys

    string(68)

    deploy_hash

    Hash of the deploy that deployed the contract to the network

    contract_package

    ContractPackage

    Contract package, this contract version is a part of

    timestamp

    Sort contracts by timestamp

    PaginatedResponse
    <Contract>
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/awaiting-deploys/aa46828cd1b756686c2ed1af7fcd8ab0b37305a208164dd55aaf19d23607dfa9' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    AwaitingDeploy

    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

    Bidder

    total_bids_number,active_bids_number

    Validators with active bids are bidders in the auction era

    Validator

    total_active_era_stake

    Validators of the current and next era hold active era stake

    Get auction metrics

    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

    Get supply

    account_info

    AccountInfo

    ContractPackage owner account info

    centralized_account_info

    CentralizedAccountInfo

    ContractPackage centralized account info

    ContractPackage
    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'
    . For this example, you'll need to install the
    utility.

    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.

    CSPR.cloud REST API
    CSPR.cloud Casper Node
    Streaming API
    CSPR.studio
    My NFT collections
    Contract REST API
    Contract-level events Streaming API
    wscat
    NPM
    Get account token activity
  • Get contract token activity

  • 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.

    CEP-18
    Get list of tokens owned by an account with their balances
    Get list of token owners for a fungible token contract
    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'
    Description

    page

    int

    1

    Page number

    page_size

    int

    10

    Number of items per page

    The maximum number of items per page is 250.

    Responses

    Paginated responses contain two additional properties providing information on the total number of items and the total number of pages:

    Parameter
    Type
    Description

    item_count

    int

    Total number of items

    page_count

    int

    Total number of pages

    Example

    Get the second page of accounts with 25 items per page:

    Traversing results

    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.

    Sorting

    Property
    Description

    token_id

    Sort tokens by token_id

    timestamp

    Sort tokens by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    owner_public_key

    string(68)

    Owner public key if it's an account

    Response

    PaginatedResponse<NFTToken>

    Example

    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-tokens
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/contract-packages/006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383/nft-tokens' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "data": [
        {
          "contract_package_hash": "006c68af5f767e406cccd326f8d8bba81dec20d2578f308d33e3bbf08ee5d383",
          "block_height": 1461592,
          "is_burned": false,
          "offchain_metadata": null,
          "offchain_metadata_status": 3,
          "onchain_metadata": {
            "token_uri": "{\"token_uri\":\"ipfs://QmZa1hrX5FJRxyNyEbYjTVPJ6mbQtA3wJu1RjQpv9am6n2\"}"
          },
          "owner_hash": "8e09f028baff4e3a851e70bb8a5dc02eae7f8cb7faf1b52d9c8dafa7f41fa55c",
          "owner_type": 1,
          "timestamp": "2022-10-18T15:22:06Z",
          "token_id": "0",
          "token_standard_id": 1,
          "tracking_id": 20458
        }
      ],
      "item_count": 1,
      "page_count": 1
    }

    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

    PaginatedResponse
    <Account>

    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

    Account

    Total undelegated funds that will be returned to the account main purse after the 7 era lockdown period

    Create an access token

    Please register on CSPR.build console to create a CSPR.cloud access token.

    First API call

    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:

    Replace "[Your-Access-Token]" with your actual access token in each example.

    What's next

    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!

    CSPR.studio
    curl.se

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Bidder entity:

    Property
    Type
    Description

    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)

    Relations

    Entity
    Mapping property
    Description

    public_key

    Auction bids are made by accounts

    public_key

    Bidders that were validators in the past have associated validator performance

    Endpoints

    The Bidder entity has the following endpoints:

    • Get bidder

    • Get bidders

    Relation endpoints

    None

    rank

    uint8

    Projected validator rank based on total bid amount

    auction
    Validator
    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Delegation entity:

    Property
    Type
    Description

    account_info

    provided by the delegator

    validator_account_info

    provided by the validator

    Relations

    The Delegation entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    public_key

    Delegations are made by accounts

    validator_public_key

    Validators can be delegated to

    Endpoints

    The Delegation entity has the following endpoints:

    • Get account delegations

    • Get validator delegations

    Relation endpoints

    None

    Staking vs. Delegating process
    Sorting
    Property
    Description

    stake

    Sort by stake amount

    Default sorting is stake DESC

    Optional properties

    Property
    Type
    Description

    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

    Response

    PaginatedResponse<Delegation>

    Example

    Contract Package hash.

    from_block_height

    From block height range

    to_block_height

    To block height range

    Sorting

    Property
    Description

    timestamp

    Sort contracts by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    contract_package

    Contract package, this contract version is a part of

    Response

    PaginatedResponse<Contract>

    Example

    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

    Optional properties

    None

    Relations

    The Rate entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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

    Endpoints

    The Rate entity has the following endpoints:

    • Get the current currency rate

    • Get historical currency rates

    • Get currencies

    CoinGecko
    Sorting
    Property
    Description

    era_id

    Sort validator rewards by era identifier

    Default sorting is era_id DESC

    Optional properties

    Property
    Type
    Description

    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

    Response

    PaginatedResponse<DelegatorReward>

    Example

    validator_public_key

    The public key of the validator to whom the stakes were delegated.

    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the NFTTokenOwnership entity:

    Property
    Type
    Description

    contract_package

    NFT contract package

    owner_public_key

    string(68)

    Owner public key if it's an account

    Relations

    Entity
    Mapping property
    Description

    contract_package_hash

    NFT token ownership represents NFT contract package token owners

    owner_hash

    Account can be a token owner

    Endpoints

    The NFTTokenOwnership entity has the following endpoints:

    • Get contract package NFT ownerships

    • Get account NFT ownerships

    Relation endpoints

    None

    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the FTOwnership entity:

    Property
    Type
    Description

    contract_package

    Fungible contract package

    Relations

    Entity
    Mapping property
    Description

    contract_package_hash

    Fungible token ownership represents fungible contract package token owners

    owner_hash

    Account can be a token owner

    Endpoints

    The FTOwnership entity has the following endpoints:

    • Get contract package fungible token ownerships

    • Get account fungible token ownerships

    Relation endpoints

    None

    End of the range in the format

    Sorting

    Property
    Description

    tracked_at

    Sort rates by timestamp

    Default sorting is created ASC

    Optional properties

    None

    Response

    PaginatedResponse<Rate>

    Example

    from

    Start of the range in the ISO 8601 format

    to

    Including related entities

    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:

    Get account info

    Get account info by account hash.

    Endpoint

    GET /account-info/{account_hash}

    Query params

    None

    Sorting

    None

    Optional properties

    None

    Response

    Example

    Get blocks

    Get paginated list of blocks

    Query params

    Query param
    Description

    proposer_public_key

    Proposer public key

    Sorting

    Property
    Description

    Default sorting is block_height DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Reference

    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.

    Entity
    Description

    Account observed in the network activity, which may not necessarily have the on-chain balance

    Sorting

    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.

    Requests

    In addition to the endpoint-specific parameters, endpoints that return sorted results accept the following parameters to control the sorting property and the order:

    Parameter
    Type
    Description

    The defaults are different for different endpoints and are provided in the corresponding endpoint documentation.

    Example

    Get blocks sorted by height from lowest to highest:

    Awaiting deploy

    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

    This API is not available for the "Free" tier

    Properties

    The AwaitingDeploy entity has the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    None

    Relations

    None

    Endpoints

    The AwaitingDeploy entity has the following endpoints:

    Relation endpoints

    None

    Get bidders

    Get a paginated list of bidders

    Query params

    Query param
    Description

    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

    Sorting

    Property
    Description

    Default sorting is total_stake DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Since this API works only with recent eras, you'll need to replace the era ID with the latest one, which you can fetch using the .

    Get account delegations

    Get paginated list of delegations made by an account.

    Query params

    None

    Sorting

    Property
    Description

    Default sorting is stake DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get contract packages

    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.

    Query params

    Query param
    Description

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Delegator reward

    The DelegatorReward entity offers a normalized representation of the Casper Network Reward related to the delegator account.

    Properties

    The DelegatorReward entity contains the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    Depending on the endpoint, the following optional properties may be included in the DelegatorReward entity:

    Property
    Type
    Description

    Relations

    The DelegatorReward entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    Endpoints

    The DelegatorReward entity has the following endpoints:

    Get account NFT ownership

    Get account NFT ownerships

    Query params

    Query param
    Description

    contract_package_hash

    Contract package hash

    Sorting

    Property
    Description

    Default sorting is tokens_number DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get account contract packages

    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.

    Query params

    None

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Accessing NFT data

    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:

    Get account NFTs

    Get account NFTs by its identifier (public key or account hash)

    Query params

    Query param
    Description

    Get contract package NFT actions for a token

    Get token NFT actions by contract package hash and token ID

    Query params

    None

    Get contract package NFT ownership

    Get contract package NFT ownerships

    Query params

    Query param
    Description

    Get deploy

    Get deploy by its hash.

    Query params

    None

    Sorting

    Get bidder

    Get bidder by public key

    Query params

    Query param
    Description

    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}/delegations
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/validators/0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca/delegations?limit=2&offset=0' \
      -H 'Accept: application/json' \
      -H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "item_count": 1200,
      "page_count": 120,
      "data": [
        {
          "bonding_purse": "uref-917e1aeba7e7d3a322e89069e88b6e0877a59d781840c0ce8223e990e0342d42-007",
          "public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
          "stake": "55334239891699578",
          "validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
        },
        {
          "bonding_purse": "uref-ee8e4e63ee02f7cd38838b07bdd591cc8986bf6e8e5724dd0d54328e76b8dda0-007",
          "public_key": "011b5b2e370411b6df3a3d8ac0063b35e2003994a634dba48dd5422247fc1e7c41",
          "stake": "148999666957527",
          "validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
        },
        ...
        {
          "bonding_purse": "uref-0979efcbf321998cd0c65a755a668f555be56ad1c0a063fe289fbdc4467f7519-007",
          "public_key": "0111dad2c2c4769e5fb723fa4fdb432a7d39c48a575a361dca1ff8693e715642df",
          "stake": "3545802984166",
          "validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca"
        }
      ]
    }
    GET /contracts
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/contracts' \
      -H 'Accept: application/json' \
      -H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "data": [
        {
          "contract_hash": "8a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e732",
          "contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
          "deploy_hash": "1a2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e755",
          "block_height": 2404577,
          "contract_type_id": 2,
          "timestamp": "2023-01-01T12:00:00Z",
          "contract_version": 1,
          "is_disabled": false
        },
        {
          "contract_hash": "5e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd261",
          "contract_package_hash": "8e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd262",
          "deploy_hash": "2e718fa0918ae95e58b9a320f412b935af6544b04b6b89fb2ca9982cab0dd263",
          "block_height": 2404576,
          "contract_type_id": 4,
          "timestamp": "2023-01-02T12:00:00Z",
          "contract_version": 2,
          "is_disabled": false
        },
        ...
        {
          "contract_hash": "7894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fc",
          "contract_package_hash": "8894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fd",
          "deploy_hash": "9894d8458c82388f6d276c07c1c52033ac37b175fa722b9cc40e7a0157ce17fe",
          "block_height": 2404571,
          "contract_type_id": 7,
          "timestamp": "2023-01-03T12:00:00Z",
          "contract_version": 3,
          "is_disabled": false
        }
      ],
      "item_count": 100,
      "page_count": 10
    }
    {
      "currency_id": 1,
      "amount": 0.052947,
      "timestamp": "2024-01-05T12:51:00Z"
    }
    GET /accounts/{public_key}/delegation-rewards
    curl -X 'GET' \
       'https://api.testnet.cspr.cloud/accounts/018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02/delegation-rewards' \
       -H 'Accept: application/json' \
       -H 'Authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "item_count": 236971,
      "page_count": 23698,
      "data": [
        {
          "amount": "159823316933",
          "era_id": 11955,
          "public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
          "timestamp": "2024-01-04T15:22:55Z",
          "validator_public_key": "01075ec8809c691a1d1b0250ba9ea75da5460e3df43c3172771c6975c989457159"
        },
        {
          "amount": "79953616939",
          "era_id": 11955,
          "public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
          "timestamp": "2024-01-04T15:22:55Z",
          "validator_public_key": "0106618e1493f73ee0bc67ffbad4ba4e3863b995d61786d9b9a68ec7676f697981"
        },
        ...
        {
          "amount": "8575383",
          "era_id": 11955,
          "public_key": "018afa98ca4be12d613617f7339a2d576950a2f9a92102ca4d6508ee31b54d2c02",
          "timestamp": "2024-01-04T15:22:55Z",
          "validator_public_key": "01014adf59e29558cfee1a6bcf0dd64701b0ea2c778bd4c00e3383085b88d6342c"
        }
      ]
    }
    {
      "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}/rates
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/currencies/1/rates' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "data": [
        {
          "currency_id": 1,
          "amount": 1.32545,
          "created": "2021-05-12T00:00:00Z"
        },
        {
          "currency_id": 1,
          "amount": 1.16265,
          "created": "2021-05-12T01:00:00Z"
        },
        ...
        {
          "currency_id": 1,
          "amount": 1.25135,
          "created": "2021-05-12T09:00:00Z"
        }
      ],
      "item_count": 1258084,
      "page_count": 125809
    }
    GET /blocks
    GET /bidders
    GET /accounts/{public_key}/delegations
    GET /contract-packages
    GET /accounts/{account_identifier}/nft-token-ownership
    GET /accounts/{public_key}/contract-packages
    Streaming API
    Casper Node API
    CSPR.click
    AccountInfo
    Account info
    CentralizedAccountInfo
    AccountInfo
    Account info
    CentralizedAccountInfo
    Casper Account Info Standard
    AccountInfo
    account info
    CentralizedAccountInfo
    ValidatorPerformance
    Account
    Validator performance
    AccountInfo
    Account info
    AccountInfo
    Account info
    Account
    Validator

    Primary CSPR.name of the account

    AccountInfo
    Account info
    AccountInfo
    Account info
    CentralizedAccountInfo
    ContractPackage

    Rates can be included into the ValidatorReward entity

    DelegatorReward

    timestamp

    Rates can be included into the DelegatorReward entity

    Currency
    ISO 8601
    Currency
    Deploy
    Transfer
    ValidatorReward
    Including CSPR rates
    AccountInfo
    Account info
    CentralizedAccountInfo
    ContractPackage
    Contract package
    Account
    ContractPackage
    Contract package
    Account
    ISO 8601

    Account info data provided through the account information contract

    Auction metrics

    Aggregated auction metrics for an era

    Awaiting Deploy

    Deploy that is awaiting for submission

    Block

    Normalized representation of the Casper Network block

    Bidder

    Bidder participating in the auction

    Centralized account info

    Account information about known accounts provided by CSPR.cloud team

    Contract

    Normalized representation of the Casper Network contract

    Contract entry point

    Normalized representation of the Casper Network contract entry point

    Contract package

    Normalized representation of the Casper Network contract package

    Deploy

    Normalized representation of the Casper Network deploy

    Fungible token action

    Action performed on a fungible token

    Fungible token ownership

    Account fungible token ownership

    Non-fungible token (NFT)

    Non-fungible token (NFT)

    Non-fungible token (NFT) action

    Action performed on a non-fungible token (NFT)

    Non-fungible token (NFT) ownership

    Non-fungible token (NFT) ownership

    CSPR rate

    Historical CSPR rate to fiat and popular cryptocurrencies

    CSPR supply

    Network native token (CSPR) supply information

    Transfer

    Normalized representation of the Casper Network transfer transform

    Validator

    Validator participating in an era

    Validator performance

    Historical validator performance based on the era rewards information

    Account
    Account info
    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'
    AccountInfo

    block_height

    Sort blocks by block height

    timestamp

    Sort blocks by timestamp

    proposer_account_info

    AccountInfo

    Account info provided by the block proposer

    proposer_centralized_account_info

    CentralizedAccountInfo

    Account information available for known accounts provided by CSPR.cloud team

    proposer_cspr_name

    string

    Primary CSPR.name of the block proposer account

    PaginatedResponse
    <Block>

    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

    Create Awaiting Deploy
    Add Awaiting Deploy signatures
    Get Awaiting 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

    AccountInfo

    Account info provided by the bidder

    average_performance

    ValidatorPerformance

    Moving average of validator performance based on the received rewards over the past 360 eras (approximately one month)

    centralized_account_info

    CentralizedAccountInfo

    Account information available for known accounts provided by CSPR.cloud team

    cspr_name

    string

    PaginatedResponse
    <Bidder>
    Get auction metrics API

    Primary CSPR.name of the account

    stake

    Sort by stake amount

    account_info

    AccountInfo

    Account info provided by the delegator

    validator_account_info

    AccountInfo

    Account info provided by the validator

    centralized_account_info

    CentralizedAccountInfo

    Account information available for known accounts provided by CSPR.cloud team

    cspr_name

    string

    PaginatedResponse
    <Delegation>

    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

    AccountInfo

    ContractPackage owner account info

    centralized_account_info

    CentralizedAccountInfo

    ContractPackage centralized account info

    PaginatedResponse
    <ContractPackage>

    public_key

    string(64)

    The public key of the delegator account represented as a hexadecimal string. Primary account identifier

    validator_public_key

    string(64)

    Public key of the validator represented as a hexadecimal string. Unique validator identifier

    era_id

    uint32

    Era identifier

    amount

    uint64

    Amount of the reward received by the delegator.

    timestamp

    datetime

    Timestamp indicating when the last block was proposed.

    rate

    float32

    The rate that was relevant at the moment when the last block was proposed. To get more details see Including CSPR rates .

    Account

    public_key

    Accounts receive rewards for delegating to validators.

    Validator

    validator_public_key

    Delegation rewards are associated with the validator, that distributed the rewards

    Get account delegator rewards
    Get total account delegation rewards
    Get total validator delegators' rewards

    tokens_number

    Sort NFT token ownership by tokens number

    contract_package

    ContractPackage

    Fungible contract package

    owner_public_key

    string(68)

    Owner public key if it's an account

    account_info

    AccountInfo

    Owner account info

    centralized_account_info

    CentralizedAccountInfo

    PaginatedResponse
    <NFTTokenOwnership>

    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

    AccountInfo

    ContractPackage owner account info

    centralized_account_info

    CentralizedAccountInfo

    ContractPackage centralized account info

    PaginatedResponse
    <ContractPackage>
    Get list of NFTs owners for a contract
  • Get account NFT activity

  • Get contract NFT activity

  • 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.

    CEP-47
    CEP-78
    Get list of NFTs owned by an account
    Get list of NFTs minted within a contract
    {
      "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.

    Sorting

    Property
    Description

    token_id

    Sort tokens by token_id

    timestamp

    Sort tokens by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    contract_package

    NFT contract package

    owner_public_key

    string(68)

    Owner public key if it's an account

    Response

    PaginatedResponse<NFTToken>

    Example

    from_block_height

    From block height range

    to_block_height

    Sorting
    Property
    Description

    timestamp

    Sort NFT actions by timestamp

    Optional properties

    Property
    Type
    Description

    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)

    Response

    PaginatedResponse<NFTTokenAction>

    Example

    Sorting
    Property
    Description

    tokens_number

    Sort NFT token ownership by tokens number

    Default sorting is tokens_number DESC

    Optional properties

    Property
    Type
    Description

    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

    Response

    PaginatedResponse<NFTTokenOwnership>

    Example

    owner_hash

    Owner hash

    None

    Optional properties

    Property
    Type
    Description

    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

    Response

    Deploy

    Example

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    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

    Response

    Bidder

    Example

    Since this API works only with recent eras, you'll need to replace the era ID with the latest one, which you can fetch using the Get auction metrics API.

    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

    Get block deploys

    Get deploys by block identifier (hash or height).

    Query params

    Query param
    Description

    caller_public_key

    Deploy caller public key

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get fungible token actions

    Get fungible token actions

    Query params

    Property
    Description

    contract_package_hash

    Filter token actions by contract package hash

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Get contract package fungible token actions

    Get contract package fungible token actions by contract package hash

    Query params

    Property
    Description

    from_block_height

    From block height range

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Non-fungible token (NFT) action

    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.

    Properties

    The NFTTokenAction entity has the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the NFTTokenAction entity:

    Property
    Type
    Description

    Relations

    Entity
    Mapping property
    Description

    Endpoints

    The NFTTokenAction entity has the following endpoints:

    Relation endpoints

    The NFTTokenAction entity has the following relation endpoints:

    Account

    The Account entity represents the account observed in the network activity. For example, when the corresponding public key was passed as a deploy argument. Because of that, an Account may not necessarily have a purse and on-chain balance.

    Properties

    The Account entity has the following properties:

    Contract package

    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.

    Properties

    The ContractPackage entity has the following properties:

    Property

    Account Info

    The AccountInfo entity represents a record of an account along with related metadata in the context of the . This entity is parsed from the and stores a denormalized representation of the data from this contract.

    Properties

    The AccountInfo entity has the following properties:

    Property

    Non-fungible token (NFT)

    The NFTToken entity provides representation of an NFT on Casper Network. CSPR.cloud supports NFTs compatible with the and Casper Network standards.

    Properties

    The NFTToken entity has the following properties:

    Property

    Get contract package NFT actions

    Get contract package NFT actions by its hash

    Query params

    Query param
    Description

    Transfer

    The Transfer entity represents a successful native token (CSPR) transfer on the Casper network. Transfers are tracked from the transforms found in the deploy execution results.

    Properties

    The Transfer entity has the following properties:

    Property

    Get account NFT actions

    Get account NFT actions by its identifier (public key or account hash)

    Query params

    Query param
    Description

    Get account fungible token actions

    Get account fungible token actions by identifier (public key or account hash)

    Query params

    Property
    Description

    Get account fungible token ownership

    Get accounts fungible token ownership by identifier (public key or account hash)

    Query params

    None

    Get fungible token action types

    Get a list of fungible token action types

    Query params

    None

    Sorting

    GET /accounts/{account_identifier}/nft-tokens
    curl -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-actions
    curl -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-ownership
    curl -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}/deploys
    GET /ft-token-actions
    GET /contract-packages/{contract_package_hash}/ft-token-actions
    ContractPackage

    Action target public key if it's an account

    to_account_info

    AccountInfo

    Action source account info if it's an account

    to_centralized_account_info

    CentralizedAccountInfo

    Action target centralized account info if it's an account

    from_account_info

    AccountInfo

    Action target account info if it's an account

    from_centralized_account_info

    CentralizedAccountInfo

    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

    ContractPackage
    Deploy

    Owner centralized account info

    ContractPackage
    AccountInfo
    CentralizedAccountInfo

    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

    [] NFTTokenAction

    List of NFTTokenAction entities.

    ft_token_actions

    [] FTTokenAction

    List of Fungible token action entities.

    AccountInfo
    Account info
    CentralizedAccountInfo

    Primary CSPR.name of the account

    AccountInfo
    Account info
    ValidatorPerformance
    CentralizedAccountInfo
    None

    Optional properties

    None

    Response

    List of value objects describing the available fungible token action types

    Example

    GET /ft-token-action-types
    curl -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

    AccountInfo

    Account info provided by the deploy caller

    centralized_account_info

    CentralizedAccountInfo

    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

    PaginatedResponse
    <Deploy>

    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

    ContractPackage

    Fungible contract package

    deploy

    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)

    PaginatedResponse
    <FTTokenAction>

    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

    ContractPackage

    Fungible contract package

    deploy

    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)

    PaginatedResponse
    <FTTokenAction>

    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

    ContractPackage

    NFT contract package

    deploy

    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

    contract_package_hash

    NFT actions belong to a contract package

    Account

    from_hash, to_hash

    NFT actions could have accounts as the action source and target

    NFTToken

    tracking_id

    NFT actions are performed under non-fungible tokens

    Get contract package NFT actions for a token
    Get account NFT actions
    Get contract package NFT actions
    Get NFT action types

    uint8

    Action target public key if it's an account

    Property
    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Account entity:

    Property
    Type
    Description

    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

    Relations

    The Account entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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

    Endpoints

    The Account entity has the following endpoints:

    • Get account

    • Get accounts

    Relation endpoints

    The Account entity has the following relation endpoints:

    • Get account contract packages

    • Get account delegations

    • Get account delegation rewards

    • Get total account delegation rewards

    Type
    Description

    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:

    Metadata Property
    Type
    Description

    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)

    Optional properties

    Depending on the endpoint, the following optional property may be included in the ContractPackage entity:

    Property
    Type
    Description

    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.

    Relations

    The ContractPackage entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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

    Endpoints

    The ContractPackage entity has the following endpoints:

    • Get contract package

    • Get contract packages

    Relation endpoints

    The ContractPackage entity has the following relation endpoints:

    • Get contract package contracts

    • 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)

    Contract Package
    Type
    Description

    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

    Optional properties

    None

    Relations

    The AccountInfo entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    account_hash

    Account info is related to an account

    deploy_hash

    Contracts are deployed to the network with a deploy call.

    Endpoints

    The AccountInfo entity has the following endpoints:

    • Get account info

    • Get account infos

    Relation endpoints

    None

    Casper Account Info Standard
    Casper Account Info Contract
    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the NFTToken entity:

    Property
    Type
    Description

    contract_package

    NFT contract package

    owner_public_key

    string(68)

    Owner public key if it's an account

    Relations

    Entity
    Mapping property
    Description

    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

    Endpoints

    The NFTToken entity has the following endpoints:

    • Get NFT

    • Get account NFTs

    • Get contract package NFTs

    Relation endpoints

    The NFTToken entity has the following relation endpoints:

    • Get NFT standards

    • Get off-chain NFT metadata statuses

    CEP-47
    CEP-78

    To block height range

    deploy_hash

    Comma-separated list of deploy hashes

    Sorting

    Property
    Description

    timestamp

    Sort NFT actions by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    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)

    Response

    PaginatedResponse<NFTTokenAction>

    Example

    from_block_height

    From block height range

    to_block_height

    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Transfer entity:

    Property
    Type
    Description

    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)

    Relations

    The Transfer entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    initiator_account_hash, to_account_hash

    Accounts can send and receive transfers

    deploy_hash

    Transfers are results of deploy execution

    Endpoints

    The Transfer entity has the following endpoints:

    • Get account transfers

    • Get deploy transfers

    Relation endpoints

    None

    WriteTransfer

    To block height range

    deploy_hash

    Comma-separated list of deploy hashes

    Sorting

    Property
    Description

    timestamp

    Sort NFT actions by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    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)

    Response

    PaginatedResponse<NFTTokenAction>

    Example

    from_block_height

    From block height range

    to_block_height

    To block height range

    deploy_hash

    Comma-separated list of deploy hashes

    Sorting

    Property
    Description

    timestamp

    Sort fungible token actions by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    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)

    Response

    PaginatedResponse<FTTokenAction>

    Example

    from_block_height

    From block height range

    to_block_height

    Sorting

    None

    Optional properties

    Property
    Type
    Description

    contract_package

    Fungible contract package

    account_info

    Owner account info

    centralized_account_info

    Owner centralized account info

    Response

    PaginatedResponse<FTOwnership>

    Example

    Get deploys

    Get a paginated list of deploys.

    Query params

    Query param
    Description

    caller_public_key

    Deploy caller public key

    Sorting

    Property
    Description

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    Response

    Example

    Fungible token action

    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.

    Properties

    The FTTokenAction entity has the following properties:

    Property
    Type
    Description

    Example

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the FTTokenAction entity:

    Property
    Type
    Description

    Relations

    Entity
    Mapping property
    Description

    Endpoints

    The FTTokenAction entity has the following endpoints:

    Relation endpoints

    The FTTokenAction entity has the following relation endpoints:

    Optional properties

    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.

    Requests

    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:

    Get account deploys

    Get deploys by the caller account public key.

    Query params

    Query param
    Description

    Get account infos

    Get account infos

    Endpoint

    Query params

    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-actions
    curl -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-actions
    curl -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-actions
    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
    }
    GET /accounts/{account_identifier}/ft-token-ownership
    curl -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 /deploys
    ContractPackage
    Contract
    Contract
    ContractEntrypoint
    ContractEntrypoint
    Transfer
    NFTTokenAction
    FTTokenAction
    AccountInfo
    CentralizedAccountInfo
    AccountInfo
    CentralizedAccountInfo
    AccountInfo
    CentralizedAccountInfo
    AccountInfo
    CentralizedAccountInfo
    NFT action type

    Total undelegated funds that will be returned to the account main purse after the 7 era lockdown period

    account_info

    AccountInfo

    Account info provided by the account owner

    centralized_account_info

    CentralizedAccountInfo

    Account information available for known accounts provided by CSPR.cloud team

    Account can call deploys on the network

    Delegation

    proposer_public_key

    Account can have delegations to validators

    Delegator reward

    public_key

    Account can receive delegator rewards

    Fungible token ownership

    owner_hash

    Account can own fungible tokens

    Fungible token action

    from_hash, to_hash

    Account can be on the sending or receiving end of a fungible token action

    NFT

    owner_hash

    Account can own NFTs

    NFT action

    from_hash, to_hash

    Account can be on the sending or receiving end of a fungible token action

    NFT ownership

    owner_hash

    Account can own multiple NFTs in one NFT contract

    Transfer

    initiator_account_hash, to_account_hash

    Account can initiate transfers and be a transfer recipient

    Validator

    public_key

    Account can be a validator

    Get account deploys
    Get account fungible token ownership
    Get account fungible token actions
    Get account NFTs
    Get account NFT actions
    Get account transfers
    AccountInfo
    Account Info contract
    Bidder
    Contract package
    Deploy

    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.

    Get contract package fungible token ownership
    Get contract package fungible tokens
    function includer
    Deploy
    Contract

    []string

    List of verified account hashes represented as a hexadecimal string

    created

    datetime

    Account info creation timestamp

    updated

    datetime

    Account info last update timestamp

    Casper Account Info Standard
    Casper Account Info Contract
    Account
    Deploy

    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

    NFT standard
    ContractPackage
    Contract package
    Account
    NFTTokenAction

    Action target public key if it's an account

    to_account_info

    AccountInfo

    Action source account info if it's an account

    to_centralized_account_info

    CentralizedAccountInfo

    Action target centralized account info if it's an account

    from_account_info

    AccountInfo

    Action target account info if it's an account

    from_centralized_account_info

    CentralizedAccountInfo

    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

    ContractPackage
    Deploy

    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

    AccountInfo

    Transfer recipient account info

    to_centralized_account_info

    CentralizedAccountInfo

    Transfer recipient centralized account info

    from_purse_account_info

    AccountInfo

    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

    CentralizedAccountInfo

    Centralized account info that owns the transfer source purse. null when the sender purse is not own by an account

    to_purse_account_info

    AccountInfo

    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

    CentralizedAccountInfo

    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

    WriteTransfer
    Account
    Deploy

    Action target public key if it's an account

    to_account_info

    AccountInfo

    Action source account info if it's an account

    to_centralized_account_info

    CentralizedAccountInfo

    Action target centralized account info if it's an account

    from_account_info

    AccountInfo

    Action target account info if it's an account

    from_centralized_account_info

    CentralizedAccountInfo

    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

    ContractPackage
    Deploy

    Action target public key if it's an account

    to_account_info

    AccountInfo

    Action source account info if it's an account

    to_centralized_account_info

    CentralizedAccountInfo

    Action target centralized account info if it's an account

    from_account_info

    AccountInfo

    Action target account info if it's an account

    from_centralized_account_info

    CentralizedAccountInfo

    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

    ContractPackage
    Deploy
    ContractPackage
    AccountInfo
    CentralizedAccountInfo
    Scalar values

    To include a scalar value its name should be specified the includes list.

    Objects

    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

    Functions

    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:

    Examples

    Scalar values

    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.

    Objects

    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.

    Functions

    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 info standard data
    Name
    Type
    Description

    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:

    Sorting

    None

    Optional properties

    None

    Response

    PaginatedResponse<AccountInfo>

    Example

    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-info
    POST /account-info
    curl -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

    AccountInfo

    Account info provided by the deploy caller

    centralized_account_info

    CentralizedAccountInfo

    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

    PaginatedResponse
    <Deploy>

    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

    ContractPackage

    Fungible contract package

    deploy

    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

    contract_package_hash

    Fungible tokens actions belong to a contract package

    Account

    from_hash, to_hash

    Fungible token actions could have accounts as the action source and target

    Get fungible token actions
    Get contract package fungible token actions
    Get account fungible token actions
    Get fungible token action types

    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

    Sorting

    Property
    Description

    timestamp

    Sort deploys by timestamp

    Default sorting is timestamp DESC

    Optional properties

    Property
    Type
    Description

    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

    Response

    PaginatedResponse<Deploy>

    Example

    contract_package_hash

    Contract package hash of the called contract

    contract_hash

    Deploy

    The Deploy entity provides a normalized representation of the Casper Network deploy. It is enriched with normalized contract data to make it possible to filter deploys by the contract regardless of the execution type.

    Properties

    The Deploy entity has the following properties:

    Property

    Contract

    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.

    Properties

    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}/deploys
    curl -X 'GET' \
      'https://api.testnet.cspr.cloud/accounts/020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c/deploys' \
      -H 'accept: application/json' \
      -H 'authorization: 55f79117-fc4d-4d60-9956-65423f39a06a'
    {
      "item_count": 20,
      "page_count": 2,
      "data": [
        {
          "args": {
            "amount": {
              "cl_type": "U512",
              "parsed": "2500000000"
            },
            "id": {
              "cl_type": {
                "Option": "U64"
              },
              "parsed": null
            },
            "target": {
              "cl_type": {
                "ByteArray": 32
              },
              "parsed": "bb9b87e33a64af8fda37ceab67609b79500e8d88a2f5364f321fdc2d6ec1f74d"
            }
          },
          "block_hash": "a87896eeafadc85a9adb4ee4dd6bb8bc5d4edf8b1695f2999916324041443b03",
          "block_height": 2175890,
          "caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
          "contract_hash": null,
          "contract_package_hash": null,
          "cost": "100000000",
          "deploy_hash": "18be0ac6c551e3a80a27847004db4cf9614ac7104b6448c7be6418116c32569b",
          "entry_point_id": null,
          "error_message": null,
          "execution_type_id": 6,
          "payment_amount": "100000000",
          "status": "processed",
          "timestamp": "2023-11-03T14:33:27Z"
        },
        {
          "args": {
            "amount": {
              "cl_type": "U512",
              "parsed": "5000000000"
            },
            "id": {
              "cl_type": {
                "Option": "U64"
              },
              "parsed": 1684147006568
            },
            "target": {
              "cl_type": "PublicKey",
              "parsed": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c"
            }
          },
          "block_hash": "43ca28afa8ed3ee7ffbe97d3f47556663942e4fa7d8420f49b9f3a5e1eec6a6e",
          "block_height": 1724562,
          "caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
          "contract_hash": null,
          "contract_package_hash": null,
          "cost": "100000000",
          "deploy_hash": "21945b6f126abc7de1e2d84a7161f101a7c19b22eb256dfa8e8b1d8886652ee6",
          "entry_point_id": null,
          "error_message": "ApiError::InvalidPurse [12]",
          "execution_type_id": 6,
          "payment_amount": "100000000",
          "status": "processed",
          "timestamp": "2023-05-15T10:36:59Z"
        },
        ...
        {
          "args": {
            "amount": {
              "cl_type": "U512",
              "parsed": "5000000000"
            },
            "id": {
              "cl_type": {
                "Option": "U64"
              },
              "parsed": 1684318398541
            },
            "target": {
              "cl_type": "PublicKey",
              "parsed": "0203286173807276184a856010020a78df0ddf617364936b6e15efb6c1bae2f228bb"
            }
          },
          "block_hash": "f073ab064a7545593d71a8af82021b004be3a23c7ad47c5b27a4287ab894c396",
          "block_height": 1729784,
          "caller_public_key": "020304811a7b142c32860cb1c114f23b0754215918d819f485b0a201af6cde70fa6c",
          "contract_hash": null,
          "contract_package_hash": null,
          "cost": "100000000",
          "deploy_hash": "6799726d44a7fd492fb284333dac7133902e405b760bf9dfe38998f995eb7117",
          "entry_point_id": null,
          "error_message": null,
          "execution_type_id": 6,
          "payment_amount": "100000000",
          "status": "processed",
          "timestamp": "2023-05-17T10:13:46Z"
        }
      ]
    }
    Contract
    ContractEntrypoint
    Transfer
    NFTTokenAction
    FTTokenAction
    Fungible token action type

    ContractPackage called by deploy.

    contract

    Contract

    Contract called by deploy.

    contract_entrypoint

    ContractEntrypoint

    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

    [] NFTTokenAction

    List of NFTTokenAction entities.

    ft_token_actions

    [] FTTokenAction

    List of Fungible token action entities.

    AccountInfo
    Account info
    CentralizedAccountInfo
    ContractPackage
    Type
    Description

    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

    Optional properties

    Depending on the endpoint some of the following optional properties may be included in the Deploy entity:

    Property
    Type
    Description

    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

    Relations

    The Deploy entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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

    Endpoints

    The Deploy entity has the following endpoints:

    • Get deploy

    • Get deploys

    • Get account deploys

    • Get block deploys

    Relation endpoints

    • Get deploy execution types

    Property
    Type
    Description

    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

    Optional properties

    Depending on the endpoint, the following optional properties may be included in the Contract entity:

    Property
    Type
    Description

    contract_package

    Contract package, this contract version is a part of

    Relations

    The Contract entity has the following relations with other entities:

    Entity
    Mapping property
    Description

    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

    Endpoints

    The Contract entity has the following endpoints:

    • Get contract

    • Get contracts

    • Get contract package contracts

    Relation endpoints

    The Contract entity has the following relation endpoints:

    • Get contract entry points

    • Get contract types

    Contract
    Contract entry point
    {
      "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

    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.

    ContractPackage

    contract_package_hash

    Deploys can call contracts in contract packages.

    DeployExecutionType

    execution_type_id

    Deploys call contracts via different execution types.

    Fungible token action

    deploy_hash

    Fungible token actions are result of deploy execution.

    NFT

    NFTs are created as result of deploy execution. There is no direct mapping, but rather a semantic relationship between deploys and nft tokens.

    NFT Action

    deploy_hash

    NFT actions are result of deploy execution.

    Transfer

    deploy_hash

    Transfers are result of deploy execution.

    DeployExecutionType
    AccountInfo
    Account info
    CentralizedAccountInfo
    ContractPackage
    ContractPackage
    Contract
    Account
    Block
    Contract
    ContractEntrypoint

    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

    here
    ContractPackage
    Deploy
    ContractEntrypoint
    ContractPackage