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://twitter.com/NeblioTeam/profile_image?size=original
  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.
      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.
      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.
      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.
      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.
      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.
      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
      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
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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
      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
      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.
      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.
      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.
      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
