Neblio REST API Suite
APIs for Interacting with NTP1 Tokens & The Neblio Blockchain
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://ntp1node.nebl.io/"
}
],
"info": {
"contact": {
"x-twitter": "NeblioTeam"
},
"description": "APIs for Interacting with NTP1 Tokens & The Neblio Blockchain",
"title": "Neblio REST API Suite",
"version": "1.3.0",
"x-apisguru-categories": [
"enterprise"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_NeblioTeam_profile_image.jpeg"
},
"x-origin": [
{
"format": "openapi",
"url": "https://raw.githubusercontent.com/NeblioTeam/neblio-api-swagger-docs/master/swagger.yaml",
"version": "3.0"
}
],
"x-providerName": "nebl.io"
},
"paths": {
"/": {
"post": {
"description": "Call any Neblio RPC command from the Neblio API libraries. Useful for signing transactions with a local node and other functions. Will not work from a browser due to CORS restrictions. Requires a node to be running locally at 127.0.0.1",
"operationId": "json_rpc",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcResponse"
}
}
},
"description": "Object containing the JSON response from the Neblio node."
},
"401": {
"description": "Authentication information is missing or invalid",
"headers": {
"WWW_Authenticate": {
"schema": {
"type": "string"
}
}
}
}
},
"security": [
{
"rpcAuth": []
}
],
"servers": [
{
"description": "Communicate with locally running Neblio node on Mainnet",
"url": "http://127.0.0.1:6326"
},
{
"description": "Communicate with locally running Neblio node on Testnet",
"url": "http://127.0.0.1:16326"
}
],
"summary": "Send a JSON-RPC call to a localhost neblio-Qt or nebliod node",
"tags": [
"JSON-RPC"
]
}
},
"/ins/addr/{address}": {
"get": {
"description": "Returns NEBL address object containing information on a specific address",
"operationId": "getAddress",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressResponse"
}
}
},
"description": "Object containing address info"
}
},
"summary": "Returns address object",
"tags": [
"Insight"
]
}
},
"/ins/addr/{address}/balance": {
"get": {
"description": "Returns NEBL address balance in satoshis",
"operationId": "getAddressBalance",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressBalanceResponse"
}
}
},
"description": "Address balance"
}
},
"summary": "Returns address balance in sats",
"tags": [
"Insight"
]
}
},
"/ins/addr/{address}/totalReceived": {
"get": {
"description": "Returns total NEBL received by address in satoshis",
"operationId": "getAddressTotalReceived",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressTotalReceivedResponse"
}
}
},
"description": "Total received by address"
}
},
"summary": "Returns total received by address in sats",
"tags": [
"Insight"
]
}
},
"/ins/addr/{address}/totalSent": {
"get": {
"description": "Returns total NEBL sent by address in satoshis",
"operationId": "getAddressTotalSent",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressTotalSentResponse"
}
}
},
"description": "Total sent by address"
}
},
"summary": "Returns total sent by address in sats",
"tags": [
"Insight"
]
}
},
"/ins/addr/{address}/unconfirmedBalance": {
"get": {
"description": "Returns NEBL address unconfirmed balance in satoshis",
"operationId": "getAddressUnconfirmedBalance",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressUnconfirmedBalanceResponse"
}
}
},
"description": "Address unconfirmed balance"
}
},
"summary": "Returns address unconfirmed balance in sats",
"tags": [
"Insight"
]
}
},
"/ins/addr/{address}/utxo": {
"get": {
"description": "Returns information on each Unspent Transaction Output contained at an address",
"operationId": "getAddressUtxos",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressUtxosResponse"
}
}
},
"description": "UTXOs at an address"
}
},
"summary": "Returns all UTXOs at a given address",
"tags": [
"Insight"
]
}
},
"/ins/block-index/{blockindex}": {
"get": {
"description": "Returns the block hash of a block at a given block index",
"operationId": "getBlockIndex",
"parameters": [
{
"description": "Block Index",
"in": "path",
"name": "blockindex",
"required": true,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getBlockIndexResponse"
}
}
},
"description": "Object containing block hash"
}
},
"summary": "Returns block hash of block",
"tags": [
"Insight"
]
}
},
"/ins/block/{blockhash}": {
"get": {
"description": "Returns blockchain data for a given block based upon the block hash",
"operationId": "getBlock",
"parameters": [
{
"description": "Block Hash",
"in": "path",
"name": "blockhash",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getBlockResponse"
}
}
},
"description": "Object containing all information on a blockchain block"
}
},
"summary": "Returns information regarding a Neblio block",
"tags": [
"Insight"
]
}
},
"/ins/rawtx/{txid}": {
"get": {
"description": "Returns raw transaction hex representing a NEBL transaction",
"operationId": "getRawTx",
"parameters": [
{
"description": "Transaction ID",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getRawTxResponse"
}
}
},
"description": "Object containing raw hex of transaction"
}
},
"summary": "Returns raw transaction hex",
"tags": [
"Insight"
]
}
},
"/ins/status": {
"get": {
"description": "Utility API for calling several blockchain node functions - getInfo, getDifficulty, getBestBlockHash, getLastBlockHash",
"operationId": "getStatus",
"parameters": [
{
"description": "Function to call, getInfo, getDifficulty, getBestBlockHash, or getLastBlockHash",
"in": "query",
"name": "q",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getStatusResponse"
}
}
},
"description": "Function Response"
}
},
"summary": "Utility API for calling several blockchain node functions",
"tags": [
"Insight"
]
}
},
"/ins/sync": {
"get": {
"description": "Returns information on the node's sync progress",
"operationId": "getSync",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getSyncResponse"
}
}
},
"description": "Sync Info"
}
},
"summary": "Get node sync status",
"tags": [
"Insight"
]
}
},
"/ins/tx/send": {
"post": {
"description": "Broadcasts a signed raw transaction to the network. If successful returns the txid of the broadcast trasnaction.\n",
"operationId": "sendTx",
"requestBody": {
"$ref": "#/components/requestBodies/sendTxRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/broadcastTxResponse"
}
}
},
"description": "An object containing the TXID if the broadcast was successful"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Broadcasts a signed raw transaction to the network (not NTP1 specific)",
"tags": [
"Insight"
]
}
},
"/ins/tx/{txid}": {
"get": {
"description": "Returns NEBL transaction object representing a NEBL transaction",
"operationId": "getTx",
"parameters": [
{
"description": "Transaction ID",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTxResponse"
}
}
},
"description": "Object containing transaction info"
}
},
"summary": "Returns transaction object",
"tags": [
"Insight"
]
}
},
"/ins/txs": {
"get": {
"description": "Returns all transactions by block or address",
"operationId": "getTxs",
"parameters": [
{
"description": "Address",
"in": "query",
"name": "address",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Block Hash",
"in": "query",
"name": "block",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Page number to display",
"in": "query",
"name": "pageNum",
"required": false,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTxsResponse"
}
}
},
"description": "List of transactions"
}
},
"summary": "Get transactions by block or address",
"tags": [
"Insight"
]
}
},
"/ntp1/addressinfo/{address}": {
"get": {
"description": "Returns both NEBL and NTP1 token UTXOs held at the given address.\n",
"operationId": "getAddressInfo",
"parameters": [
{
"description": "Neblio Address to get information on.",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressInfoResponse"
}
}
},
"description": "An object with an array of UTXOs for this address"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Information On a Neblio Address",
"tags": [
"NTP1"
]
}
},
"/ntp1/broadcast": {
"post": {
"description": "Broadcasts a signed raw transaction to the network. If successful returns the txid of the broadcast trasnaction.\n",
"operationId": "broadcastTx",
"requestBody": {
"$ref": "#/components/requestBodies/broadcastTxRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/broadcastTxResponse"
}
}
},
"description": "An object containing the TXID if the broadcast was successful"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Broadcasts a signed raw transaction to the network",
"tags": [
"NTP1"
]
}
},
"/ntp1/burntoken": {
"post": {
"description": "Builds an unsigned raw transaction that burns an NTP1 token on the Neblio blockchain.\n",
"operationId": "burnToken",
"requestBody": {
"$ref": "#/components/requestBodies/burnTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/burnTokenResponse"
}
}
},
"description": "An object representing the tx to burn the token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that burns an NTP1 Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/issue": {
"post": {
"description": "Builds an unsigned raw transaction that issues a new NTP1 token on the Neblio blockchain.\n",
"operationId": "issueToken",
"requestBody": {
"$ref": "#/components/requestBodies/issueTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/issueTokenResponse"
}
}
},
"description": "An object representing the token created"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that issues a new NTP1 Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/sendtoken": {
"post": {
"description": "Builds an unsigned raw transaction that sends an NTP1 token on the Neblio blockchain.\n",
"operationId": "sendToken",
"requestBody": {
"$ref": "#/components/requestBodies/sendTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTokenResponse"
}
}
},
"description": "An object representing the tx to send the token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that sends an NTP1 Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/stakeholders/{tokenid}": {
"get": {
"description": "Returns the the the addresses holding a token and how many tokens are held\n",
"operationId": "getTokenHolders",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenHoldersResponse"
}
}
},
"description": "An object containing all of the addresses holding a token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get Addresses Holding a Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/tokenid/{tokensymbol}": {
"get": {
"description": "Translates a token symbol to a tokenId if a token exists with that symbol on the network\n",
"operationId": "getTokenId",
"parameters": [
{
"description": "Token symbol",
"in": "path",
"name": "tokensymbol",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenIdResponse"
}
}
},
"description": "Object containing the token symbol and ID, if token symbol does not exist on network, empty object is returned."
}
},
"summary": "Returns the tokenId representing a token",
"tags": [
"NTP1"
]
}
},
"/ntp1/tokenmetadata/{tokenid}": {
"get": {
"description": "Returns the metadata associated with a token.\n",
"operationId": "getTokenMetadata",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "0 (Default) is fastest, 1 contains token stats, 2 contains token holding addresses",
"in": "query",
"name": "verbosity",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenMetadataResponse"
}
}
},
"description": "An object containing the metadata of a token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get Metadata of Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/tokenmetadata/{tokenid}/{utxo}": {
"get": {
"description": "Returns the metadata associated with a token for that specific utxo instead of the issuance transaction.\n",
"operationId": "getTokenMetadataOfUtxo",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Specific UTXO to request metadata for",
"in": "path",
"name": "utxo",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "0 (Default) is fastest, 1 contains token stats, 2 contains token holding addresses",
"in": "query",
"name": "verbosity",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenMetadataResponse"
}
}
},
"description": "An object containing the metadata of a token for a UTXO"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get UTXO Metadata of Token",
"tags": [
"NTP1"
]
}
},
"/ntp1/transactioninfo/{txid}": {
"get": {
"description": "Returns detailed information regarding an NTP1 transaction.\n",
"operationId": "getTransactionInfo",
"parameters": [
{
"description": "Neblio txid to get information on.",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTransactionInfoResponse"
}
}
},
"description": "An object represending this transaction"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Information On an NTP1 Transaction",
"tags": [
"NTP1"
]
}
},
"/testnet/faucet": {
"get": {
"description": "Withdraw testnet NEBL to your Neblio Testnet address. By default amount is 1500000000 or 15 NEBL and has a max of 50 NEBL. Only 2 withdrawals allowed per 24 hour period.\n",
"operationId": "testnet_getFaucet",
"parameters": [
{
"description": "Your Neblio Testnet Address",
"in": "query",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Amount of NEBL to withdrawal in satoshis",
"in": "query",
"name": "amount",
"required": false,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getFaucetResponse"
}
}
},
"description": "Object containing the transaction ID of the withdrawal."
}
},
"summary": "Withdraws testnet NEBL to the specified address",
"tags": [
"Testnet-Faucet"
]
}
},
"/testnet/ins/addr/{address}": {
"get": {
"description": "Returns NEBL address object containing information on a specific address",
"operationId": "testnet_getAddress",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressResponse"
}
}
},
"description": "Object containing address info"
}
},
"summary": "Returns address object",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/addr/{address}/balance": {
"get": {
"description": "Returns NEBL address balance in satoshis",
"operationId": "testnet_getAddressBalance",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressBalanceResponse"
}
}
},
"description": "Address balance"
}
},
"summary": "Returns address balance in sats",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/addr/{address}/totalReceived": {
"get": {
"description": "Returns total NEBL received by address in satoshis",
"operationId": "testnet_getAddressTotalReceived",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressTotalReceivedResponse"
}
}
},
"description": "Total received by address"
}
},
"summary": "Returns total received by address in sats",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/addr/{address}/totalSent": {
"get": {
"description": "Returns total NEBL sent by address in satoshis",
"operationId": "testnet_getAddressTotalSent",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressTotalSentResponse"
}
}
},
"description": "Total sent by address"
}
},
"summary": "Returns total sent by address in sats",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/addr/{address}/unconfirmedBalance": {
"get": {
"description": "Returns NEBL address unconfirmed balance in satoshis",
"operationId": "testnet_getAddressUnconfirmedBalance",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressUnconfirmedBalanceResponse"
}
}
},
"description": "Address unconfirmed balance"
}
},
"summary": "Returns address unconfirmed balance in sats",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/addr/{address}/utxo": {
"get": {
"description": "Returns information on each Unspent Transaction Output contained at an address",
"operationId": "testnet_getAddressUtxos",
"parameters": [
{
"description": "Address",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressUtxosResponse"
}
}
},
"description": "UTXOs at an address"
}
},
"summary": "Returns all UTXOs at a given address",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/block-index/{blockindex}": {
"get": {
"description": "Returns the block hash of a block at a given block index",
"operationId": "testnet_getBlockIndex",
"parameters": [
{
"description": "Block Index",
"in": "path",
"name": "blockindex",
"required": true,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getBlockIndexResponse"
}
}
},
"description": "Object containing block hash"
}
},
"summary": "Returns block hash of block",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/block/{blockhash}": {
"get": {
"description": "Returns blockchain data for a given block based upon the block hash",
"operationId": "testnet_getBlock",
"parameters": [
{
"description": "Block Hash",
"in": "path",
"name": "blockhash",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getBlockResponse"
}
}
},
"description": "Object containing all information on a blockchain block"
}
},
"summary": "Returns information regarding a Neblio block",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/rawtx/{txid}": {
"get": {
"description": "Returns raw transaction hex representing a NEBL transaction",
"operationId": "testnet_getRawTx",
"parameters": [
{
"description": "Transaction ID",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getRawTxResponse"
}
}
},
"description": "Object containing raw hex of transaction"
}
},
"summary": "Returns raw transaction hex",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/status": {
"get": {
"description": "Utility API for calling several blockchain node functions - getInfo, getDifficulty, getBestBlockHash, getLastBlockHash",
"operationId": "testnet_getStatus",
"parameters": [
{
"description": "Function to call, getInfo, getDifficulty, getBestBlockHash, or getLastBlockHash",
"in": "query",
"name": "q",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getStatusResponse"
}
}
},
"description": "Function Response"
}
},
"summary": "Utility API for calling several blockchain node functions",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/sync": {
"get": {
"description": "Returns information on the node's sync progress",
"operationId": "testnet_getSync",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getSyncResponse"
}
}
},
"description": "Sync Info"
}
},
"summary": "Get node sync status",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/tx/send": {
"post": {
"description": "Broadcasts a signed raw transaction to the network. If successful returns the txid of the broadcast trasnaction.\n",
"operationId": "testnet_sendTx",
"requestBody": {
"$ref": "#/components/requestBodies/sendTxRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/broadcastTxResponse"
}
}
},
"description": "An object containing the TXID if the broadcast was successful"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Broadcasts a signed raw transaction to the network (not NTP1 specific)",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/tx/{txid}": {
"get": {
"description": "Returns NEBL transaction object representing a NEBL transaction",
"operationId": "testnet_getTx",
"parameters": [
{
"description": "Transaction ID",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTxResponse"
}
}
},
"description": "Object containing transaction info"
}
},
"summary": "Returns transaction object",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ins/txs": {
"get": {
"description": "Returns all transactions by block or address",
"operationId": "testnet_getTxs",
"parameters": [
{
"description": "Address",
"in": "query",
"name": "address",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Block Hash",
"in": "query",
"name": "block",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Page number to display",
"in": "query",
"name": "pageNum",
"required": false,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTxsResponse"
}
}
},
"description": "List of transactions"
}
},
"summary": "Get transactions by block or address",
"tags": [
"Testnet-Insight"
]
}
},
"/testnet/ntp1/addressinfo/{address}": {
"get": {
"description": "Returns both NEBL and NTP1 token UTXOs held at the given address.\n",
"operationId": "testnet_getAddressInfo",
"parameters": [
{
"description": "Neblio Address to get information on.",
"in": "path",
"name": "address",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getAddressInfoResponse"
}
}
},
"description": "An object with an array of UTXOs for this address"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Information On a Neblio Address",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/broadcast": {
"post": {
"description": "Broadcasts a signed raw transaction to the network. If successful returns the txid of the broadcast trasnaction.\n",
"operationId": "testnet_broadcastTx",
"requestBody": {
"$ref": "#/components/requestBodies/broadcastTxRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/broadcastTxResponse"
}
}
},
"description": "An object containing the TXID if the broadcast was successful"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Broadcasts a signed raw transaction to the network",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/burntoken": {
"post": {
"description": "Builds an unsigned raw transaction that burns an NTP1 token on the Neblio blockchain.\n",
"operationId": "testnet_burnToken",
"requestBody": {
"$ref": "#/components/requestBodies/burnTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/burnTokenResponse"
}
}
},
"description": "An object representing the tx to burn the token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that burns an NTP1 Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/issue": {
"post": {
"description": "Builds an unsigned raw transaction that issues a new NTP1 token on the Neblio blockchain.\n",
"operationId": "testnet_issueToken",
"requestBody": {
"$ref": "#/components/requestBodies/issueTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/issueTokenResponse"
}
}
},
"description": "An object representing the token created"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that issues a new NTP1 Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/sendtoken": {
"post": {
"description": "Builds an unsigned raw transaction that sends an NTP1 token on the Neblio blockchain.\n",
"operationId": "testnet_sendToken",
"requestBody": {
"$ref": "#/components/requestBodies/sendTokenRequest"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTokenResponse"
}
}
},
"description": "An object representing the tx to send the token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Builds a transaction that sends an NTP1 Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/stakeholders/{tokenid}": {
"get": {
"description": "Returns the the the addresses holding a token and how many tokens are held\n",
"operationId": "testnet_getTokenHolders",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenHoldersResponse"
}
}
},
"description": "An object containing all of the addresses holding a token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get Addresses Holding a Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/tokenid/{tokensymbol}": {
"get": {
"description": "Translates a token symbol to a tokenId if a token exists with that symbol on the network\n",
"operationId": "testnet_getTokenId",
"parameters": [
{
"description": "Token symbol",
"in": "path",
"name": "tokensymbol",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenIdResponse"
}
}
},
"description": "Object containing the token symbol and ID, if token symbol does not exist on network, empty object is returned."
}
},
"summary": "Returns the tokenId representing a token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/tokenmetadata/{tokenid}": {
"get": {
"description": "Returns the metadata associated with a token.\n",
"operationId": "testnet_getTokenMetadata",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "0 (Default) is fastest, 1 contains token stats, 2 contains token holding addresses",
"in": "query",
"name": "verbosity",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenMetadataResponse"
}
}
},
"description": "An object containing the metadata of a token"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get Metadata of Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/tokenmetadata/{tokenid}/{utxo}": {
"get": {
"description": "Returns the metadata associated with a token for that specific utxo instead of the issuance transaction.\n",
"operationId": "testnet_getTokenMetadataOfUtxo",
"parameters": [
{
"description": "TokenId to request metadata for",
"in": "path",
"name": "tokenid",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Specific UTXO to request metadata for",
"in": "path",
"name": "utxo",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "0 (Default) is fastest, 1 contains token stats, 2 contains token holding addresses",
"in": "query",
"name": "verbosity",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTokenMetadataResponse"
}
}
},
"description": "An object containing the metadata of a token for a UTXO"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Get UTXO Metadata of Token",
"tags": [
"Testnet-NTP1"
]
}
},
"/testnet/ntp1/transactioninfo/{txid}": {
"get": {
"description": "Returns detailed information regarding an NTP1 transaction.\n",
"operationId": "testnet_getTransactionInfo",
"parameters": [
{
"description": "Neblio txid to get information on.",
"in": "path",
"name": "txid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getTransactionInfoResponse"
}
}
},
"description": "An object represending this transaction"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Unexpected error"
}
},
"summary": "Information On an NTP1 Transaction",
"tags": [
"Testnet-NTP1"
]
}
}
},
"components": {
"requestBodies": {
"broadcastTxRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/broadcastTxRequest"
}
}
},
"description": "Object representing a transaction to broadcast",
"required": true
},
"burnTokenRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/burnTokenRequest"
}
}
},
"description": "Object representing the token to be burned",
"required": true
},
"issueTokenRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/issueTokenRequest"
}
}
},
"description": "Object representing the token to be created",
"required": true
},
"sendTokenRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTokenRequest"
}
}
},
"description": "Object representing the token to be sent",
"required": true
},
"sendTxRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/sendTxRequest"
}
}
},
"description": "Object representing a transaction to broadcast",
"required": true
}
},
"schemas": {
"Error": {
"properties": {
"code": {
"format": "int32",
"type": "integer"
},
"fields": {
"type": "string"
},
"message": {
"type": "string"
}
},
"type": "object"
},
"broadcastTxRequest": {
"properties": {
"txHex": {
"description": "Signed raw tx hex to broadcast",
"type": "string"
}
},
"required": [
"txHex"
],
"type": "object"
},
"broadcastTxResponse": {
"properties": {
"txid": {
"description": "Txid of successfully broadcasted transaction",
"type": "string"
}
},
"type": "object"
},
"burnTokenRequest": {
"properties": {
"burn": {
"description": "Array of objects representing tokens to be burned",
"items": {
"properties": {
"amount": {
"description": "Amount of tokens to burn",
"type": "number"
},
"tokenId": {
"description": "Unique token id we are burning",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"fee": {
"description": "Fee in satoshi to include in the issuance transaction min 10000 (0.0001 NEBL)",
"type": "number"
},
"from": {
"description": "Array of addresses to send the token from",
"items": {
"type": "string"
},
"type": "array"
},
"transfer": {
"items": {
"properties": {
"address": {
"description": "Address to transfer tokens to",
"type": "string"
},
"amount": {
"description": "Number of tokens to send",
"type": "number"
},
"tokenId": {
"description": "ID of token we are sending",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"fee",
"burn"
],
"type": "object"
},
"burnTokenResponse": {
"properties": {
"multisigOutputs": {
"description": "Array of indexes of multisig outputs",
"items": {
"type": "number"
},
"type": "array"
},
"ntp1OutputIndexes": {
"description": "Array of indexes transfering NTP1 tokens",
"items": {
"type": "number"
},
"type": "array"
},
"txHex": {
"description": "Unsigned, raw transaction hex of the transaction to burn the token",
"type": "string"
}
},
"type": "object"
},
"getAddressBalanceResponse": {
"description": "Address balance in satoshis",
"type": "number"
},
"getAddressInfoResponse": {
"properties": {
"address": {
"description": "The Neblio Address",
"type": "string"
},
"utxos": {
"description": "Array of UTXOs held at this address.",
"items": {
"properties": {
"blockheight": {
"description": "Blockheight of the UTXO",
"type": "number"
},
"blocktime": {
"description": "Blocktime of the UTXO",
"type": "number"
},
"index": {
"description": "Index of the UTXO at this address",
"type": "number"
},
"scriptPubKey": {
"description": "Object representing the scruptPubKey of the UTXO",
"type": "object"
},
"tokens": {
"description": "Array of NTP1 tokens in this UTXO.",
"items": {
"properties": {
"aggregationPolicy": {
"description": "Whether the tokens can be aggregated together",
"type": "string"
},
"amount": {
"description": "Number of Tokens",
"type": "number"
},
"divisibility": {
"description": "Decimal places the token is divisible to",
"type": "number"
},
"issueTxid": {
"description": "TXID the token originally was issued in",
"type": "string"
},
"lockStatus": {
"description": "Whether the token is locked, preventing more from being issued",
"type": "boolean"
},
"tokenId": {
"description": "Unique NTP1 identifier for this token",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"txid": {
"description": "Txid of this UTXO",
"type": "string"
},
"used": {
"description": "Whether the UTXO has been used",
"type": "boolean"
},
"value": {
"description": "Value of the UTXO in NEBL satoshi",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"getAddressResponse": {
"properties": {
"addrStr": {
"description": "Address in string form",
"type": "string"
},
"balance": {
"description": "NEBL balance",
"type": "number"
},
"balanceSat": {
"description": "NEBL balance in satoshis",
"type": "number"
},
"totalReceived": {
"description": "Total NEBL received",
"type": "number"
},
"totalReceivedSat": {
"description": "Total NEBL received in satoshis",
"type": "number"
},
"totalSent": {
"description": "Total NEBL sent",
"type": "number"
},
"totalSentSat": {
"description": "Total NEBL sent satoshis",
"type": "number"
},
"transactions": {
"description": "Array of transaction ids for this address",
"items": {
"type": "string"
},
"type": "array"
},
"txAppearances": {
"description": "Number of transactions for this address",
"type": "number"
},
"unconfirmedBalance": {
"description": "Unconfirmed NEBL balance",
"type": "number"
},
"unconfirmedBalanceSat": {
"description": "Unconfirmed NEBL balance in satoshis",
"type": "number"
},
"unconfirmedTxAppearances": {
"description": "Number of unconfirmed transactions for this address",
"type": "number"
}
},
"type": "object"
},
"getAddressTotalReceivedResponse": {
"description": "Address total received in satoshis",
"type": "number"
},
"getAddressTotalSentResponse": {
"description": "Address total sent in satoshis",
"type": "number"
},
"getAddressUnconfirmedBalanceResponse": {
"description": "Address unconfirmed balance in satoshis",
"type": "number"
},
"getAddressUtxosResponse": {
"description": "Array of objects representing this address' UTXOs",
"items": {
"properties": {
"address": {
"description": "Address",
"type": "string"
},
"amount": {
"description": "NEBL amount",
"type": "number"
},
"confirmations": {
"description": "Number of confirmations",
"type": "number"
},
"scriptPubKey": {
"description": "scriptPubKey",
"type": "string"
},
"ts": {
"description": "Timestamp",
"type": "number"
},
"txid": {
"description": "Transaction ID",
"type": "string"
},
"vout": {
"description": "vout",
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"getBlockIndexResponse": {
"properties": {
"blockHash": {
"description": "Hash of the requested block",
"type": "string"
}
},
"type": "object"
},
"getBlockResponse": {
"properties": {
"bits": {
"description": "Block bits",
"type": "string"
},
"confirmations": {
"description": "Number of confirmations block has",
"type": "number"
},
"difficulty": {
"description": "Block difficulty",
"type": "number"
},
"hash": {
"description": "Block hash",
"type": "string"
},
"height": {
"description": "Block height",
"type": "number"
},
"merkleroot": {
"description": "Merkleroot of block",
"type": "string"
},
"nextblockhash": {
"description": "Hash of the next block on the chain",
"type": "string"
},
"nonce": {
"description": "Block nonce",
"type": "number"
},
"previousblockhash": {
"description": "Hash of the previous block on the chain",
"type": "string"
},
"reward": {
"description": "Number of NEBL awarded in this block",
"type": "number"
},
"size": {
"description": "Block size in bytes",
"type": "number"
},
"time": {
"description": "Block time relative to epoch",
"type": "number"
},
"tx": {
"description": "Array of tx ids in the block",
"items": {
"type": "string"
},
"type": "array"
},
"version": {
"description": "Block version",
"type": "number"
}
},
"type": "object"
},
"getFaucetResponse": {
"properties": {
"data": {
"properties": {
"txId": {
"description": "TXID of a successful withdrawal",
"type": "string"
}
},
"type": "object"
},
"status": {
"description": "Whether the withdrawal was successful",
"type": "string"
}
},
"type": "object"
},
"getRawTxResponse": {
"properties": {
"rawtx": {
"description": "Raw hex representing the transaction",
"type": "string"
}
},
"type": "object"
},
"getStatusResponse": {
"description": "Depending on the function called, the structure and information contained in this object will vary",
"type": "object"
},
"getSyncResponse": {
"description": "Object containing node sync status",
"properties": {
"blockChainHeight": {
"description": "Current blockchain height",
"type": "number"
},
"error": {
"description": "Recent sync error messages",
"type": "string"
},
"height": {
"description": "Height node is synced to",
"type": "number"
},
"status": {
"description": "Current sync status",
"type": "string"
},
"syncPercentage": {
"description": "Current sync percentage",
"type": "number"
},
"type": {
"description": "Node type",
"type": "string"
}
},
"type": "object"
},
"getTokenHoldersResponse": {
"properties": {
"aggregationPolicy": {
"description": "Whether the tokesn are aggregatable",
"type": "string"
},
"divibility": {
"description": "How many decimal points the token is divisble to",
"type": "number"
},
"holders": {
"items": {
"properties": {
"address": {
"type": "string"
},
"amount": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"lockStatus": {
"description": "Whether new issuances of this token are locked",
"type": "boolean"
},
"someUtxo": {
"description": "A UTXO of this token",
"type": "string"
},
"tokenId": {
"description": "TokenId of the token",
"type": "string"
}
},
"type": "object"
},
"getTokenIdResponse": {
"properties": {
"tokenId": {
"description": "Unique ID of the token",
"type": "string"
},
"tokenName": {
"description": "String representing the token Symbol",
"type": "string"
}
},
"type": "object"
},
"getTokenMetadataResponse": {
"properties": {
"aggregationPolicy": {
"description": "Whether the tokens are aggregatable",
"type": "string"
},
"divisibility": {
"description": "Decimal places the token is divisible to",
"type": "number"
},
"firstBlock": {
"description": "Block number token was issued in",
"type": "number"
},
"initialIssuanceAmount": {
"description": "Total tokens issued in initial issuance",
"type": "number"
},
"issuanceTxid": {
"description": "TXID the token was issued with",
"type": "string"
},
"issueAddress": {
"description": "Address that issued the tokens",
"type": "string"
},
"lockStatus": {
"description": "Whether issuance of more tokens is locked",
"type": "boolean"
},
"metadataOfIssuance": {
"description": "Metadata set at issuance",
"properties": {
"data": {
"properties": {
"description": {
"description": "Token description",
"type": "string"
},
"issuer": {
"description": "Name of token issuer",
"type": "string"
},
"tokenName": {
"description": "Token symbol",
"type": "string"
},
"userData": {
"description": "Metadata set by user on token",
"properties": {
"meta": {
"items": {
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"metadataOfUtxo": {
"description": "Metadata set for UTXO",
"properties": {
"userData": {
"description": "Metadata set by user on token for UTXO",
"properties": {
"meta": {
"items": {
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"numOfBurns": {
"description": "Number of times tokens have been burned",
"type": "number"
},
"numOfHolders": {
"description": "Total number of addresses this token is held at",
"type": "number"
},
"numOfIssuance": {
"description": "Total number of times this token has been issued",
"type": "number"
},
"numOfTransfers": {
"description": "Total number of transactions of this token",
"type": "number"
},
"someUtxo": {
"description": "Example UTXO containing this token.",
"type": "string"
},
"tokenId": {
"description": "ID of the token",
"type": "string"
},
"totalSupply": {
"description": "Total number of tokens in supply",
"type": "number"
}
},
"type": "object"
},
"getTransactionInfoResponse": {
"properties": {
"blockhash": {
"description": "Hash of the block this transaction is in",
"type": "string"
},
"blockheight": {
"description": "Block height of this transaction",
"type": "number"
},
"blocktime": {
"description": "Block time of this transaction",
"type": "number"
},
"confirmations": {
"description": "Number of transaction confirmations",
"type": "number"
},
"fee": {
"description": "Total NEBL used as fee for this transcation in satoshis",
"type": "number"
},
"hex": {
"description": "Transaction in raw hex",
"type": "string"
},
"locktime": {
"description": "Transaction locktime",
"type": "number"
},
"time": {
"description": "Transaction time",
"type": "number"
},
"totalsent": {
"description": "Total NEBL sent in this transaction in satoshis",
"type": "number"
},
"txid": {
"description": "TXID of transaction",
"type": "string"
},
"version": {
"description": "Transaction version",
"type": "number"
},
"vin": {
"description": "Array of transaction inputs",
"items": {
"properties": {
"previousOutput": {
"properties": {
"addresses": {
"items": {
"type": "string"
},
"type": "array"
},
"asm": {
"type": "string"
},
"hex": {
"type": "string"
},
"reqSigs": {
"type": "number"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"scriptSig": {
"properties": {
"asm": {
"type": "string"
},
"hex": {
"type": "string"
}
},
"type": "object"
},
"sequence": {
"type": "number"
},
"tokens": {
"items": {
"properties": {
"aggregationPolicy": {
"description": "Whether the tokens are aggregatable",
"type": "string"
},
"amount": {
"description": "Number of tokens",
"type": "number"
},
"divisibility": {
"description": "Decimal places the token is divisible to",
"type": "number"
},
"issueTxid": {
"description": "TXID the token was issued in",
"type": "string"
},
"lockStatus": {
"description": "Whether issuance of more tokens is locked",
"type": "boolean"
},
"tokenId": {
"description": "ID of the token",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"txid": {
"description": "TXID of the input",
"type": "string"
},
"value": {
"description": "Value of input in NEBL satoshi",
"type": "number"
},
"vout": {
"description": "output index",
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"vout": {
"description": "Array of transaction outputs",
"items": {
"properties": {
"blockheight": {
"description": "Blockheight of this transaction",
"type": "number"
},
"n": {
"description": "Output index",
"type": "number"
},
"scriptPubKey": {
"properties": {
"addresses": {
"items": {
"type": "string"
},
"type": "array"
},
"asm": {
"type": "string"
},
"hex": {
"type": "string"
},
"reqSigs": {
"type": "number"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"tokens": {
"items": {
"properties": {
"aggregationPolicy": {
"description": "Whether the tokens are aggregatable",
"type": "string"
},
"amount": {
"description": "Number of tokens",
"type": "number"
},
"divisibility": {
"description": "Decimal places the token is divisible to",
"type": "number"
},
"issueTxid": {
"description": "TXID the token was issued in",
"type": "string"
},
"lockStatus": {
"description": "Whether issuance of more tokens is locked",
"type": "boolean"
},
"tokenId": {
"description": "ID of the token",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"used": {
"description": "Whether this output has now been used",
"type": "boolean"
},
"usedBlockheight": {
"description": "Blockheight this output was used in",
"type": "number"
},
"usedTxid": {
"description": "TXID this output was used in",
"type": "string"
},
"value": {
"description": "Value of the output in NEBL satoshi",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"getTxResponse": {
"properties": {
"blockhash": {
"description": "Hash of the block this transaction is in",
"type": "string"
},
"blockheight": {
"description": "Block height of this transaction",
"type": "number"
},
"blocktime": {
"description": "Block time of this transaction",
"type": "number"
},
"confirmations": {
"description": "Number of transaction confirmations",
"type": "number"
},
"fee": {
"description": "Total NEBL used as fee for this transcation in satoshis",
"type": "number"
},
"fees": {
"description": "Total NEBL used in fees for this transaction",
"type": "number"
},
"locktime": {
"description": "Transaction locktime",
"type": "number"
},
"size": {
"description": "Transcation size in bytes",
"type": "number"
},
"time": {
"description": "Transaction time",
"type": "number"
},
"totalsent": {
"description": "Total NEBL sent in this transaction in satoshis",
"type": "number"
},
"txid": {
"description": "TXID of transaction",
"type": "string"
},
"valueIn": {
"description": "Total NEBL input in this transaction",
"type": "number"
},
"valueOut": {
"description": "Total NEBL output in this transaction",
"type": "number"
},
"version": {
"description": "Transaction version",
"type": "number"
},
"vin": {
"description": "Array of transaction inputs",
"items": {
"properties": {
"n": {
"description": "input index",
"type": "number"
},
"scriptSig": {
"properties": {
"asm": {
"type": "string"
},
"hex": {
"type": "string"
}
},
"type": "object"
},
"sequence": {
"type": "number"
},
"txid": {
"description": "TXID of the input",
"type": "string"
},
"value": {
"description": "Value of input in NEBL",
"type": "number"
},
"valueSat": {
"description": "Value of input in NEBL satoshi",
"type": "number"
},
"vout": {
"description": "output index",
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"vout": {
"description": "Array of transaction outputs",
"items": {
"properties": {
"blockheight": {
"description": "Blockheight of this transaction",
"type": "number"
},
"n": {
"description": "Output index",
"type": "number"
},
"scriptPubKey": {
"properties": {
"addresses": {
"items": {
"type": "string"
},
"type": "array"
},
"asm": {
"type": "string"
},
"hex": {
"type": "string"
},
"reqSigs": {
"type": "number"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"used": {
"description": "Whether this output has now been used",
"type": "boolean"
},
"usedBlockheight": {
"description": "Blockheight this output was used in",
"type": "number"
},
"usedTxid": {
"description": "TXID this output was used in",
"type": "string"
},
"value": {
"description": "Value of the output in NEBL",
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"getTxsResponse": {
"description": "Object containing an array of transaction objects",
"properties": {
"pagesTotal": {
"description": "Number of pages of transactions",
"type": "number"
},
"txs": {
"description": "Array of transaction objects",
"items": {
"$ref": "#/components/schemas/getTxResponse"
},
"type": "array"
}
},
"type": "object"
},
"issueTokenRequest": {
"properties": {
"amount": {
"description": "Number of tokens to issue",
"type": "number"
},
"divisibility": {
"description": "Number of decimal places the token should be divisble by (0-7)",
"type": "number"
},
"fee": {
"description": "Fee in satoshi to include in the issuance transaction min 1000000000 (10 NEBL)",
"type": "number"
},
"flags": {
"description": "Object representing flags that potentialy modify this transaction",
"properties": {
"splitChange": {
"description": "If true change will be split into 2 outputs, one for NEBL change and one for NTP1 change (recommended)",
"type": "boolean"
}
},
"type": "object"
},
"issueAddress": {
"description": "Address issuing the token",
"type": "string"
},
"metadata": {
"description": "Object representing all metadata at token issuance",
"properties": {
"description": {
"description": "Long name or description of token (ex. Nibble)",
"type": "string"
},
"encryptions": {
"description": "Array of encryption instruction objects for encrypting userData",
"items": {
"properties": {
"format": {
"description": "key format (pem or der)",
"type": "string"
},
"key": {
"description": "userData key to encrypt",
"type": "string"
},
"pubkey": {
"description": "RSA public key used for encryption",
"type": "string"
},
"type": {
"description": "pkcs1 or pkcs8",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"issuer": {
"description": "Name of token issuer",
"type": "string"
},
"rules": {
"description": "Object describing token rules",
"properties": {
"expiration": {
"description": "Object describing expiration rules of the token",
"properties": {
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
},
"validUntil": {
"description": "Blockheight at wh",
"type": "number"
}
},
"type": "object"
},
"fees": {
"properties": {
"items": {
"description": "Array of objects describing fee rules",
"items": {
"properties": {
"address": {
"description": "Address fee is auto sent to",
"type": "string"
},
"tokenId": {
"description": "How fee should be paid, either with a tokenId, or with NEBL if null",
"type": "string"
},
"value": {
"description": "Amount of NTP1 token, or NEBL (in satoshi) to pay as fee",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
}
},
"type": "object"
},
"holders": {
"description": "Array of objects describing what addresses can hold the token",
"items": {
"properties": {
"address": {
"description": "Address that can hold the token",
"type": "string"
},
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"tokenName": {
"description": "Token Symbol it will be identified by (ex. NIBBL)",
"type": "string"
},
"urls": {
"items": {
"properties": {
"dataHash": {
"description": "Hash of data at the URL, used for verification",
"type": "string"
},
"mimeType": {
"description": "mimeType of URL content",
"type": "string"
},
"name": {
"description": "Name of the URL",
"type": "string"
},
"url": {
"description": "Actual URL",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"userData": {
"description": "Metadata set by user on token",
"properties": {
"meta": {
"items": {
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"reissuable": {
"description": "whether the token should be reissuable",
"type": "boolean"
},
"transfer": {
"items": {
"properties": {
"address": {
"description": "Address to send the amount of issued tokens to",
"type": "string"
},
"amount": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"issueAddress",
"amount",
"divisibility",
"fee",
"reissuable",
"transfer"
],
"type": "object"
},
"issueTokenResponse": {
"properties": {
"tokenId": {
"description": "TokenId of the to be issued token",
"type": "string"
},
"txHex": {
"description": "Unsigned, raw transaction hex of the transaction to issue the token",
"type": "string"
}
},
"type": "object"
},
"rpcRequest": {
"properties": {
"id": {
"default": "neblio-apis",
"description": "Identifier of RCP caller",
"example": "neblio-apis",
"type": "string"
},
"jsonrpc": {
"default": "1.0",
"description": "JSON-RPC version",
"example": "1.0",
"type": "string"
},
"method": {
"description": "Name of the Neblio RPC method to call",
"example": "getstakinginfo",
"type": "string"
},
"params": {
"description": "Array of string params that should be passed to the RPC method.",
"example": [],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"jsonrpc",
"id",
"method",
"params"
],
"type": "object"
},
"rpcResponse": {
"description": "Object containing the JSON response from the Neblio node.",
"properties": {
"error": {
"description": "Object containing any error information.",
"type": "object"
},
"id": {
"description": "Identifier of RCP caller",
"type": "string"
},
"result": {
"description": "Object containing the response output.",
"type": "object"
}
},
"type": "object"
},
"sendTokenRequest": {
"properties": {
"fee": {
"description": "Fee in satoshi to include in the issuance transaction min 10000 (0.0001 NEBL)",
"type": "number"
},
"flags": {
"description": "Object representing flags that potentialy modify this transaction",
"properties": {
"splitChange": {
"description": "If true change will be split into 2 outputs, one for NEBL change and one for NTP1 change (recommended)",
"type": "boolean"
}
},
"type": "object"
},
"from": {
"description": "Array of addresses to send the token from",
"items": {
"type": "string"
},
"type": "array"
},
"metadata": {
"description": "Object representing all metadata at token issuance",
"properties": {
"description": {
"description": "Long name or description of token (ex. Nibble)",
"type": "string"
},
"encryptions": {
"description": "Array of encryption instruction objects for encrypting userData",
"items": {
"properties": {
"format": {
"description": "key format (pem or der)",
"type": "string"
},
"key": {
"description": "userData key to encrypt",
"type": "string"
},
"pubkey": {
"description": "RSA public key used for encryption",
"type": "string"
},
"type": {
"description": "pkcs1 or pkcs8",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"issuer": {
"description": "Name of token issuer",
"type": "string"
},
"rules": {
"description": "Object describing token rules",
"properties": {
"expiration": {
"description": "Object describing expiration rules of the token",
"properties": {
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
},
"validUntil": {
"description": "Blockheight at wh",
"type": "number"
}
},
"type": "object"
},
"fees": {
"properties": {
"items": {
"description": "Array of objects describing fee rules",
"items": {
"properties": {
"address": {
"description": "Address fee is auto sent to",
"type": "string"
},
"tokenId": {
"description": "How fee should be paid, either with a tokenId, or with NEBL if null",
"type": "string"
},
"value": {
"description": "Amount of NTP1 token, or NEBL (in satoshi) to pay as fee",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
}
},
"type": "object"
},
"holders": {
"description": "Array of objects describing what addresses can hold the token",
"items": {
"properties": {
"address": {
"description": "Address that can hold the token",
"type": "string"
},
"locked": {
"description": "Whether this rule can be modified in future transactions",
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"tokenName": {
"description": "Token Symbol it will be identified by (ex. NIBBL)",
"type": "string"
},
"urls": {
"items": {
"properties": {
"dataHash": {
"description": "Hash of data at the URL, used for verification",
"type": "string"
},
"mimeType": {
"description": "mimeType of URL content",
"type": "string"
},
"name": {
"description": "Name of the URL",
"type": "string"
},
"url": {
"description": "Actual URL",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"userData": {
"description": "Metadata set by user on token",
"properties": {
"meta": {
"items": {
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"sendutxo": {
"description": "Array of UTXOs to send the token from",
"items": {
"type": "string"
},
"type": "array"
},
"to": {
"items": {
"properties": {
"address": {
"description": "Address to transfer tokens to",
"type": "string"
},
"amount": {
"description": "Number of tokens to send",
"type": "number"
},
"tokenId": {
"description": "ID of token we are sending",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"fee",
"to"
],
"type": "object"
},
"sendTokenResponse": {
"properties": {
"multisigOutputs": {
"description": "Array of indexes of multisig outputs",
"items": {
"type": "number"
},
"type": "array"
},
"ntp1OutputIndexes": {
"description": "Array of indexes transfering NTP1 tokens",
"items": {
"type": "number"
},
"type": "array"
},
"txHex": {
"description": "Unsigned, raw transaction hex of the transaction to send the token",
"type": "string"
}
},
"type": "object"
},
"sendTxRequest": {
"properties": {
"rawtx": {
"description": "Signed raw tx hex to broadcast",
"type": "string"
}
},
"required": [
"rawtx"
],
"type": "object"
}
},
"securitySchemes": {
"rpcAuth": {
"scheme": "basic",
"type": "http"
}
}
}
}