API Miner (1.1.7)

This document describes the specification for the API Miner public API.

Download OpenAPI 3.0 Specification

Download Postman Collection

Quickstart and other documentation

This document has the specification, the main documentation can be found on the official Blockwell Docs website:

Blockwell Docs

Rate limiting

All users are limited to 10 requests per second and 3600 requests per hour.

Contact us if you need higher limits.

Contact

Contact us at:

General Inquiries: blockwell@blockwell.ai

Assistance with API Miner: devhelp@blockwell.ai

General Blockwell chat: Blockwell Telegram

Changelog

Authentication

AccessToken

Access Token (aka. API Key) must be given as a Bearer token:

Authorization: Bearer <token>
Security Scheme Type HTTP
HTTP Authorization Scheme bearer

Generic responses

This describes the generic responses that are not specific to an endpoint.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "error":
    {
    • "error": "bad_query",
    • "message": "Invalid query format"
    }
}

tokens

List tokens

List Token contracts belonging to the current user.

Authorizations:
query Parameters
network
string

Optional. Filter by network, see Ethereum networks.

name
string

Optional. Filter by Token name.

symbol
string

Optional. Filter by Token symbol.

Responses

Response Schema: application/json
Array of objects (Token contract)

Response samples

Content type
application/json
{
  • "data":
    [
    • {
      }
    ]
}

Token by ID

Get a specific token by its unique identifier.

Authorizations:
path Parameters
contractId
required
string

ID of the token

Responses

Response Schema: application/json
object (Token contract)

Response samples

Content type
application/json
{
  • "data":
    {
    • "id": "6ab34922-0561-48b7-9e11-ce1581e100f2",
    • "name": "API Miner Coin",
    • "network": "spout",
    • "address": "0x418f8020b48731ffd2a99afe0aa5e7d66ca263d8",
    • "type": "erc20",
    • "parameters":
      {
      }
    }
}

Default account balance

Get the specified token balance for the current user's default account.

Authorizations:
path Parameters
contractId
required
string

ID of the token.

Responses

Response Schema: application/json
data
string

Token balance of the address in the smallest unit.

Response samples

Content type
application/json
{
  • "data": "1000000000000000000"
}

Token balance

Get the specified token balance for a specific account.

Authorizations:
path Parameters
contractId
required
string

ID of the token.

address
required
string

Address to get balance for.

Responses

Response Schema: application/json
data
string

Token balance of the address in the smallest unit.

Response samples

Content type
application/json
{
  • "data": "1000000000000000000"
}

Token transfer history

Gets the transfer history for the specified token.

Authorizations:
query Parameters
from
string

Filter transfers by the from address.

to
string

Filter transfers by the to address.

address
string

Filter transfers where this address is either the sender or recipient.

Responses

Response Schema: application/json
Array of objects (Token transfer)

Response samples

Content type
application/json
{
  • "data":
    [
    • {
      },
    • {
      }
    ]
}

Transfer tokens

Submit a Token transfer to the blockchain.!!

Success means the transfer was accepted for processing, but there are no guarantees as to when the processing will be done. Processing happens on first-come-first-served basis.

A successful response contains a unique ID for the transaction, which can then be used to query its status.

Passing the optional callbacks parameter in the body will add a web callback that gets called once the transaction completes.

The callback payload is {"transaction": Transaction}, with the same formatting as with getting a transaction.

Authorizations:
path Parameters
contractId
required
string

ID of the token.

Request Body schema: application/json

Token transfer request body.

to
required
string

Ethereum address to send Tokens to.

value
required
string ^[0-9]$

Amount of Tokens to transfer, in the Token's smallest unit.

from
string

Address to send from, as either an Ethereum address, or an account ID.

If not specified, the current user's default account will be used.

callbacks
Array of strings

Callback URL(s) to be notified when the Token transfer completes.

See Callbacks for more details.

callbackData
object

An object holding data that the callbacks will contain.

waitForAsset
string

The address of an asset to wait for to be deposited before this transaction should be processed. This can be an ERC-20 token address, or 0x0 for Ether.

The maximum time the transaction can wait is one hour, after which it will fail.

If specified, waitForValue is also required.

waitForValue
string

When waitForAsset is specified, the user's balance must greater than or equal to this value before the transaction is processed.

If specified, waitForAsset is also required.

Responses

Response Schema: application/json
object (Transaction)

Request samples

Content type
application/json
{
  • "to": "0x98c4A022C1492Cc8a59F75295FBCf4a9F1Bc7cE8",
  • "value": "1000000000000000000"
}

Response samples

Content type
application/json
{
  • "data":
    {
    • "id": "9969d904-fa6c-4bd5-91ce-f07002a3ee27",
    • "type": "contract-method",
    • "contractId": "6ab34922-0561-48b7-9e11-ce1581e100f2",
    • "from": "0x418F8020b48731FfD2a99Afe0Aa5E7d66Ca263d8",
    • "method": "transfer",
    • "parameters":
      [
      ],
    • "status": "new",
    • "created": "2018-06-12T22:20:42.804Z",
    • "network": "rinkeby"
    }
}

Token information