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
One of:
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)
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"
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

{
  • "urgency": "normal",
  • "requestDetails": {
    },
  • "location": {
    },
  • "type": "Create Credit"
}
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
requestId
required
string [ 0 .. 36 ] characters ^[A-Za-z0-9-]{1,36}$

The ID assigned to a preparation request in Overledger

signed
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": {
    }
}