NAV Navbar


Provide is an enterprise low-code application platform for distributed systems that makes it quick and easy to add blockchain to your organization's technology stack. This documentation describes the Provide architecture and a holistic suite of APIs made available by Provide for organizations and developers to build, test and scale Web3 applications and distributed systems.

Platform Overview

This overview provides an inventory of core APIs which are suitable for building all kinds of Web3 applications. The APIs enable users to orchestrate public and permissioned peer-to-peer infrastructure, connect that infrastructure with legacy systems and build sophisticated applications in a low-code environment.

Infrastructure APIs

Core APIs

Composite APIs

Client Libraries

The following open-source client libraries are available on GitHub:

Provide has a web UI and CLI to manage and consume our APIs. Note that the web UI is meant only for developers at this time.


Provide requires the presence of a bearer API token to authorize most API calls. A bearer API token is an encoded JWT which contains a subject claim (sub) which references the authorized entity (i.e., a User or Application). The encoded JWT token will, in most cases, include an expiration (exp) after which the token is no longer valid. Tokens issued without an expiration date (i.e., certain machine-to-machine API tokens) can be explicitly revoked. The standard and application-specific JWT claims are signed using the RS256 algorithm. The authorized entity may use the signed bearer Token to access one or more platform resources for which the Token was authorized. Unless otherwise noted, all API requests must include a header such as: Authorization: bearer <JWT>.

The bearer Authorization header is scoped to an authorized platform User or an Application as described above.

The encoded JWT is signed using the RS256 (RSA Signature with SHA-256) algorithm. The following public key can be used to verify the signature:

-----END PUBLIC KEY-----


Collection endpoints which return large datasets support the following pagination query parameters:

Query Param Description
page The 1-based page number being requested
rpp The results per page being requested

When no page and rpp parameters are provided in the query, sane defaults (i.e., page=1&rpp=25 will be applied based on the resource being requested.

An X-Total-Results-Count header is provided in the response as a hint indicating how many total results exist for the requested resource, all filters applied.

The Range and Content-Range entity headers are not currently supported for pagination.

Status Codes

The following status codes describe Provide API responses:

Status Code Meaning
200 OK The request was successful
201 Created The request was successful and a new entity was created
202 Accepted The request was successfully accepted and processing will complete asynchronously
204 No Content The request was successful but did not return a response
401 Unauthorized The request required an API Authorization header, or one was provided which could not be authenticated
403 Forbidden The supplied API Authorization header does not have permission to access the requested resource
404 Not Found Platform did not find the requested resource
429 Too Many Requests The request was not accepted due to exceeding the rate limit
500 Internal Server Error The request resulted in an internal error during processing
501 Not Implemented The requested resource is not implemented by the platform
503 Service Unavailable The request cannot be fulfiled due to temporary unavailability of a backend service

Rate Limits

We reserve the right to enforce rate limits on certain API calls in the future.