1. Home
  2. bloXroute Documentation
  3. Cloud-API
  4. Cloud-API Overview

Cloud-API Overview

Starting with version 1.7, the BDN supports sending transactions and subscribing to Transaction Streaming using the Cloud-API. This allows bloXroute accounts to access the BDN without a Gateway (and thus without running a node).

The Cloud-API is available with paid plans.

To Get Started With bloXroute Cloud-API

 

1. Register an account.

2. Save the certificate and secret hash to a folder.

For example:

/usr/bloxroute/certificate

3. Prepare the authorization header using the account-id and secret hash from the account registration.

For example:

import base64
base64.b64encode(f"{account_id}:{secret_hash}".encode("utf-8")).decode("utf-8")

Example account-id from Customer Portal:

4. For Sending Transactions, use the authorization header you created in step 3.

The easiest way to test your account ID / secret key is to fetch your quota usage using this request.

curl http://api.blxrbdn.com:443 --data '{"method": "quota_usage", "id": "1", "params": null}' --header "Content-Type:text/plain"  --header "Authorization:xxxxxxxxxxxx"

You should get a response that looks like this:

"{\"jsonrpc\": \"2.0\", \"id\": \"1\", \"result\": {\"account_id\": \"\", \"quota_filled\": 0, \"quota_limit\": 500}}"

5. For Transaction Streaming via the Cloud-API, use the certificate and private key you saved in step 3.

 

Sending a Message to the Cloud-API Using Direct HTTP Request

 
The interface to the bloXroute Cloud-API is based on RPC. Use http://api.blxrbdn.com:443 to send requests to the Cloud-API. This domain will resolve to the nearest available Cloud-API provider.

Each request must have the following headers:

  • Content-Type: text/plain
  • Authorization: should be base64 encoding of combination of account_id:secret_hash

 
secret_hash is the api key you received during the account registration.

Python code example:

import base64
base64.b64encode(f"{account_id}:{secret_hash}".encode("utf-8")).decode("utf-8")

The data must be in a JSON format and should include the following fields:

  • method: blxr_tx / quota_usage
  • id: request-id
  • params: extra parameters depends on the method