NAV Navigation
HTTP JavaScript Java Go Ruby Python curl

BSV ARC v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

License: Open BSV Licence

Authentication

Arc

Get the policy settings

Code samples

GET /v1/policy HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/v1/policy',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("/v1/policy");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/v1/policy", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/v1/policy',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/v1/policy', headers = headers)

print(r.json())

# You can also use wget
curl -X GET /v1/policy \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET /v1/policy

This endpoint returns the policy settings.

Example responses

200 Response

{
  "timestamp": "2019-08-24T14:15:22Z",
  "policy": {
    "maxscriptsizepolicy": 500000,
    "maxtxsigopscountspolicy": 4294967295,
    "maxtxsizepolicy": 10000000,
    "miningFee": {
      "satoshis": 50,
      "bytes": 1000
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success PolicyResponse
401 Unauthorized Security requirements failed None

Get transaction status.

Code samples

GET /v1/tx/{txid} HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'
};

fetch('/v1/tx/{txid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("/v1/tx/{txid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/v1/tx/{txid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/v1/tx/{txid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/v1/tx/{txid}', headers = headers)

print(r.json())

# You can also use wget
curl -X GET /v1/tx/{txid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET /v1/tx/{txid}

This endpoint is used to get the current status of a previously submitted transaction.

Parameters

Name In Type Required Description
txid path string true The transaction ID (32 byte hash) hex string

Example responses

200 Response

{
  "timestamp": "2019-08-24T14:15:22Z",
  "blockHash": "00000000000000000854749b3c125d52c6943677544c8a6a885247935ba8d17d",
  "blockHeight": 782318,
  "txid": "7927233d10dacd5606cee5bf0b28668fc191e730029ace4c7fc40ede59a2825e",
  "txStatus": "MINED",
  "extraInfo": null
}

Responses

Status Meaning Description Schema
200 OK Success TransactionStatus
401 Unauthorized Security requirements failed None
404 Not Found Not found None

Submit a transaction.

Code samples

POST /v1/tx HTTP/1.1

Content-Type: text/plain
Accept: application/json
X-CallbackUrl: string
X-CallbackToken: string
X-MerkleProof: string
X-WaitForStatus: 0

const inputBody = '';
const headers = {
  'Content-Type':'text/plain',
  'Accept':'application/json',
  'X-CallbackUrl':'string',
  'X-CallbackToken':'string',
  'X-MerkleProof':'string',
  'X-WaitForStatus':'0',
  'Authorization':'Bearer {access-token}'
};

fetch('/v1/tx',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("/v1/tx");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"text/plain"},
        "Accept": []string{"application/json"},
        "X-CallbackUrl": []string{"string"},
        "X-CallbackToken": []string{"string"},
        "X-MerkleProof": []string{"string"},
        "X-WaitForStatus": []string{"0"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/v1/tx", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'text/plain',
  'Accept' => 'application/json',
  'X-CallbackUrl' => 'string',
  'X-CallbackToken' => 'string',
  'X-MerkleProof' => 'string',
  'X-WaitForStatus' => '0',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/v1/tx',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'text/plain',
  'Accept': 'application/json',
  'X-CallbackUrl': 'string',
  'X-CallbackToken': 'string',
  'X-MerkleProof': 'string',
  'X-WaitForStatus': '0',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/v1/tx', headers = headers)

print(r.json())

# You can also use wget
curl -X POST /v1/tx \
  -H 'Content-Type: text/plain' \
  -H 'Accept: application/json' \
  -H 'X-CallbackUrl: string' \
  -H 'X-CallbackToken: string' \
  -H 'X-MerkleProof: string' \
  -H 'X-WaitForStatus: 0' \
  -H 'Authorization: Bearer {access-token}'

POST /v1/tx

This endpoint is used to send a raw transaction to a miner for inclusion in the next block that the miner creates. The header parameters can be used to override the global settings in your Arc dashboard for these transactions.

Body parameter

""




Parameters

Name In Type Required Description
X-CallbackUrl header string false Default double spend and merkle proof notification callback endpoint.
X-CallbackToken header string false Access token for notification callback endpoint.
X-MerkleProof header string false Whether to include merkle proofs in the callbacks (true
X-WaitForStatus header integer false Which status to wait for from the server before returning (2 = RECEIVED, 3 = STORED, 4 = ANNOUNCED_TO_NETWORK, 5 = REQUESTED_BY_NETWORK, 6 = SENT_TO_NETWORK, 7 = ACCEPTED_BY_NETWORK, 8 = SEEN_ON_NETWORK)
body body string false none

Example responses

Success

{
  "blockHash": "0000000000000000000c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6",
  "blockHeight": 736228,
  "extraInfo": "",
  "status": 200,
  "timestamp": "2023-03-09T12:03:48.382910514Z",
  "title": "OK",
  "txStatus": "MINED",
  "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
}
{
  "blockHash": "",
  "blockHeight": 0,
  "extraInfo": "",
  "status": 200,
  "timestamp": "2023-03-09T12:03:48.382910514Z",
  "title": "OK",
  "txStatus": "SEEN_ON_NETWORK",
  "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
}

400 Response

{
  "type": "https://arc.bitcoinsv.com/errors/400",
  "title": "Bad request",
  "status": 400,
  "detail": "The request seems to be malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/1234556",
  "txid": "string",
  "extraInfo": "string"
}

Responses

Status Meaning Description Schema
200 OK Success TransactionResponse
400 Bad Request Bad request ErrorBadRequest
401 Unauthorized Security requirements failed None
422 Unprocessable Entity Unprocessable entity - with IETF RFC 7807 Error object Error
465 Unknown Fee too low ErrorFee
466 Unknown Conflicting transaction found ErrorConflict

Submit multiple transactions.

Code samples

POST /v1/txs HTTP/1.1

Content-Type: text/plain
Accept: application/json
X-CallbackUrl: string
X-CallbackToken: string
X-MerkleProof: string
X-WaitForStatus: 0

const inputBody = '
';
const headers = {
  'Content-Type':'text/plain',
  'Accept':'application/json',
  'X-CallbackUrl':'string',
  'X-CallbackToken':'string',
  'X-MerkleProof':'string',
  'X-WaitForStatus':'0',
  'Authorization':'Bearer {access-token}'
};

fetch('/v1/txs',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

URL obj = new URL("/v1/txs");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"text/plain"},
        "Accept": []string{"application/json"},
        "X-CallbackUrl": []string{"string"},
        "X-CallbackToken": []string{"string"},
        "X-MerkleProof": []string{"string"},
        "X-WaitForStatus": []string{"0"},
        "Authorization": []string{"Bearer {access-token}"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/v1/txs", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'text/plain',
  'Accept' => 'application/json',
  'X-CallbackUrl' => 'string',
  'X-CallbackToken' => 'string',
  'X-MerkleProof' => 'string',
  'X-WaitForStatus' => '0',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/v1/txs',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'text/plain',
  'Accept': 'application/json',
  'X-CallbackUrl': 'string',
  'X-CallbackToken': 'string',
  'X-MerkleProof': 'string',
  'X-WaitForStatus': '0',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/v1/txs', headers = headers)

print(r.json())

# You can also use wget
curl -X POST /v1/txs \
  -H 'Content-Type: text/plain' \
  -H 'Accept: application/json' \
  -H 'X-CallbackUrl: string' \
  -H 'X-CallbackToken: string' \
  -H 'X-MerkleProof: string' \
  -H 'X-WaitForStatus: 0' \
  -H 'Authorization: Bearer {access-token}'

POST /v1/txs

This endpoint is used to send multiple raw transactions to a miner for inclusion in the next block that the miner creates. The header parameters can be used to override the global settings in your Arc dashboard for these transactions.

Body parameter

"\n"
|-



|-



Parameters

Name In Type Required Description
X-CallbackUrl header string false Default double spend and merkle proof notification callback endpoint.
X-CallbackToken header string false Access token for notification callback endpoint.
X-MerkleProof header string false Whether to include merkle proofs in the callbacks (true
X-WaitForStatus header integer false Which status to wait for from the server before returning (2 = RECEIVED, 3 = STORED, 4 = ANNOUNCED_TO_NETWORK, 5 = REQUESTED_BY_NETWORK, 6 = SENT_TO_NETWORK, 7 = ACCEPTED_BY_NETWORK, 8 = SEEN_ON_NETWORK)
body body string false none

Example responses

Already in block template, or already mined

[
  {
    "blockHash": "000000000000000001d8f4bb24dd93d4e91ce926cc7a971be018c2b8d46d45ff",
    "blockHeight": 761868,
    "extraInfo": "",
    "status": 200,
    "timestamp": "2023-03-09T12:03:48.382910514Z",
    "title": "OK",
    "txStatus": "MINED",
    "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
  }
]
[
  {
    "blockHash": "",
    "blockHeight": 0,
    "extraInfo": "",
    "status": 200,
    "timestamp": "2023-03-09T12:03:48.382910514Z",
    "title": "OK",
    "txStatus": "SEEN_ON_NETWORK",
    "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
  }
]
[
  {
    "detail": "Transaction is invalid because the outputs are non-existent or invalid",
    "extraInfo": "arc error 463: arc error 463: transaction output 0 satoshis is invalid",
    "instance": null,
    "status": 463,
    "title": "Invalid outputs",
    "txid": "a0d69a2dfad710770ed282cce316c5792f6101a68046a263a17a1ae02676015e",
    "type": "https://arc.bitcoinsv.com/errors/463"
  }
]

400 Response

{
  "type": "https://arc.bitcoinsv.com/errors/400",
  "title": "Bad request",
  "status": 400,
  "detail": "The request seems to be malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/1234556"
}

Responses

Status Meaning Description Schema
200 OK Already in block template, or already mined TransactionResponses
400 Bad Request IETF RFC 7807 Error object ErrorBadRequest
403 Forbidden Security requirements failed None

Schemas

CommonResponse

{
  "timestamp": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
timestamp string(date-time) true none none

ChainInfo

{
  "blockHash": "00000000000000000854749b3c125d52c6943677544c8a6a885247935ba8d17d",
  "blockHeight": 782318
}

Properties

Name Type Required Restrictions Description
blockHash string false none none
blockHeight integer(uint64) false none none

PolicyResponse

{
  "timestamp": "2019-08-24T14:15:22Z",
  "policy": {
    "maxscriptsizepolicy": 500000,
    "maxtxsigopscountspolicy": 4294967295,
    "maxtxsizepolicy": 10000000,
    "miningFee": {
      "satoshis": 50,
      "bytes": 1000
    }
  }
}

Properties

allOf

Name Type Required Restrictions Description
anonymous CommonResponse false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» policy Policy true none none

Policy

{
  "maxscriptsizepolicy": 500000,
  "maxtxsigopscountspolicy": 4294967295,
  "maxtxsizepolicy": 10000000,
  "miningFee": {
    "satoshis": 50,
    "bytes": 1000
  }
}

Properties

Name Type Required Restrictions Description
maxscriptsizepolicy integer(uint64) true none none
maxtxsigopscountspolicy integer(uint64) true none none
maxtxsizepolicy integer(uint64) true none none
miningFee FeeAmount true none none

FeeAmount

{
  "satoshis": 0,
  "bytes": 0
}

Properties

Name Type Required Restrictions Description
satoshis integer(uint64) true none none
bytes integer(uint64) true none none

TransactionRequest

{
  "rawTx": "string"
}

Properties

Name Type Required Restrictions Description
rawTx string true none none

TransactionResponse

{
  "timestamp": "2023-03-09T12:03:48.382910514Z",
  "blockHash": "",
  "blockHeight": 0,
  "status": 200,
  "title": "OK",
  "extraInfo": "string",
  "txStatus": "string",
  "txid": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous CommonResponse false none none

and

Name Type Required Restrictions Description
anonymous ChainInfo false none none

and

Name Type Required Restrictions Description
anonymous TransactionDetails false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» txid string true none none
» txStatus string true none none
» extraInfo string¦null true none none

TransactionStatus

{
  "timestamp": "2019-08-24T14:15:22Z",
  "blockHash": "00000000000000000854749b3c125d52c6943677544c8a6a885247935ba8d17d",
  "blockHeight": 782318,
  "txid": "7927233d10dacd5606cee5bf0b28668fc191e730029ace4c7fc40ede59a2825e",
  "txStatus": "MINED",
  "extraInfo": null
}

Properties

allOf

Name Type Required Restrictions Description
anonymous CommonResponse false none none

and

Name Type Required Restrictions Description
anonymous ChainInfo false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» txid string true none none
» txStatus string false none none
» extraInfo string¦null false none none

TransactionResponses

{
  "timestamp": "2019-08-24T14:15:22Z",
  "blockHash": "00000000000000000854749b3c125d52c6943677544c8a6a885247935ba8d17d",
  "blockHeight": 782318,
  "transactions": [
    {
      "status": 200,
      "title": "OK",
      "blockHash": "",
      "blockHeight": 0,
      "extraInfo": "",
      "timestamp": "2023-03-09T12:03:48.382910514Z",
      "txStatus": "SEEN_ON_NETWORK",
      "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
    }
  ]
}

Properties

allOf

Name Type Required Restrictions Description
anonymous CommonResponse false none none

and

Name Type Required Restrictions Description
anonymous ChainInfo false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» transactions [oneOf] false none none

oneOf

Name Type Required Restrictions Description
»» anonymous TransactionDetails false none none

xor

Name Type Required Restrictions Description
»» anonymous Error false none An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).

TransactionSubmitStatus

{
  "status": 201,
  "title": "Added to mempool"
}

Properties

Name Type Required Restrictions Description
status integer(int) true none none
title string true none none

TransactionDetails

{
  "status": 200,
  "title": "OK",
  "blockHash": "",
  "blockHeight": 0,
  "extraInfo": "",
  "timestamp": "2023-03-09T12:03:48.382910514Z",
  "txStatus": "SEEN_ON_NETWORK",
  "txid": "c0d6fce714e4225614f000c6a5addaaa1341acbb9c87115114dcf84f37b945a6"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous TransactionSubmitStatus false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» txid string false none Transaction ID in hex
» txStatus string false none Transaction status
» extraInfo string¦null false none Extra information about the transaction

Enumerated Values

Property Value
txStatus UNKNOWN
txStatus RECEIVED
txStatus STORED
txStatus ANNOUNCED_TO_NETWORK
txStatus REQUESTED_BY_NETWORK
txStatus SENT_TO_NETWORK
txStatus SEEN_ON_NETWORK
txStatus MINED
txStatus CONFIRMED
txStatus REJECTED

Error

{
  "type": "https://arc.bitcoinsv.com/errors/461",
  "title": "Malformed transaction",
  "status": 461,
  "detail": "Transaction is malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).

Properties

oneOf

Name Type Required Restrictions Description
anonymous ErrorUnlockingScripts false none none

xor

Name Type Required Restrictions Description
anonymous ErrorInputs false none none

xor

Name Type Required Restrictions Description
anonymous ErrorMalformed false none none

xor

Name Type Required Restrictions Description
anonymous ErrorFrozenPolicy false none none

xor

Name Type Required Restrictions Description
anonymous ErrorFrozenConsensus false none none

ErrorBadRequest

{
  "type": "https://arc.bitcoinsv.com/errors/400",
  "title": "Bad request",
  "status": 400,
  "detail": "The request seems to be malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/1234556",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorFee

{
  "type": "https://arc.bitcoinsv.com/errors/402",
  "title": "Fee too low",
  "status": 465,
  "detail": "The fees are too low",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorConflict

{
  "type": "https://arc.bitcoinsv.com/errors/409",
  "title": "Conflicting tx found",
  "status": 466,
  "detail": "Transaction is valid, but there is a conflicting tx in the block template",
  "instance": "https://arc.taal.com/errors/123453",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorUnlockingScripts

{
  "type": "https://arc.bitcoinsv.com/errors/461",
  "title": "Malformed transaction",
  "status": 461,
  "detail": "Transaction is malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorInputs

{
  "type": "https://arc.bitcoinsv.com/errors/462",
  "title": "Invalid inputs",
  "status": 462,
  "detail": "Transaction is invalid because the inputs are non-existent or spent",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorMalformed

{
  "type": "https://arc.bitcoinsv.com/errors/463",
  "title": "Malformed transaction",
  "status": 463,
  "detail": "Transaction is malformed and cannot be processed",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorFrozenPolicy

{
  "type": "https://arc.bitcoinsv.com/errors/471",
  "title": "Input Frozen",
  "status": 471,
  "detail": "Input Frozen (blacklist manager policy blacklisted)",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorFrozenConsensus

{
  "type": "https://arc.bitcoinsv.com/errors/472",
  "title": "Input Frozen",
  "status": 472,
  "detail": "Input Frozen (blacklist manager consensus blacklisted)",
  "instance": "https://arc.taal.com/errors/123452",
  "txid": "string",
  "extraInfo": "string"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous ErrorFields false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» type any false none none
» title any false none none
» status any false none none
» detail any false none none
» instance any false none none

ErrorFields

{
  "type": "string",
  "title": "string",
  "status": 402,
  "detail": "The fee in the transaction is too low to be included in a block.",
  "instance": "string",
  "txid": "string",
  "extraInfo": "string"
}

Properties

Name Type Required Restrictions Description
type string true none Type of error, with link to more information
title string true none Descriptive text for error
status integer(int) true none Error code
detail string true none Longer description of error
instance string¦null false none (Optional) Link to actual error on server
txid string¦null false none Transaction ID this error is referring to
extraInfo string¦null false none Optional extra information about the error from the miner