Quant Overledger API (v2)

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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

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

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

Smart Contract Invoke

{
  • "urgency": "normal",
  • "requestId": "609e2199-db0c-4528-baf3-7392f026dae2",
  • "overledgerTransactionId": "b5c62bda-58cb-47c6-9b21-971f55030881",
  • "location": {
    },
  • "type": "Contract Invoke",
  • "transactionId": "0x5a9b7f8d44ad0bdddf58705cf886b501d6a5a017729d2ca96765a3421e9e84db",
  • "status": {
    }
}

Prepare a DLT transaction for signing

The first step of submitting a transaction to Overledger requires preparing the transaction for signing. This API transforms a transaction request into a payload that can be signed. It returns a request ID that is used to execute the transaction after it is signed.

There are three types of transactions supported:

  • Payment
    • Send payments in the native token of the network
    • Send payments with ERC20 fungible tokens supported by Overledger on networks based on the Ethereum Virtual Machine. To help you test ERC20 functionality we have deployed the QNT token on the Ethereum-based test networks we support. You can check the request samples to view an example of a Smart Contract Invoke which requests test QNT from our faucet contracts. Please note that the faucet Smart Contract ID is different for all the test networks. Here is a list of faucet IDs per network:
      • Ethereum Goerli Testnet: 0x8cFCC46A00d6E9e86aacFa74AC5f74e90Fb6994c
      • Ethereum Sepolia Testnet: 0xCe8623CD5945dEcC23eC62D4A48aB90FF5D54825
  • Transfer
    • Transfer ownership of ERC721 non-fungible tokens supported by Overledger on Ethereum
  • Contract Invoke
    • Call any function on any contract deployed on Ethereum, Polygon, XDC Network or our Hyperledger Fabric Sandbox
SecurityOAuth2_Security_Scheme
Request
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
One of:
required
object (Location)

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

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

The type of the transaction

Enum: "Payment" "Transfer" "Contract Invoke"
urgency
required
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

This value defines how fast a transaction is processed on a network. A faster processing requirement will result in higher fees. If the urgency field is not provided, the default setting is normal

Enum: "Normal" "Fast" "Urgent"
required
object (PaymentRequestDetailsSchema)

The payload request

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

{
  • "location": {
    },
  • "type": "PAYMENT",
  • "urgency": "normal",
  • "requestDetails": {
    }
}
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
required
type
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

The type of the object

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/nativetransaction
Request samples
application/json

Native Transaction

{
  • "type": "Native Transaction",
  • "location": {
    }
}
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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

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

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

Execute Response

{
  • "overledgerTransactionId": "dded55c2-a0fb-4e7b-8f95-771332c32507",
  • "location": {
    },
  • "type": "Native Transaction",
  • "requestId": "242284e2-e53e-4c28-b74c-e5b2c5fa7399",
  • "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
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}$

The transactionId to search for

Examples:
Ethereum transactionId
transactionId=0x5169fb4538904777b272041ef2ec43a6cfa69515dffead2809d54d9f53c172ab
XRP Ledger transactionId
transactionId=B607F776D63565E390A52A141AE89F4524CA328BB2B74BB71366579CA25E22F4
Warning: In substrate blocks, the first two entries are not transactions. Because of this, searching for a transactionId ending in -0 or -1 is not a valid transaction search for the substrate technology, e.g. 10293332-0 or10293332-1
transactionId=10783325-2
Bitcoin transactionId
transactionId=4dcbb2bc8e8da15e00184612a698b84e102a5d2fde0d041364479f470954860b
Polygon transactionId
transactionId=0x5169fb4538904777b272041ef2ec43a6cfa69515dffead2809d54d9f53c172ab
Hyperledger Fabric transactionId
transactionId=0a227635ac146b0031e47825708bb61fc0c8647b5f6f73f5f16f02f9cc877752
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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

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

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}$

The transactionId to search for

Examples:
Ethereum transactionId
transactionId=0x5169fb4538904777b272041ef2ec43a6cfa69515dffead2809d54d9f53c172ab
XRP Ledger transactionId
transactionId=B607F776D63565E390A52A141AE89F4524CA328BB2B74BB71366579CA25E22F4
Warning: In substrate blocks, the first two entries are not transactions. Because of this, searching for a transactionId ending in -0 or -1 is not a valid transaction search for the substrate technology, e.g. 10293332-0 or10293332-1
transactionId=10783325-2
Bitcoin transactionId
transactionId=4dcbb2bc8e8da15e00184612a698b84e102a5d2fde0d041364479f470954860b
Polygon transactionId
transactionId=0x5169fb4538904777b272041ef2ec43a6cfa69515dffead2809d54d9f53c172ab
Hyperledger Fabric transactionId
transactionId=0a227635ac146b0031e47825708bb61fc0c8647b5f6f73f5f16f02f9cc877752
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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 APIs 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 the 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
Response samples
application/json

Tokens

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

Supported Non-Fungible Tokens

Retrieve a list of ERC721 and QRC721 tokens

Retrieves a list of non-fungible tokens supported by Overledger and which API's and functions you can use for each. You can retrieve all non-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 ERC721 or QRC721 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 tokenName as a parameter.

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

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

get/v2/tokenise/tokens/nonfungible
Request samples
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
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
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": {
    }
}

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
required
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
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
required
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
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 .. 500 ] characters ^[a-zA-Z0-9:,\/.=\-\s]{1,500}
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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

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

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 .. 500 ] characters ^[a-zA-Z0-9:,\/.=\-\s]{1,500}
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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
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 .. 500 ] characters ^[a-zA-Z0-9:,\/.=\-\s]{1,500}
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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 .. 500 ] characters ^[a-zA-Z0-9:,\/.=\-\s]{1,500}
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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
required
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
required
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
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
Response samples
application/json

Execute Response

{
  • "location": {
    },
  • "block": {
    },
  • "status": {
    }
}

Prepare Search Block by Block Id.

Returns a request ID for executing a block search on the requested DLT. Block searches can be prepared based on the Block ID, Block Number or for the latest block at the time

SecurityOAuth2_Security_Scheme
Request
path Parameters
blockId
required
string
Examples:
Search block by Block ID
54678
Search block by Block Hash
0x1032d0f10fad4a5ada02960f552063e862e952d7d808ecf43b25a4f26d640a56
Search latest block
latest
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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/block/{blockId}
Request samples
application/json

Block Search

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

Prepare Response

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

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

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

SecurityOAuth2_Security_Scheme
Request
path Parameters
blockId
required
string
Examples:
Search block by Block ID
54678
Search block by Block Hash
0x1032d0f10fad4a5ada02960f552063e862e952d7d808ecf43b25a4f26d640a56
Search latest block
latest
header Parameters
Authorization
required
string [ 0 .. 5010 ] characters ^Bearer [A-Za-z0-9\-_. ]{1,5010}$
Request Body schema: application/json
required
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/block/{blockId}
Request samples
application/json

Block Search

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

Successful Prepare and Failed Execute Response

{
  • "prepareAndExecuteOverledgerErrorResponse": {
    },
  • "preparationBlockSearchResponse": {
    }
}

Supported Fungible Tokens

Retrieve a list of ERC20 and QRC20 tokens

Retrieves a list of fungible tokens supported by Overledger and which APIs 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 the 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
Response samples
application/json

Tokens

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

Create a QRC20 Credit 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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

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

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

Smart Contract Invoke

{
  • "urgency": "normal",
  • "requestId": "609e2199-db0c-4528-baf3-7392f026dae2",
  • "overledgerTransactionId": "b5c62bda-58cb-47c6-9b21-971f55030881",
  • "location": {
    },
  • "type": "Contract Invoke",
  • "transactionId": "0x5a9b7f8d44ad0bdddf58705cf886b501d6a5a017729d2ca96765a3421e9e84db",
  • "status": {
    }
}

Prepare a QRC20 token credit transaction for signing

Transforms a transaction request ready to be signed and returns a request ID for executing. The supported transaction type is “Create Credit” which will allow you to make a payment to another specified account.

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

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

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

The type of the transaction

Enum: "Payment" "Transfer" "Contract Invoke"
urgency
required
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

This value defines how fast a transaction is processed on a network. A faster processing requirement will result in higher fees. If the urgency field is not provided, the default setting is normal

Enum: "Normal" "Fast" "Urgent"
object (CreditRequestDetailsSchema)
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

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

QRC20 Create Credit

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

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "a7db0ee3-ed9c-409a-9b51-57075a570aa0",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

Create a QRC20 Debit Transaction

Prepare a QRC20 token debit transaction for signing

Transforms a transaction request ready to be signed and returns a request ID for executing. The supported transaction types are “Approve Debit” and “Create Debit”. The ‘Approve Debit’ transaction type will allow you to approve someone to make a pull payment from your account and the “Create Debit” transaction type will create the payment to pull the approved amount from an account.

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

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

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

The type of the transaction

Enum: "Payment" "Transfer" "Contract Invoke"
urgency
required
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

This value defines how fast a transaction is processed on a network. A faster processing requirement will result in higher fees. If the urgency field is not provided, the default setting is normal

Enum: "Normal" "Fast" "Urgent"
object (CreditRequestDetailsSchema)
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

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

QRC20 Create Debit

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

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "a7db0ee3-ed9c-409a-9b51-57075a570aa0",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

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

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

Smart Contract Invoke

{
  • "urgency": "normal",
  • "requestId": "609e2199-db0c-4528-baf3-7392f026dae2",
  • "overledgerTransactionId": "b5c62bda-58cb-47c6-9b21-971f55030881",
  • "location": {
    },
  • "type": "Contract Invoke",
  • "transactionId": "0x5a9b7f8d44ad0bdddf58705cf886b501d6a5a017729d2ca96765a3421e9e84db",
  • "status": {
    }
}

Manage QRC20 token supply

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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

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

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

Smart Contract Invoke

{
  • "urgency": "normal",
  • "requestId": "609e2199-db0c-4528-baf3-7392f026dae2",
  • "overledgerTransactionId": "b5c62bda-58cb-47c6-9b21-971f55030881",
  • "location": {
    },
  • "type": "Contract Invoke",
  • "transactionId": "0x5a9b7f8d44ad0bdddf58705cf886b501d6a5a017729d2ca96765a3421e9e84db",
  • "status": {
    }
}

Prepare a request to manage QRC20 token supply

Transforms a transaction request to manage QRC20 token supply ready to be signed and returns a request ID for executing. The supported types for this API are “Mint Tokens”, which will allow you to issue more tokens for your QRC20 token, and "Burn Tokens" which will allow you to destroy your QRC20 tokens. Successfully prepared transactions can then be executed using the /execution/transaction API.

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

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

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

The type of the transaction

Enum: "Payment" "Transfer" "Contract Invoke"
urgency
required
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

This value defines how fast a transaction is processed on a network. A faster processing requirement will result in higher fees. If the urgency field is not provided, the default setting is normal

Enum: "Normal" "Fast" "Urgent"
object (MintRequestDetailsSchemaQrc20)
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

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

QRC20 Burn Tokens

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

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "a7db0ee3-ed9c-409a-9b51-57075a570aa0",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

Create and pay from a QRC20 shared account

Prepare a request for a QRC20 shared account

Transforms a transaction request for a QRC20 shared account to be signed and returns a request ID for executing. The supported types for this API are “Add Account”, which will add someone as an operator of your account so that they can make payments on your behalf, "Remove Account" which will remove someone as an operator of your account so that they can no longer make payments on your behalf and “Create Credit” for account operators to make a QRC20 token payment on behalf of the account owner. Successfully prepared transactions can then be executed using the /execution/transaction API

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

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

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

The type of the transaction

Enum: "Payment" "Transfer" "Contract Invoke"
urgency
required
string [ 0 .. 30 ] characters ^[A-Za-z ]{1,30}

This value defines how fast a transaction is processed on a network. A faster processing requirement will result in higher fees. If the urgency field is not provided, the default setting is normal

Enum: "Normal" "Fast" "Urgent"
object (AddSecondaryAccountRequestDetailsSchema)
Responses
200

All good!

400

Bad Request

401

Unauthorised

500

Something went wrong on our side

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

QRC20 Secondary Account Credit Transaction

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

Prepare Response

{
  • "gatewayFee": {
    },
  • "requestId": "a7db0ee3-ed9c-409a-9b51-57075a570aa0",
  • "dltFee": {
    },
  • "nativeData": {
    }
}

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
required
signed
string [ 0 .. 400 ] characters ^[A-Za-z0-9-]{1,400}$

The raw data after transaction signing

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

The ID assigned to a preparation request in Overledger

Responses
200

All good!

401

Unauthorised

404

Not Found

500

Something went wrong on our side

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