Quant Overledger API (2.0)

Download OpenAPI specification:Download

Quant's Overledger API allows developers to create applications for multiple DLT's using a single standard set of operations and data structures.In order to maintain the security of private keys, most operations have two steps – prepare and execute. The prepare step is the point at which all arguments are specified and standardised payloads are sent. Overledger converts this standard payload into a DLT-specific transaction object. In the execute step, the SDK signs the transaction object that Overledger created and submits it to Overledger to perform the operation

Create a Transaction

Execute a transaction on a DLT

Takes a request ID and submits a signed transaction to the requested DLT.

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$

The ID assigned to a preparation request in Overledger

signed
required
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/transaction
Request samples
application/json

Execute Transaction

{
  • "requestId": "79763168-a4f9-42bf-9f10-2e08491136a7",
  • "signed": "0xf8a9398501ef4f86e682a0c294f9cd6c86992fce1481dbc4bdb7e1b101c1e8cee280b844a9059cbb000000000000000000000000d8b31b65878a6b1a6caf9f4819c1a42d68a7a11600000000000000000000000000000000000000000000000000038d7ea4c6800029a088680bffd2eb74053e968ac8bcd1f76beaa61b353d8616a8cc559e57685080bea07a77b7591f09290fbb9cda5263471e8a9ca46f4c7b30d6a4885e583771d809f5"
}
Response samples
application/json

Bitcoin

{
  • "urgency": "normal",
  • "requestId": "5d4935ae-d395-4cc7-a7e6-3777127cfd09",
  • "overledgerTransactionId": "ac71c2f4-ab67-434f-b83a-4514ce10847a",
  • "location": {
    },
  • "type": "payment",
  • "transactionId": "320034aa1ea43541fcdcfa65ef7e127c19935b532bc59f92ad227370011d9cef",
  • "status": {
    }
}

Prepare a DLT transaction for signing

Transforms a transaction request into a payload ready for signing for the requested DLT and returns a request ID for executing. Supported transaction types in this release are "Payment" (to send payments) and "Smart Contract Invoke" (to invoke arbitrary smart contract functions). Warning: Bitcoin transaction fees will be deducted from the last destination provided in the transaction payment request. If the last destination payment value is not enough to cover the fees, your Bitcoin payment transaction will fail.

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
One of:
urgency
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}
object (PaymentRequestDetailsSchema)
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

type
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/transaction
Request samples
application/json

Substrate

{
  • "urgency": "normal",
  • "requestDetails": {
    },
  • "location": {
    },
  • "type": "PAYMENT"
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "e566fab4-141d-445e-8c3c-e936c553cc99",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

Prepare a DLT native transaction

Allows advanced developers to submit their own DLT native transactions via Overledger. Returns a request ID for executing a DLT native transaction on the requested DLT

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

type
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

The type of the object

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/nativetransaction
Request samples
application/json

Native Transaction

{
  • "location": {
    },
  • "type": "Native Transaction"
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Execute a native transaction on the DLT

Takes a request ID and submits a signed native transaction to the requested DLT

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$

The ID assigned to a preparation request in Overledger

signed
required
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/nativetransaction
Request samples
application/json

Execute Native Transaction

{
  • "requestId": "79763168-a4f9-42bf-9f10-2e08491136a7",
  • "signed": "0xf8a9398501ef4f86e682a0c294f9cd6c86992fce1481dbc4bdb7e1b101c1e8cee280b844a9059cbb000000000000000000000000d8b31b65878a6b1a6caf9f4819c1a42d68a7a11600000000000000000000000000000000000000000000000000038d7ea4c6800029a088680bffd2eb74053e968ac8bcd1f76beaa61b353d8616a8cc559e57685080bea07a77b7591f09290fbb9cda5263471e8a9ca46f4c7b30d6a4885e583771d809f5"
}
Response samples
application/json

Execute Response

{
  • "requestId": "242284e2-e53e-4c28-b74c-e5b2c5fa7399",
  • "overledgerTransactionId": "dded55c2-a0fb-4e7b-8f95-771332c32507",
  • "location": {
    },
  • "type": "Native Transaction",
  • "transactionId": "0x05b4b5cf07013acfed5a2ffbfc51c4d16e920cfbcc86d68ed71a3a418b9a110e",
  • "status": {
    }
}

Execute a search for a transaction on a DLT

Takes a request ID and searches for the transaction on the requested DLT

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

400

Bad Request

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/transaction
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/transaction?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Execute Response

{
  • "location": {
    },
  • "type": "PAYMENT",
  • "transaction": {
    },
  • "timestamp": "1624007506",
  • "status": {
    }
}

Prepare and automatically execute a search for a transaction on a DLT.

Generates a request ID and automatically executes the transaction search on the requested DLT.

SecurityOAuth2_Security_Scheme
Request
query Parameters
transactionId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9-]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

400

Bad Request

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/autoexecution/search/transaction
Request samples
application/json

Prepare And Execute Transaction Search

{
  • "location": {
    }
}
Response samples
application/json

Successful Prepare and Failed Execute Response

{
  • "executionTransactionSearchOverledgerErrorResponse": {
    },
  • "preparationTransactionSearchResponse": {
    }
}

Prepare a search for a transaction on a DLT

Searches for and returns data on transactions on a particular DLT. Returns a request ID for executing a transaction search on the requested DLT

SecurityOAuth2_Security_Scheme
Request
query Parameters
transactionId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9-]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/transaction
Request samples
application/json

Transaction Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Supported Fungible Tokens

Retrieve a list of ERC20 and QRC20 tokens

Retrieves a list of fungible tokens supported by Overledger and which API's and functions you can use for each. You can retrieve all fungible token types for all locations without providing parameters. If you want to see what tokens are supported for a specific contract type you can pass in either ERC20 or QRC20 as a contract type parameter. You can then filter further by including the resource using technology and network parameters. You can also look for a specific token by passing in the unit as a parameter.

Request
query Parameters
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

contractType
string
unit
string
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

get/v2/tokens/fungible
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({
    network: 'string',
    technology: 'string',
    contractType: 'string',
    unit: 'string'
  }).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/tokens/fungible?${query}`,
    {method: 'GET'}
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Tokens

[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

mDApp Transaction Query

Retrieve a list of transactions created by your application in Overledger

Returns a list of transactions and the corresponding Overledger Transaction ID your application has created in Overledger. Does not require a Prepare step, as this data is held within Overledger, rather than on the DLT

SecurityOAuth2_Security_Scheme
Request
query Parameters
offset
integer <int32>
Default: 0
length
integer <int32>
Default: 25
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/mdapptransactions
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({
    offset: '0',
    length: '25'
  }).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/mdapptransactions?${query}`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

List Overledger Transactions

[
  • {
    },
  • {
    }
]

Retrieve information about a specific transaction created by your application in Overledger

Returns information for a specific transaction based on a given Overledger Transaction ID. Does not require a Prepare step, as this data is held within Overledger, rather than on the DLT

SecurityOAuth2_Security_Scheme
Request
path Parameters
overledgertransactionid
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9\-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

get/v2/mdapptransaction/{overledgertransactionid}
Request samples
import fetch from 'node-fetch';

async function run() {
  const overledgertransactionid = 'YOUR_overledgertransactionid_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/mdapptransaction/${overledgertransactionid}`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Overledger Transaction

{
  • "clientId": "66vioicl7k3kh99thp3g4vgsl7",
  • "requestId": "a3a091d3-6718-4e77-afb5-0cd3ffc266bf",
  • "overledgerTransactionId": "c849b101-dd64-4100-a809-7812cf64dbcb",
  • "location": {
    },
  • "transactionHistory": [
    ],
  • "type": "Contract Invoke",
  • "transactionId": "0x401ab7fafc12b97d63ec825de6557b8f13b077373e1bb4ded62b4b263c0a2e23",
  • "status": {
    }
}

Monitor a Resource

Monitor an address for incoming and outgoing transactions

Overledger creates a tracking record for the given address and records information each time the given address receives or sends transactions on the DLT

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
callBackURL
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

addressId
string [ 0 .. 200 ] characters ^[a-zA-Z0-9]{1,100}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/resourcemonitoring/address
Request samples
application/json

Monitor Address

{
  • "location": {
    },
  • "addressId": "0xd8b31B65878a6B1a6cAf9f4819C1A42d68a7A116"
}
Response samples
application/json

Create Resource Monitoring

{
  • "subscriptionDetails": {
    },
  • "resourceMonitoring": {
    },
  • "subscription": {}
}

Monitor a smart contract for an event

Overledger creates a tracking record for the given smart contract and records information each time a transaction on the DLT triggers a specific event

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
callBackURL
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
Array of objects (MonitorSmartContractEventParam)
eventName
string [ 0 .. 100 ] characters ^[a-zA-Z0-9 ]{1,100}$
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

smartContractId
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/resourcemonitoring/smartcontractevent
Request samples
application/json

Monitor Smart Contract

{
  • "eventParams": [
    ],
  • "eventName": "mul",
  • "location": {
    },
  • "smartContractId": "0x8781d54e454377451D9C6928538Db544Caa65CDf"
}
Response samples
application/json

Create Smart Contract Monitoring

{
  • "subscriptionDetails": {
    },
  • "resourceMonitoring": {
    },
  • "subscription": {}
}

Manage Monitored Resources

Retrieve a list of smart contracts being monitored

Returns a list of smart contracts being monitored for your application and the corresponding Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/smartcontractevents
Request samples
import fetch from 'node-fetch';

async function run() {
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/smartcontractevents`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Retrieve a list of all resources being monitored

Returns a list of all of the resources being monitored for your application and the corresponding Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring
Request samples
import fetch from 'node-fetch';

async function run() {
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Update the monitoring status of a smart contract

Updates the resource monitoring status to be either active or inactive for the given Resource Monitoring ID. Updating the status to be inactive will pause Overledger recording updates for the requested smart contract

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (StatusUpdateSchema)
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

patch/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
application/json

Update Monitoring

{
  • "statusUpdate": {
    }
}
Response samples
application/json

Update Monitoring

{
  • "smartContractEventMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve recorded updates for a specific monitored smart contract

Returns the update information recorded in Overledger for asmart contract being monitored by your application for a given Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
import fetch from 'node-fetch';

async function run() {
  const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/smartcontractevent/${resourceMonitoringId}`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Get Resource Monitoring Details

{
  • "smartContractEventHistory": [ ],
  • "smartContractEventDetails": {
    },
  • "location": {
    },
  • "type": "Smart Contract Event",
  • "status": {
    },
  • "timestamp": "2021-09-22T12:46:19.810922Z"
}

Stop monitoring a smart contract

Deletes the tracking record in Overledger to stop Overledger from recording updates for a smart contract based on the given Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

delete/v2/resourcemonitoring/smartcontractevent/{resourceMonitoringId}
Request samples
import fetch from 'node-fetch';

async function run() {
  const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/smartcontractevent/${resourceMonitoringId}`,
    {
      method: 'DELETE',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Update Monitoring

{
  • "smartContractEventMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Update the monitoring status of an address

Updates the resource monitoring status to be either active or inactive for the given Resource Monitoring ID. Updating the status to beinactive will pause Overledger recording updates for the requested address

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (StatusUpdateSchema)
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

patch/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
application/json

Update Monitoring

{
  • "statusUpdate": {
    }
}
Response samples
application/json

Update Resource Monitoring

{
  • "addressMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve recorded updates for a specific monitored address

Returns the update information recorded in Overledger for an address being monitored by your application for a given Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
import fetch from 'node-fetch';

async function run() {
  const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/address/${resourceMonitoringId}`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Get Resource Monitoring

{
  • "location": {
    },
  • "addressDetails": {
    },
  • "addressHistory": [
    ],
  • "type": "Address",
  • "timestamp": "1626692612",
  • "status": {
    }
}

Stop monitoring an address

Deletes the tracking record in Overledger to stop Overledger from recording updates for an address based on the given Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
path Parameters
resourceMonitoringId
required
string [ 0 .. 36 ] characters ^[a-zA-Z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

delete/v2/resourcemonitoring/address/{resourceMonitoringId}
Request samples
import fetch from 'node-fetch';

async function run() {
  const resourceMonitoringId = 'YOUR_resourceMonitoringId_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/address/${resourceMonitoringId}`,
    {
      method: 'DELETE',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Delete Resource Monitoring

{
  • "addressMonitoringDetails": {
    },
  • "resourceMonitoring": {
    }
}

Retrieve a list of addresses being monitored

Returns a list of addresses being monitored for your application and the corresponding Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

get/v2/resourcemonitoring/addresses
Request samples
import fetch from 'node-fetch';

async function run() {
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/resourcemonitoring/addresses`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

List Resource Monitoring

[
  • {
    }
]

Create a Subscription

Create a subscription for a transaction or monitored resource

Creates a subscription to receive status updates for a transaction created in Overledger, or to receive updates each time a transaction happens on the requested DLT for a resource (e.g. address) being monitored, to the requested callback URL. Subscriptions are created using an Overledger Transaction ID or Resource Monitoring ID

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
ids
Array of strings [ 0 .. 36 ] items
callbackUrl
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
type
string [ 0 .. 50 ] characters ^[a-zA-Z0-9-_ ]{1,50}$
Responses
200

All good!

400

Something went wrong on your side

401

Unauthorised

404

{id} does not exist

500

Something went wrong on our side

post/v2/webhook/subscription
Request samples
application/json

Create Subscription

{}
Response samples
application/json

Create Subscription

[
  • {
    }
]

Manage Subscriptions

Update a specific subscription created by your application

Updates the subscription callback URL and/or the subscription status to be either active or track only for the given Subscription ID. Updating the status to be track only will pause updates being sent to the requested callback URL

SecurityOAuth2_Security_Scheme
Request
path Parameters
subscriptionId
required
string [ 0 .. 24 ] characters ^[a-z0-9-]{1,24}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (StatusUpdateSchema)
callbackUrl
string [ 0 .. 300 ] characters ^http[\S\s]{1,300}$
Responses
200

All good!

401

Unauthorised

404

You do not currently have any subscriptions

405

Method is not allowed

500

Something went wrong on our side

patch/v2/webhook/subscription/{subscriptionId}
Request samples
application/json

Update Subscription

{}
Response samples
application/json

200 Update Success

{
  • "subscriptionDetails": {
    },
  • "subscriptionId": "61406222b65cf749ea893c1a",
  • "type": "resourceMonitoringId"
}

Remove a subscription created by your application

Deletes a subscription created by your application based onthe given Subscription ID. Deleting a subscription will stop updates being sent to the requested callback URL

SecurityOAuth2_Security_Scheme
Request
path Parameters
subscriptionId
required
string [ 0 .. 24 ] characters ^[a-z0-9-]{1,24}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

You do not currently have any subscriptions

500

Something went wrong on our side

delete/v2/webhook/subscription/{subscriptionId}
Request samples
import fetch from 'node-fetch';

async function run() {
  const subscriptionId = 'YOUR_subscriptionId_PARAMETER';
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/webhook/subscription/${subscriptionId}`,
    {
      method: 'DELETE',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

200 Delete Successful

{
  • "subscriptionDetails": {
    },
  • "subscriptionId": "6141b9bcb65cf749ea893c45",
  • "type": "resourceMonitoringId"
}

Retrieve a list of subscriptions created by your application

Returns a list of active or paused subscriptions and the corresponding Subscription IDs that were created by your application

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

204

You do not currently have any subscriptions

401

Unauthorised

500

Something went wrong on our side

get/v2/webhook/subscriptions
Request samples
import fetch from 'node-fetch';

async function run() {
  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/webhook/subscriptions`,
    {
      method: 'GET',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

200 List Subscriptions

[
  • {
    },
  • {
    }
]

Prepare a read of a smart contract on a DLT

Returns a request ID for executing a smart contract read on Ethereum.

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (SmartContractSearchRequestDetails)
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/smartcontract
Request samples
application/json

Smart Contract Search

{
  • "requestDetails": {
    },
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Execute a read of a smart contract on a DLT

Takes a request ID and reads the smart contract on Ethereum based on the parameters specified in the prepare request.

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/smartcontract
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/smartcontract?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Execute Response

{
  • "smartContract": {
    },
  • "location": {
    }
}

Prepare and automatically execute a search for a smart contract query on a DLT.

Generates a request ID and automatically executes the smart contract query search on the requested DLT.

SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/autoexecution/search/smartcontract
Request samples
application/json

Smart contract query Search

{
  • "location": {
    }
}
Response samples
application/json

Successful Prepare and Failed Execute Response

{
  • "prepareAndExecuteOverledgerErrorResponse": {
    },
  • "preparationSmartContractSearchResponse": {
    }
}

Execute a search for an address balance on a DLT

Takes a request ID, searches for the address and retrieves the balance on the requested DLT. This API is only applicable for account based DLTs

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/address/balance
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/address/balance?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Execute Response

{
  • "balances": [
    ],
  • "location": {
    },
  • "addressId": "0x650A87cfB9165C9F4Ccc7B971D971f50f753e761"
}

Prepare and automatically execute a search for an Address Sequence.

Generates a request ID and automatically executes the address sequence search on the requested DLT.

SecurityOAuth2_Security_Scheme
Request
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/autoexecution/search/address/sequence/{addressId}
Request samples
application/json

Address Sequence Search

{
  • "location": {
    }
}
Response samples
application/json

Successful Prepare and Address not found Execute Response

{
  • "preparationAddressSequenceSearchResponse": {
    },
  • "prepareAndExecuteOverledgerErrorResponse": {
    }
}

Prepare and automatically execute a search for an address balance on a DLT.

Generates a request ID and automatically executes the address balance search on the requested DLT.

SecurityOAuth2_Security_Scheme
Request
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/autoexecution/search/address/balance/{addressId}
Request samples
application/json

Address Balance Search

{
  • "location": {
    }
}
Response samples
application/json

Successful Prepare and Address not found Execute Response

{
  • "prepareAndExecuteOverledgerErrorResponse": {
    },
  • "preparationAddressBalanceSearchResponse": {
    }
}

Execute a search for an address sequence on a DLT

Takes a request ID, searches for the address and retrieves the sequence on the requested DLT. This API is only applicable for account based DLT's

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/address/sequence
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/address/sequence?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Execute Response

{
  • "sequence": "1848",
  • "location": {
    },
  • "addressId": "0x650A87cfB9165C9F4Ccc7B971D971f50f753e761"
}

Prepare Search for an Address Sequence.

Perform an address sequence search on the requested DLT.Returns a request ID to execute

SecurityOAuth2_Security_Scheme
Request
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/address/sequence/{addressId}
Request samples
application/json

Address Sequence Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Prepare Search for an Address Balance.

Perform an address balance search on the requested DLT. Returns a request ID to execute

SecurityOAuth2_Security_Scheme
Request
path Parameters
addressId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/address/balance/{addressId}
Request samples
application/json

Address Balance Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Prepare Search for a UTXO State.

Returns a request ID for executing a search for the status ofa UTXO on UTXO based DLT's

SecurityOAuth2_Security_Scheme
Request
path Parameters
utxoId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9-: ]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

401

Unauthorised

500

Something went wrong on our side

post/v2/preparation/search/utxo/{utxoId}
Request samples
application/json

UTXO Transaction Search

{
  • "location": {
    }
}
Response samples
application/json

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "13765b06-eaf3-4f02-acb4-b7e9da8b0380"
}

Prepare and automatically execute a search for a UTXO on a DLT.

Generates a request ID and automatically executes the utxo search on the requested DLT.

SecurityOAuth2_Security_Scheme
Request
path Parameters
utxoId
required
string [ 0 .. 100 ] characters ^[a-zA-Z0-9-: ]{1,100}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
object (Location)

Unique reference to the ledger on a particular ledger network (optionally accessed from a particular node)

Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

post/v2/autoexecution/search/utxo/{utxoId}
Request samples
application/json

UTXO Search

{
  • "location": {
    }
}
Response samples
application/json

Successful Prepare and Address transaction not found Execute Response

{
  • "prepareAndExecuteOverledgerErrorResponse": {
    },
  • "preparationUtxoSearchResponse": {
    }
}

Execute a search for UTXO state on a DLT

Takes a request ID, searches for the UTXO state and retrieves the details on the requested DLT. This API is only applicable for Bitcoin.

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/utxo
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/utxo?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.log(data);
}

run();
Response samples
application/json

Execute Response

{
  • "utxoId": "96ad36032c3ea15dcd05388910e37c2d81d9904035910a32b6b15ea1664a72b8",
  • "destination": [
    ],
  • "location": {
    },
  • "timestamp": "1624007506",
  • "status": {
    },
  • "nativeData": {
    }
}

Execute a search for a block on a DLT

Takes a request ID and searches for the block on the requested DLT based on the parameters specified in the prepare request

SecurityOAuth2_Security_Scheme
Request
query Parameters
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

post/v2/execution/search/block
Request samples
import fetch from 'node-fetch';

async function run() {
  const query = new URLSearchParams({requestId: 'string'}).toString();

  const resp = await fetch(
    `https://api.sandbox.overledger.io/v2/execution/search/block?${query}`,
    {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <YOUR_TOKEN_HERE>'
      }
    }
  );

  const data = await resp.text();
  console.