NAV Navbar
shell http javascript nodejs ruby java python
  • Introduction
  • Authentication
  • BlockExplorer API
  • Users API
  • Wallets API
  • Transactions API
  • Ciphers API
  • Markets
  • Health
  • Models
  • Errors
  • Introduction

    Consumes

    application/json

    Produces

    application/json

    Schemes: https

    Host: api.coincircle.com Staging Host: staging-api.coincircle.com

    Welcome to the CoinCircle API. You can use our API to access CoinCircle API endpoints.

    The staging API uses the ropsten testnet, rather than the main ethereum network. If you need any ropsten eth, please use the faucet.

    Authentication

    To authorize, use this code:

    # With shell, you can just pass the correct header with each request
    curl "api_endpoint_here"
      -H "Authorization: Basic $(echo -n \"<client_id>:<client_secret>\" | base64)"
    
    const fetch = require('isomorphic-fetch');
    
    const auth = Buffer.from('<client_id>:<client_secret>').toString('base64');
    const url = 'api_endpoint_here';
    const data = {
      key: 'val'
    }
    const opts = {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Basic ${auth}`
      },
      body: JSON.stringify(data)
    }
    
    fetch(url, opts)
      .then(res => res.json())
      .then(json => console.log('SUCCESS', json))
      .catch(err => console.log('ERROR', err))
    

    To authenticate with the API, you must pass a basic authorization header. The value is simply <client_id>:<client_secret> base64-encoded. Examples are providerd, here.

    Additionaly, all endpoints that act on behalf of a user (e.g. most all of the Users API, Wallets API and Transactions API) require oAuth 2.0 authorization. oAuth 2.0 credentials are acquired after creating a new user, if that user isn't already an existing coincircle user, or after following the oAuth 2.0 Authorization Code flow if the user already exists.

    If you need to request permission from an existing user, first redirect the user to https://coincircle.com/login?client_id=fake_client_id&redirect_uri=https://www.example.com/_oauth/coincircle&response_type=code&state=state&scope=read

    Next, if successful, a code and state will be passed as url query parameters to the redirect uri. E.g. https://www.example.com/?code=7afb1c55-76e4-4c76-adb7-9d657cb47a27&state=somestate. If there was an error, the error will be passed, instead. E.g. https://www.example.com/?error=access_denied&state=somestate.

    Finally, this code can then be exchanged for auth and refresh tokens by posting it to the authorization code end point: /v1/oauth/tokens. The following data is required as application/x-www-form-urlencoded: "grant_type:"authorization_code", "code:7afb1c55-76e4-4c76-adb7-9d657cb47a27", "redirect_uri:https://www.example.com". Additionally, basic auth is required.

    In order to refresh an access token, a refresh token must be posted to the /v1/oauth/tokens endpoint. The following data is required as application/x-www-form-urlencoded: grant_type=refresh_token", "refresh_token:6fd8d272-375a-4d8a-8d0f-43367dc8b791". Additionally, basic auth is required.

    BlockExplorer API

    Get balances

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/balances/{publicAddress} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/balances/{publicAddress} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/balances/{publicAddress}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/balances/{publicAddress}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/balances/{publicAddress}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/balances/{publicAddress}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/balances/{publicAddress}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/balances/{publicAddress}

    balances BlockExplorerV1

    Get ETH/Token Balances for an address

    Parameters

    Parameter In Type Required Description
    address[] query array[string] false If passed, filters returned token balances to only include balances for passed token addresses. For ETH, use 'ETH'. If not passed, returns all token balances.
    publicAddress path string true No description
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK TokenbalanceCollection
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Query blocks

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/blocks \
      -H 'Accept: application/block+json; type=collection' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/blocks HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/block+json; type=collection
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/block+json; type=collection',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/blocks',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/block+json; type=collection',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/blocks',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/block+json; type=collection',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/blocks',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/block+json; type=collection',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/blocks', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/blocks");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/blocks

    blocks BlockExplorerV1

    Query blocks

    Parameters

    Parameter In Type Required Description
    from query integer false Min block number
    to query integer false Max block number
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK BlockCollection
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Get a block

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash} \
      -H 'Accept: application/block+json' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/block+json
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/block+json',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/block+json',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/block+json',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/block+json',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/blocks/{blockNumberOrHash}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/blocks/{blockNumberOrHash}

    block BlockExplorerV1

    Get a single block by block number or hash

    Parameters

    Parameter In Type Required Description
    blockNumberOrHash path string true No description
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Block
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Query logs

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/logs \
      -H 'Accept: application/log+json; type=collection' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/logs HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/log+json; type=collection
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/log+json; type=collection',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/logs',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/log+json; type=collection',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/logs',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/log+json; type=collection',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/logs',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/log+json; type=collection',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/logs', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/logs");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/logs

    logs BlockExplorerV1

    Get contract event logs

    Parameters

    Parameter In Type Required Description
    addresses query array[string] false Only match logs emitted by this address. Supports multiple addresses by specifying the same query param multiple times
    fromBlock query integer false Min block number
    toBlock query integer false Max block number
    topics0 query array[string] false Query log topics0. Supports multiple addresses by specifying the same query param multiple times
    topics1 query array[string] false Query log topics1. Supports multiple addresses by specifying the same query param multiple times
    topics2 query array[string] false Query log topics2. Supports multiple addresses by specifying the same query param multiple times
    topics3 query array[string] false Query log topics3. Supports multiple addresses by specifying the same query param multiple times
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK LogCollection
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Tokens meta data

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/tokens/{address} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/tokens/{address} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/tokens/{address}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/tokens/{address}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/tokens/{address}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/tokens/{address}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/tokens/{address}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1block-explorer/tokens/{address}

    tokens BlockExplorerV1

    Get metadata about an ERC-20 token

    Parameters

    Parameter In Type Required Description
    address path string true No description
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Token
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Query transactions

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/transactions \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/transactions HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/transactions',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/transactions',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/transactions',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/transactions', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/transactions");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/transactions

    transactions BlockExplorerV1

    Query blockchain transactions

    Parameters

    Parameter In Type Required Description
    from query string false Only match transactions where the from address equals this value
    fromBlock query integer false Min block number
    input query string false Only return items where input equals some value
    inputOperator query string false One of [STARTSWITH, ENDSWITH, CONTAINS, EQUALS]. Defaults to 'EQUALS'
    to query string false Only match transactions where the to address equals this value
    toBlock query integer false Max block number
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK TransactionCollection
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Get a transaction

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/block-explorer/transactions/{hash} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string'
    
    
    
    GET https://api.coincircle.com/v1/block-explorer/transactions/{hash} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/block-explorer/transactions/{hash}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/block-explorer/transactions/{hash}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/block-explorer/transactions/{hash}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/block-explorer/transactions/{hash}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/block-explorer/transactions/{hash}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/block-explorer/transactions/{hash}

    transaction BlockExplorerV1

    Get a single transaction by hash

    Parameters

    Parameter In Type Required Description
    hash path string true No description
    includeLogs query boolean false If true, includes an array of log objects
    Authorization header string true No description

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Transaction
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    410 Gone Gone Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Users API

    List users

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/users \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/users HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/users',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/users',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/users',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/users', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/users");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/users

    list UsersV1

    Fetch users

    Parameters

    Parameter In Type Required Description
    address[] query array[string] false If passed, filters returned token balances to only include balances for passed token addresses. For ETH, use 'ETH'. If not passed, returns all token balances.
    includeBalances query boolean false If true and 'includeWallets' is true, returns token balances for wallets. Defaults to false.
    includeWallets query boolean false If true, returns user wallets. Defaults to false.
    page query integer false The page number to return (one indexed)
    perPage query integer false The maximum number of users to return per page
    sort query string false Sorts the users by timestamp (DESC = newest to oldest)
    usernameQuery query string false Returns users where username starts with usernameQuery
    Authorization header string true No description
    CC-Access-Token header string true A valid user access token
    CC-Token-Type header string true The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    sort DESC
    sort ASC
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK UserCollection
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    404 Not Found A user with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Create a user

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/users \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/users HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/users',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "email": "Ursula@CoinCircle.com"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/users',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/users',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/users', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/users");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/users

    new UsersV1

    Create a new user

    Body parameter

    {
      "email": "Ursula@CoinCircle.com"
    }
    

    Parameters

    Parameter In Type Required Description
    Authorization header string true No description
    CC-Access-Token header string true A valid user access token
    CC-Token-Type header string true The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body NewUserPayload true No description
    » email body string true The email for the user that you are registering. Emails must be unique and are case insensitive

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK User
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    410 Gone A user already exists in our system. You should follow the 'Authorization Code' grant type oAuth 2.0 flow in order to request permissions to be able to act on the user's behalf Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Response Headers

    Status Header Type Format Description
    200 CC-Access-Token string An access token that allows a client to act on behalf of a user
    200 CC-Access-Token-Expires-In integer The duration for which the access token is valid
    200 CC-Access-Token-Scope string The scope for which the user has given the client to act within
    200 CC-Refresh-Token string Refresh tokens are used to generate new access tokens

    Get a user

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/users/{userID} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/users/{userID} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/users/{userID}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/users/{userID}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/users/{userID}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/users/{userID}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/users/{userID}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/users/{userID}

    show UsersV1

    Fetch a user

    Parameters

    Parameter In Type Required Description
    address[] query array[string] false If passed, filters returned token balances to only include balances for passed token addresses. For ETH, use 'ETH'. If not passed, returns all token balances.
    includeBalances query boolean false If true and 'includeWallets' is true, returns token balances for wallets. Defaults to false.
    includeWallets query boolean false If true, returns user wallets. Defaults to false.
    userID path string true No description
    Authorization header string true No description
    CC-Access-Token header string true A valid user access token
    CC-Token-Type header string true The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK User
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    404 Not Found A user with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Wallets API

    These endpoints require basic authentication at the least. If no oAuth 2.0 credentials are provided, wallets will be associated with the api key used in the basic auth. If credentials are provided, wallets will be associated with the user associated with the access token.

    List wallets

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/wallets \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/wallets HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/wallets',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/wallets',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/wallets',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/wallets', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/wallets");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/wallets

    list WalletsV1

    List all of your or a user's wallets

    Parameters

    Parameter In Type Required Description
    address[] query array[string] false If passed, filters returned token balances to only include balances for passed token addresses. For ETH, use 'ETH'. If not passed, returns all token balances.
    includeBalances query boolean false If true, returns token balances, Defaults to false.
    page query integer false The page number to return (one indexed)
    perPage query integer false The maximum number of transactions to return per page
    sort query string false Sorts the transactions by timestamp (DESC = newest to oldest)
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    sort DESC
    sort ASC
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK WalletCollection
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    404 Not Found A user with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Create a wallet

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/wallets \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/wallets HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/wallets',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "protocol": "ETH"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/wallets',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/wallets',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/wallets', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/wallets");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/wallets

    new WalletsV1

    Create a new wallet

    Body parameter

    {
      "protocol": "ETH"
    }
    

    Parameters

    Parameter In Type Required Description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body NewWalletPayload true No description
    » protocol body string true The protocol of the wallet to create. Note: the protocol should be 'ETH' for any tokens transacted on the ethereum blockchain.

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token
    » protocol ETH

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Wallet
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    410 Gone If the maximum number of wallets have been created for this user for your clientID, you will not be able to create another Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Get a wallet

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/wallets/{walletId} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/wallets/{walletId} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/wallets/{walletId}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/wallets/{walletId}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/wallets/{walletId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/wallets/{walletId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/wallets/{walletId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/wallets/{walletId}

    show WalletsV1

    Get your or a user's wallet

    Parameters

    Parameter In Type Required Description
    address[] query array[string] false If passed, filters returned token balances to only include balances for passed token addresses. For ETH, use 'ETH'. If not passed, returns all token balances.
    includeBalances query boolean false If true, returns token balances, Defaults to false.
    walletId path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Wallet
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user or wallet with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Transactions API

    List transactions

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/transactions \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/transactions HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/transactions',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/transactions',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/transactions',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/transactions', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/transactions");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/transactions

    list TransactionsV1

    Get all of a user's non-pending transactions

    Parameters

    Parameter In Type Required Description
    page query integer false The page number to return (one indexed)
    perPage query integer false The maximum number of transactions to return per page
    sort query string false Sorts the transactions by timestamp (DESC = newest to oldest)
    walletId[] query array[string] false The wallet id's for which you'd like to receive transactions
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    sort DESC
    sort ASC
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK TransactionCollection
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user or wallet with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Create a transaction

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/transactions \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/transactions HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/transactions',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "to": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "value": "0x9184e72a",
      "walletId": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/transactions',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/transactions',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/transactions', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/transactions");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/transactions

    new TransactionsV1

    Create a new transaction

    Body parameter

    {
      "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "to": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "value": "0x9184e72a",
      "walletId": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }
    

    Parameters

    Parameter In Type Required Description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body NewTransactionPayload true No description
    » data body string false The standard 'txdata' for an ethereum transaction (https://github.com/ethereum/go-ethereum/blob/55599ee95d4151a2502465e0afc7c47bd1acba77/core/types/transaction.go#L57). Please note that this is required for sending a token. If you'd like to send a token, but don't know how to/ want to include this, please see our dedicated 'send token' end point.
    » gas body string false The maximum gas allowed to be spent to process the transaction. If not provided, an acceptable value will be provided for you.
    » gasPrice body string false The price used to determine the total gas cost. If not provided, an acceptable value will be provided for you.
    » nonce body string false The transaction sequence number from the sending account. If not provided, this will be calculated for you.
    » to body string true The address or smart contract to which the transaction should be sent
    » value body string true The amount to send. In the units of the smallest denomination for the coin/token (e.g. wei for ethereum)
    » walletId body string(uuid) false The wallet id for which you'd like to create a transaction

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK TransactionPending
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user or wallet with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Create a token transaction

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/transactions/tokens \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/transactions/tokens HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/transactions/tokens',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "recipientAddress": "0x765010b525D050c33104aE663317c723c90158bB",
      "tokenAddress": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "tokens": "0x9184e72a",
      "walletId": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/transactions/tokens',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/transactions/tokens',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/transactions/tokens', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/transactions/tokens");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/transactions/tokens

    new token transaction TransactionsV1

    Create a new token transaction. Note: this is a simplified version of the 'new transaction' end point specifically for sending tokens, but either can be used to send tokens. Do not use this end point to send ethereum.

    Body parameter

    {
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "recipientAddress": "0x765010b525D050c33104aE663317c723c90158bB",
      "tokenAddress": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "tokens": "0x9184e72a",
      "walletId": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }
    

    Parameters

    Parameter In Type Required Description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body NewTokenTransactionPayload true No description
    » gas body string false The maximum gas allowed to be spent to process the transaction. If not provided, an acceptable value will be provided for you.
    » gasPrice body string false The price used to determine the total gas cost. If not provided, an acceptable value will be provided for you.
    » nonce body string false The transaction sequence number from the sending account. If not provided, this will be calculated for you.
    » recipientAddress body string true The public wallet address of the recipient
    » tokenAddress body string true The smart contract address of the token being sent
    » tokens body string true The number of tokens to send, in the units of the token (e.g. ETH, not WEI for ethereum)
    » walletId body string(uuid) false The wallet id for which you'd like to create a transaction

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK TransactionPending
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user or wallet with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Get a transaction by hash

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/transactions/{txHash} \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/transactions/{txHash} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/transactions/{txHash}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/transactions/{txHash}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/transactions/{txHash}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/transactions/{txHash}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/transactions/{txHash}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/transactions/{txHash}

    show TransactionsV1

    Get a transaction by hash

    Parameters

    Parameter In Type Required Description
    txHash path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when acting on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Transaction
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user or wallet with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Ciphers API

    List Key IDs

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/ciphers \
      -H 'Accept: application/cipher+json; type=collection' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/ciphers HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/cipher+json; type=collection
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/cipher+json; type=collection',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/cipher+json; type=collection',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/cipher+json; type=collection',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/ciphers',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/cipher+json; type=collection',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/ciphers', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/ciphers

    list CiphersV1

    List all of a user's RSA key pairs

    Parameters

    Parameter In Type Required Description
    page query integer false The page number to return (one indexed)
    perPage query integer false The maximum number of key pairs to return per page
    sort query string false Sorts the key pairs by timestamp (DESC = newest to oldest)
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    sort DESC
    sort ASC
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK CipherCollection
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    404 Not Found A user with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Generate Key Pair

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/ciphers \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/cipher+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/ciphers HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/cipher+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/cipher+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "bits": 3072
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/cipher+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/cipher+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/ciphers',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/cipher+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/ciphers', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/ciphers/

    new CiphersV1

    Create a new RSA keypair for a user

    Body parameter

    {
      "bits": 3072
    }
    

    Parameters

    Parameter In Type Required Description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body NewCipherPayload true No description
    » bits body integer false The bit size

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Cipher
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Show Key ID

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1/ciphers/{cipherID} \
      -H 'Accept: application/cipher+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    GET https://api.coincircle.com/v1/ciphers/{cipherID} HTTP/1.1
    Host: api.coincircle.com
    
    
    Accept: application/cipher+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Accept':'application/cipher+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers/{cipherID}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/cipher+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers/{cipherID}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/cipher+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1/ciphers/{cipherID}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/cipher+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1/ciphers/{cipherID}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers/{cipherID}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/ciphers/{cipherID}

    show CiphersV1

    Get a user's key pair by ID

    Parameters

    Parameter In Type Required Description
    cipherID path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Cipher
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    403 Forbidden The client is not authorized to act on the provided userID or walletId Standard_error
    404 Not Found A user with that id does not exist Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Decrypt

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/decrypt+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/decrypt+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/decrypt+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "ciphertext": "meFz1l8Fbc8ehMCmx5mtpRlsgxPdqlg4f/s4vGI6UH8ftel+DiNoNad8tLDo"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/decrypt+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/decrypt+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/decrypt+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers/{cipherID}/actions/decrypt");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/ciphers/{cipherID}/actions/decrypt

    decrypt CiphersV1

    Decrypt a bytes array with a user's RSA private key

    Body parameter

    {
      "ciphertext": "meFz1l8Fbc8ehMCmx5mtpRlsgxPdqlg4f/s4vGI6UH8ftel+DiNoNad8tLDo"
    }
    

    Parameters

    Parameter In Type Required Description
    cipherID path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body DecryptPayload true No description
    » ciphertext body string true The base64 encoded ciphertext to decrypt

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Decrypt
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Encrypt

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/encrypt+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/encrypt+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/encrypt+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "hash": "SHA256",
      "plaintext": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/encrypt+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/encrypt+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/encrypt+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers/{cipherID}/actions/encrypt");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/ciphers/{cipherID}/actions/encrypt

    encrypt CiphersV1

    Encrypt a bytes array with a user's RSA public key

    Body parameter

    {
      "hash": "SHA256",
      "plaintext": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    

    Parameters

    Parameter In Type Required Description
    cipherID path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body EncryptPayload true No description
    » hash body string false The cryptographic hash function to use. We suggest the SHA512_256 function unless there is a specific reason to use another.
    » plaintext body string true The base64 encoded plaintext to encrypt using the OAEP method

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token
    » hash MD4
    » hash MD5
    » hash SHA1
    » hash SHA224
    » hash SHA256
    » hash SHA384
    » hash SHA512
    » hash MD5SHA1
    » hash RIPEMD160
    » hash SHA3_224
    » hash SHA3_256
    » hash SHA3_384
    » hash SHA3_512
    » hash SHA512_224
    » hash SHA512_256
    » hash BLAKE2s_256
    » hash BLAKE2b_256
    » hash BLAKE2b_384
    » hash BLAKE2b_512

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Encrypt
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Sign

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/sign+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/sign+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/sign+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/sign+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/sign+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/sign+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers/{cipherID}/actions/sign");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/ciphers/{cipherID}/actions/sign

    sign CiphersV1

    Sign base64 encoded data

    Body parameter

    {
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    

    Parameters

    Parameter In Type Required Description
    cipherID path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body SignPayload true No description
    » data body string true The base64 encoded data to sign

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Sign
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Verify

    Code samples

    # You can also use wget
    curl -X POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/standard_error+json' \
      -H 'Authorization: string' \
      -H 'CC-Access-Token: string' \
      -H 'CC-Token-Type: access_token'
    
    
    
    POST https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify HTTP/1.1
    Host: api.coincircle.com
    Content-Type: application/json
    Accept: application/standard_error+json
    Authorization: string
    CC-Access-Token: string
    CC-Token-Type: access_token
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU=",
      "signature": "HJ0L2g/xlDqs7cdcRVeraZTkuuyHxJWqHgLvZxuEdevBI0E9cQCQ/3nJsQNVAB0eMYew4rDo1zNnXBpwIO0nkA=="
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/standard_error+json',
      'Authorization':'string',
      'CC-Access-Token':'string',
      'CC-Token-Type':'access_token'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/standard_error+json',
      'Authorization' => 'string',
      'CC-Access-Token' => 'string',
      'CC-Token-Type' => 'access_token'
    }
    
    
    result = RestClient.post 'https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/standard_error+json',
      'Authorization': 'string',
      'CC-Access-Token': 'string',
      'CC-Token-Type': 'access_token'
    }
    
    
    r = requests.post('https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1/ciphers/{cipherID}/actions/verify");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /v1/ciphers/{cipherID}/actions/verify

    verify CiphersV1

    Verify a signature

    Body parameter

    {
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU=",
      "signature": "HJ0L2g/xlDqs7cdcRVeraZTkuuyHxJWqHgLvZxuEdevBI0E9cQCQ/3nJsQNVAB0eMYew4rDo1zNnXBpwIO0nkA=="
    }
    

    Parameters

    Parameter In Type Required Description
    cipherID path string true No description
    Authorization header string true No description
    CC-Access-Token header string false A valid user access token. Note: only required when actin on behalf of a user.
    CC-Token-Type header string false The provided CC-Access-Token type. Note: only access tokens are valid for this end point.
    body body VerifyPayload true No description
    » data body string true The base64 encoded data to verify
    » signature body string true The signature to verify agains, base64 encoded

    Enumerated Values

    Parameter Value
    CC-Token-Type access_token
    CC-Token-Type refresh_token

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK Verify
    400 Bad Request Bad Request Standard_error
    401 Unauthorized Unauthorized Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Markets

    Get Market Prices

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com/v1markets/prices?coin=string \
      -H 'Accept: application/market-price+json'
    
    
    
    GET https://api.coincircle.com/v1markets/prices?coin=string HTTP/1.1
    Host: localhost:8000
    
    
    Accept: application/market-price+json
    
    
    
    var headers = {
      'Accept':'application/market-price+json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.coincircle.com/v1markets/prices',
      method: 'get',
      data: '?coin=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/market-price+json'
    
    
    };
    
    
    fetch('https://api.coincircle.com/v1markets/prices?coin=string',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/market-price+json'
    }
    
    
    result = RestClient.get 'https://api.coincircle.com/v1markets/prices',
      params: {
      'coin' => 'string'
    }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/market-price+json'
    }
    
    
    r = requests.get('https://api.coincircle.com/v1markets/prices', params={
      'coin': 'string'
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com/v1markets/prices?coin=string");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /v1/markets/prices

    prices v1_markets

    Get volume-weighted average price in USD

    Parameters

    Parameter In Type Required Description
    coin query string true Coin
    exchanges query array[string] false Exchanges

    Example responses

    Responses

    Status Meaning Description Schema
    200 OK OK MarketPrice
    400 Bad Request Bad Request Standard_error
    404 Not Found Not Found Standard_error
    500 Internal Server Error Internal Server Error Standard_error

    Health

    Check health

    Code samples

    # You can also use wget
    curl -X GET https://api.coincircle.com//health/check
    
    
    
    GET https://api.coincircle.com//health/check HTTP/1.1
    Host: api.coincircle.com
    
    
    
    
    
    $.ajax({
      url: 'https://api.coincircle.com//health/check',
      method: 'get',
    
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    fetch('https://api.coincircle.com//health/check',
    {
      method: 'GET'
    
    
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    result = RestClient.get 'https://api.coincircle.com//health/check',
      params: {
      }
    
    
    p JSON.parse(result)
    
    
    
    import requests
    
    
    r = requests.get('https://api.coincircle.com//health/check', params={
    
    
    )
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.coincircle.com//health/check");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /health/check

    check health

    Check API status

    Responses

    Status Meaning Description Schema
    200 OK OK None

    Models

    Block

    {
      "difficulty": "Doloribus dolor vel eaque voluptas occaecati non.",
      "extraData": "Id laudantium.",
      "gasLimit": "Aut fuga.",
      "gasUsed": "Et in explicabo perspiciatis autem et quia.",
      "hash": "Qui molestiae accusamus.",
      "logsBloom": "Veritatis quia dolor atque aut laudantium.",
      "miner": "Doloremque alias velit et provident.",
      "mixHash": "Veniam aut unde ad.",
      "nonce": "Repellendus animi expedita.",
      "number": 5549611636209478000,
      "parentHash": "Doloremque tempore laudantium odio quisquam et.",
      "receiptsRoot": "Sint veniam dolorum voluptatem voluptatem ex ad.",
      "sha3Uncles": "Voluptatem quasi eos eaque voluptas.",
      "size": "Numquam et.",
      "stateRoot": "Iure atque et natus eum et qui.",
      "timestamp": 6872602519655576000,
      "totalDifficulty": "Sit et enim nulla neque placeat.",
      "transactionsRoot": "Eaque aut aut omnis libero deserunt ut."
    }
    

    Properties

    Name Type Required Description
    difficulty string false Block difficulty
    extraData string false Extra data
    gasLimit string false Gas limit
    gasUsed string false Gas used
    hash string false Block hash
    logsBloom string false Logs bloom
    miner string false Miner of block
    mixHash string false Mix hash
    nonce string false Nonce
    number integer(int64) false Block Number
    parentHash string false Parent hash
    receiptsRoot string false Receipts root
    sha3Uncles string false SHA3 Uncles
    size string false Block size
    stateRoot string false State root
    timestamp integer(int64) false UNIX Timestamp
    totalDifficulty string false Total difficulty
    transactionsRoot string false Transactions Root

    BlockCollection

    [
      {
        "difficulty": "Doloribus dolor vel eaque voluptas occaecati non.",
        "extraData": "Id laudantium.",
        "gasLimit": "Aut fuga.",
        "gasUsed": "Et in explicabo perspiciatis autem et quia.",
        "hash": "Qui molestiae accusamus.",
        "logsBloom": "Veritatis quia dolor atque aut laudantium.",
        "miner": "Doloremque alias velit et provident.",
        "mixHash": "Veniam aut unde ad.",
        "nonce": "Repellendus animi expedita.",
        "number": 5549611636209478000,
        "parentHash": "Doloremque tempore laudantium odio quisquam et.",
        "receiptsRoot": "Sint veniam dolorum voluptatem voluptatem ex ad.",
        "sha3Uncles": "Voluptatem quasi eos eaque voluptas.",
        "size": "Numquam et.",
        "stateRoot": "Iure atque et natus eum et qui.",
        "timestamp": 6872602519655576000,
        "totalDifficulty": "Sit et enim nulla neque placeat.",
        "transactionsRoot": "Eaque aut aut omnis libero deserunt ut."
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/block+json; type=collection; view=default [Block] false BlockCollection is the media type for an array of Block (default view)

    Log

    {
      "address": "A illo cum similique.",
      "blockHash": "Sunt omnis dolore quae minus perferendis.",
      "blockNumber": 701922065356952300,
      "data": "Ex beatae minima voluptas nulla at officiis.",
      "logIndex": 1792328448987245800,
      "logTopic0": "Dolorem culpa tempore nulla iste consequuntur et.",
      "logTopic1": "Nihil ipsam pariatur.",
      "logTopic2": "Accusamus dolorum enim quam.",
      "logTopic3": "Assumenda dicta eos et.",
      "removed": true,
      "transactionHash": "Dolore autem eius maiores architecto enim modi.",
      "transactionIndex": 2530847079146087000
    }
    

    Properties

    Name Type Required Description
    address string false Contract address which emitted the event
    blockHash string false Block hash in which the event was emitted
    blockNumber integer(int64) false Block number
    data string false Input data
    logIndex integer(int64) false Log index
    logTopic0 string false Log Topic 0
    logTopic1 string false Log Topic 1
    logTopic2 string false Log Topic 2
    logTopic3 string false Log Topic 3
    removed boolean false True if the transaction was removed
    transactionHash string false Transaction hash in which the event was emitted
    transactionIndex integer(int64) false Transaction index

    LogCollection

    [
      {
        "address": "A illo cum similique.",
        "blockHash": "Sunt omnis dolore quae minus perferendis.",
        "blockNumber": 701922065356952300,
        "data": "Ex beatae minima voluptas nulla at officiis.",
        "logIndex": 1792328448987245800,
        "logTopic0": "Dolorem culpa tempore nulla iste consequuntur et.",
        "logTopic1": "Nihil ipsam pariatur.",
        "logTopic2": "Accusamus dolorum enim quam.",
        "logTopic3": "Assumenda dicta eos et.",
        "removed": true,
        "transactionHash": "Dolore autem eius maiores architecto enim modi.",
        "transactionIndex": 2530847079146087000
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/log+json; type=collection; view=default [Log] false LogCollection is the media type for an array of Log (default view)

    NewTokenTransactionPayload

    {
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "recipientAddress": "0x765010b525D050c33104aE663317c723c90158bB",
      "tokenAddress": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "tokens": "0x9184e72a",
      "walletID": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }
    

    Properties

    Name Type Required Description
    gas string false The maximum gas allowed to be spent to process the transaction. If not provided, an acceptable value will be provided for you.
    gasPrice string false The price used to determine the total gas cost. If not provided, an acceptable value will be provided for you.
    nonce string false The transaction sequence number from the sending account. If not provided, this will be calculated for you.
    recipientAddress string true The public wallet address of the recipient
    tokenAddress string true The smart contract address of the token being sent
    tokens string true The number of tokens to send, in the units of the token (e.g. ETH, not WEI for ethereum)
    walletID string(uuid) false The wallet id for which you'd like to create a transaction

    NewTransactionPayload

    {
      "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
      "gas": "0x76c0",
      "gasPrice": "0x9184e72a000",
      "nonce": "0x76c0",
      "to": "0xd46e8dd67c5d32be8058bb8eb970870f072445675",
      "value": "0x9184e72a",
      "walletID": "9aad7179-86bd-47b0-8afb-2a05cc747a8c"
    }
    

    Properties

    Name Type Required Description
    data string false The standard 'txdata' for an ethereum transaction (https://github.com/ethereum/go-ethereum/blob/55599ee95d4151a2502465e0afc7c47bd1acba77/core/types/transaction.go#L57). Please note that this is required for sending a token. If you'd like to send a token, but don't know how to/ want to include this, please see our dedicated 'send token' end point.
    gas string false The maximum gas allowed to be spent to process the transaction. If not provided, an acceptable value will be provided for you.
    gasPrice string false The price used to determine the total gas cost. If not provided, an acceptable value will be provided for you.
    nonce string false The transaction sequence number from the sending account. If not provided, this will be calculated for you.
    to string true The address or smart contract to which the transaction should be sent
    value string true The amount to send. In the units of the smallest denomination for the coin/token (e.g. wei for ethereum)
    walletID string(uuid) false The wallet id for which you'd like to create a transaction

    NewUserPayload

    {
      "email": "Ursula@CoinCircle.com"
    }
    

    Properties

    Name Type Required Description
    email string true The email for the user that you are registering. Emails must be unique and are case insensitive

    NewWalletPayload

    {
      "protocol": "ETH"
    }
    

    Properties

    Name Type Required Description
    protocol string true The protocol of the wallet to create. Note: the protocol should be 'ETH' for any tokens transacted on the ethereum blockchain.

    Enumerated Values

    Property Value
    protocol ETH

    Role

    {
      "id": "739ea65c-9b7a-4dbc-9515-3578314a2790",
      "name": "admin"
    }
    

    Properties

    Name Type Required Description
    id string(uuid) true v4 uuid
    name string true A human readable description

    Enumerated Values

    Property Value
    name user
    name admin

    Standard Error

    {
      "code": 400,
      "message": "Bad Request"
    }
    

    Properties

    Name Type Required Description
    code integer(int64) true A code that describes the error
    message string true A message that describes the error

    Token

    {
      "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
      "decimals": "18",
      "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
      "name": "CircleCoin",
      "symbol": "ETH",
      "totalSupply": "5100000000000"
    }
    

    Properties

    Name Type Required Description
    contractAddress string false The address of the deployed token contract
    decimals string false The number of decimals used. This should be used to convert raw values to their actual values on the client side.
    imageUrl string false Image URL for the token icon. This is manually added so will not be defined for most tokens
    name string false Name of the token
    symbol string false The ticker for token
    totalSupply string false Total supply of the token without the decimals applied. The real value is (totalSupply / (10 ** decimals)) NOTE: This is commonly not defined and will return an empty string.

    Tokenbalance

    {
      "balance": "15000000000000000",
      "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
      "decimals": "18",
      "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
      "name": "CircleCoin",
      "symbol": "ETH",
      "totalSupply": "5100000000000"
    }
    

    Properties

    Name Type Required Description
    balance string false The token balance. You must apply the decimals to get the actual value (balance / (10 ** decimals))
    contractAddress string false The address of the deployed token contract
    decimals string false The number of decimals used. This should be used to convert raw values to their actual values on the client side.
    imageUrl string false Image URL for the token icon. This is manually added so will not be defined for most tokens
    name string false Name of the token
    symbol string false The ticker for token
    totalSupply string false Total supply of the token without the decimals applied. The real value is (totalSupply / (10 ** decimals)) NOTE: This is commonly not defined and will return an empty string.

    TokenbalanceCollection

    [
      {
        "balance": "15000000000000000",
        "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
        "decimals": "18",
        "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
        "name": "CircleCoin",
        "symbol": "ETH",
        "totalSupply": "5100000000000"
      },
      {
        "balance": "15000000000000000",
        "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
        "decimals": "18",
        "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
        "name": "CircleCoin",
        "symbol": "ETH",
        "totalSupply": "5100000000000"
      },
      {
        "balance": "15000000000000000",
        "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
        "decimals": "18",
        "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
        "name": "CircleCoin",
        "symbol": "ETH",
        "totalSupply": "5100000000000"
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/tokenbalance+json; type=collection; view=default [Tokenbalance] false TokenbalanceCollection is the media type for an array of Tokenbalance (default view)

    Transaction

    {
      "blockHash": "Qui repellat praesentium ut quia.",
      "blockNumber": 1490388185748281300,
      "contractAddress": "Velit aspernatur.",
      "from": "Nulla ad sapiente maxime rerum.",
      "gas": "Perferendis vel doloribus qui.",
      "gasPrice": "Consectetur eaque fugiat quaerat.",
      "gasUsed": "Qui porro.",
      "hash": "Nisi eaque nihil labore.",
      "input": "Velit sunt rerum fuga est.",
      "nonce": "Praesentium consequatur.",
      "r": "Nihil ad est sapiente.",
      "s": "Repudiandae laborum.",
      "timestamp": 4199210869691584000,
      "to": "Et consequuntur.",
      "transactionIndex": "Quia ducimus qui magni necessitatibus.",
      "v": "Ex consequatur rerum voluptatem eveniet est.",
      "value": "Itaque modi pariatur molestias."
    }
    

    Properties

    Name Type Required Description
    blockHash string false Block hash
    blockNumber integer(int64) false Block Number
    contractAddress string false Deployed contract address (If any)
    from string false From address
    gas string false Gas limit
    gasPrice string false Gas price
    gasUsed string false Gas used
    hash string false Transaction hash
    input string false Input data
    nonce string false Nonce
    r string false R param of ECDSA
    s string false S param of ECDSA
    timestamp integer(int64) false Timestamp
    to string false To address
    transactionIndex string false Transaction index
    v string false V param of ECDSA
    value string false Value in wei

    TransactionCollection

    [
      {
        "blockHash": "Qui repellat praesentium ut quia.",
        "blockNumber": 1490388185748281300,
        "contractAddress": "Velit aspernatur.",
        "from": "Nulla ad sapiente maxime rerum.",
        "gas": "Perferendis vel doloribus qui.",
        "gasPrice": "Consectetur eaque fugiat quaerat.",
        "gasUsed": "Qui porro.",
        "hash": "Nisi eaque nihil labore.",
        "input": "Velit sunt rerum fuga est.",
        "nonce": "Praesentium consequatur.",
        "r": "Nihil ad est sapiente.",
        "s": "Repudiandae laborum.",
        "timestamp": 4199210869691584000,
        "to": "Et consequuntur.",
        "transactionIndex": "Quia ducimus qui magni necessitatibus.",
        "v": "Ex consequatur rerum voluptatem eveniet est.",
        "value": "Itaque modi pariatur molestias."
      },
      {
        "blockHash": "Qui repellat praesentium ut quia.",
        "blockNumber": 1490388185748281300,
        "contractAddress": "Velit aspernatur.",
        "from": "Nulla ad sapiente maxime rerum.",
        "gas": "Perferendis vel doloribus qui.",
        "gasPrice": "Consectetur eaque fugiat quaerat.",
        "gasUsed": "Qui porro.",
        "hash": "Nisi eaque nihil labore.",
        "input": "Velit sunt rerum fuga est.",
        "nonce": "Praesentium consequatur.",
        "r": "Nihil ad est sapiente.",
        "s": "Repudiandae laborum.",
        "timestamp": 4199210869691584000,
        "to": "Et consequuntur.",
        "transactionIndex": "Quia ducimus qui magni necessitatibus.",
        "v": "Ex consequatur rerum voluptatem eveniet est.",
        "value": "Itaque modi pariatur molestias."
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/transaction+json; type=collection; view=default [Transaction] false TransactionCollection is the media type for an array of Transaction (default view)

    TransactionPending

    {
      "contractAddress": "Velit aspernatur.",
      "from": "Nulla ad sapiente maxime rerum.",
      "gas": "Perferendis vel doloribus qui.",
      "gasPrice": "Consectetur eaque fugiat quaerat.",
      "hash": "Nisi eaque nihil labore.",
      "input": "Velit sunt rerum fuga est.",
      "nonce": "Praesentium consequatur.",
      "timestamp": 4199210869691584000,
      "to": "Et consequuntur.",
      "value": "Itaque modi pariatur molestias."
    }
    

    Properties

    Name Type Required Description
    contractAddress string false Deployed contract address (If any)
    from string false From address
    gas string false Gas limit
    gasPrice string false Gas price
    hash string false Transaction hash
    input string false Input data
    nonce string false Nonce
    timestamp integer(int64) false Timestamp
    to string false To address
    value string false Value in wei

    User

    {
      "email": "Ursula@CoinCircle.com",
      "id": "2364acf1-203b-46d7-a4ab-859a6e5e64ba",
      "role": {
        "id": "739ea65c-9b7a-4dbc-9515-3578314a2790",
        "name": "admin"
      }
    }
    

    Properties

    Name Type Required Description
    email string true Email (case insensitive)
    id string(uuid) true v4 uuid
    role Role true No description

    UserCollection

    [
      {
        "email": "Ursula@CoinCircle.com",
        "id": "2364acf1-203b-46d7-a4ab-859a6e5e64ba",
        "role": {
          "id": "739ea65c-9b7a-4dbc-9515-3578314a2790",
          "name": "admin"
        }
      },
      {
        "email": "Ursula@CoinCircle.com",
        "id": "2364acf1-203b-46d7-a4ab-859a6e5e64ba",
        "role": {
          "id": "739ea65c-9b7a-4dbc-9515-3578314a2790",
          "name": "admin"
        }
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/user+json; type=collection; view=default [User] false UserCollection is the media type for an array of User (default view)

    Wallet

    {
      "address": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
      "balances": [
        {
          "balance": "15000000000000000",
          "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
          "decimals": "18",
          "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
          "name": "CircleCoin",
          "symbol": "ETH",
          "totalSupply": "5100000000000"
        }
      ],
      "clientKey": "rOfANag/KhXbWXfBgLX+N8+hwqfl/8YF+29IBfNQ6D4=",
      "id": "1af2ba31-b12b-431d-9bdb-511002bd85aa"
    }
    

    Properties

    Name Type Required Description
    address string true The wallet's public address
    balances [Tokenbalance] false No description
    clientKey string true Client key that created the wallet
    id string(uuid) true v4 uuid

    WalletCollection

    [
      {
        "address": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
        "balances": [
          {
            "balance": "15000000000000000",
            "contractAddress": "0x1e09373fb7dcfd6475f4c76e0cdb89de3d585e55",
            "decimals": "18",
            "imageUrl": "https://s3-us-west-2.amazonaws.com/coincircle/logos/ethereum.png",
            "name": "CircleCoin",
            "symbol": "ETH",
            "totalSupply": "5100000000000"
          }
        ],
        "clientKey": "rOfANag/KhXbWXfBgLX+N8+hwqfl/8YF+29IBfNQ6D4=",
        "id": "1af2ba31-b12b-431d-9bdb-511002bd85aa"
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/wallet+json; type=collection; view=default [Wallet] false WalletCollection is the media type for an array of Wallet (default view)

    AddressValidationPayload

    {
      "address": "0x6b8970a2e9ad10fb18d6820db5ec8cb2061193f6"
    }
    

    Properties

    Name Type Required Description
    address string true Coin address

    AddressValidation

    {
      "valid": true
    }
    

    Properties

    Name Type Required Description
    valid boolean true Address is validated

    Coin

    {
      "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
      "buyable": true,
      "decimals": 18,
      "defaultValue": "50",
      "imageUrl": "https://example.com/image.jpg",
      "name": "Basic Attention Token",
      "price": "0.00042596",
      "priceUSD": "0.37",
      "protocol": "ETH",
      "sellable": true,
      "symbol": "BAT"
    }
    

    Properties

    Name Type Required Description
    address string true Coin address
    buyable boolean true Coin is available for buying
    decimals integer(int64) true Coin decimals
    defaultValue string true Coin default value amount for UI
    imageUrl string true Coin image URL
    name string true Coin name
    price string true Coin price in terms of coin protocol
    priceUSD string true Coin price in USD
    protocol string true Coin protocol
    sellable boolean true Coin is available for selling
    symbol string true Coin symbol

    CoinCollection

    [
      {
        "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
        "buyable": true,
        "decimals": 18,
        "defaultValue": "50",
        "imageUrl": "https://example.com/image.jpg",
        "name": "Basic Attention Token",
        "price": "0.00042596",
        "priceUSD": "0.37",
        "protocol": "ETH",
        "sellable": true,
        "symbol": "BAT"
      },
      {
        "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
        "buyable": true,
        "decimals": 18,
        "defaultValue": "50",
        "imageUrl": "https://example.com/image.jpg",
        "name": "Basic Attention Token",
        "price": "0.00042596",
        "priceUSD": "0.37",
        "protocol": "ETH",
        "sellable": true,
        "symbol": "BAT"
      },
      {
        "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
        "buyable": true,
        "decimals": 18,
        "defaultValue": "50",
        "imageUrl": "https://example.com/image.jpg",
        "name": "Basic Attention Token",
        "price": "0.00042596",
        "priceUSD": "0.37",
        "protocol": "ETH",
        "sellable": true,
        "symbol": "BAT"
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/coin+json; type=collection; view=default [Coin] false CoinCollection is the media type for an array of Coin (default view)

    CoinRate

    {
      "fromCoin": "BAT",
      "fromCoinProtocol": "ETH",
      "rate": "0.52",
      "toCoin": "UKG",
      "toCoinProtocol": "ETH"
    }
    

    Properties

    Name Type Required Description
    fromCoin string true From coin
    fromCoinProtocol string true From coin protocol
    rate string true Rate
    toCoin string true To coin
    toCoinProtocol string true To coin protocol

    Limit

    {
      "coin": "BAT",
      "max": "3000",
      "min": "50",
      "protocol": "ETH"
    }
    

    Properties

    Name Type Required Description
    coin string true Coin symbol
    max string true Maximum
    min string true Mininum
    protocol string true Coin protocol

    Order

    {
      "createdAt": "1516929778",
      "expireTimestamp": "1516929820",
      "fromAmount": "50",
      "fromCoin": "BAT",
      "fromCoinProtocol": "ETH",
      "fromExpectedAmount": "50",
      "fromMaxAmount": "8413.15",
      "fromMinAmount": "39.21",
      "fromTxHash": "0x12ae45a758b59aabd991292f18af55c106b25bc475192bd7d7032e09c81953a7",
      "id": "526671ef-4cde-4865-84cd-2e750d8de306",
      "merchantDepositAddress": "0xcb196c96f1eb6c3034cef393adc9e907ae622ccf",
      "minerFee": "0.00013",
      "refundTxHash": "0x12ae45a758b59aabd991292f18af55c106b25bc475192bd7d7032e09c81953a7",
      "serviceFee": "0.00032",
      "statusCode": 1001,
      "toAmount": "26.44",
      "toCoin": "UKG",
      "toCoinProtocol": "ETH",
      "toExpectedAmount": "26.44",
      "toTxHash": "0x12ae45a758b59aabd991292f18af55c106b25bc475192bd7d7032e09c81953a7",
      "totalFee": "0.00045",
      "totalFeeUSD": "0.00045",
      "userDestinationAddress": "0x6b8970a2e9ad10fb18d6820db5ec8cb2061193f6",
      "userRefundAddress": "0x6b8970a2e9ad10fb18d6820db5ec8cb2061193f6"
    }
    

    Properties

    Name Type Required Description
    createdAt string false Created at
    expireTimestamp string true Expire timestamp
    fromAmount string false From amount
    fromCoin string true From coin
    fromCoinProtocol string true From coin protocol
    fromExpectedAmount string false From expected amount
    fromMaxAmount string false From max value
    fromMinAmount string false From min value
    fromTxHash string false From transaction hash
    id string true Order ID
    merchantDepositAddress string false Merchant deposit address
    minerFee string true Miner fee
    refundTxHash string false Refund transaction hash
    serviceFee string true Servie fee
    statusCode integer(int64) false Status code
    toAmount string false To amount
    toCoin string true To coin
    toCoinProtocol string true To coin protocol
    toExpectedAmount string false To expected amount
    toTxHash string false To transaction hash
    totalFee string true Total fee
    totalFeeUSD string true Total fee
    userDestinationAddress string false User destination address
    userRefundAddress string false User refund address

    OrderPayload

    {
      "fromCoin": "BAT",
      "fromCoinProtocol": "ETH",
      "priceID": "526671ef-4cde-4865-84cd-2e750d8de306",
      "toCoin": "UKG",
      "toCoinProtocol": "ETH",
      "userDestinationAddress": "0x6b8970a2e9ad10fb18d6820db5ec8cb2061193f6",
      "userRefundAddress": "0x6b8970a2e9ad10fb18d6820db5ec8cb2061193f6"
    }
    

    Properties

    Name Type Required Description
    fromCoin string true Coin giving
    fromCoinProtocol string true Coin giving
    priceID string true Price ID
    toCoin string true Coin wanted
    toCoinProtocol string true Coin wanted
    userDestinationAddress string true User destination address
    userRefundAddress string true User refund address

    Price

    {
      "fromAmount": "50",
      "fromAmountUSD": "27.50",
      "fromAmountWithFee": "50",
      "fromAmountWithFeeUSD": "27.50",
      "fromCoin": "BAT",
      "fromCoinProtocol": "ETH",
      "id": "526671ef-4cde-4865-84cd-2e750d8de306",
      "minerFee": "0.00013",
      "minerFeeUSD": "0.10",
      "rate": "0.9753368127199903",
      "rateWithFee": "1.0128780898529425",
      "serviceFee": "0.00032",
      "serviceFeePercent": "0.03",
      "serviceFeeUSD": "0.37",
      "toAmount": "41.1",
      "toAmountUSD": "27.50",
      "toAmountWithFee": "40.23",
      "toAmountWithFeeUSD": "27.13",
      "toCoin": "UKG",
      "toCoinProtocol": "ETH",
      "totalFee": "0.00045",
      "totalFeeUSD": "0.00045"
    }
    

    Properties

    Name Type Required Description
    fromAmount string true From amount
    fromAmountUSD string true From amount in USD
    fromAmountWithFee string true From amount with fee
    fromAmountWithFeeUSD string true From amount with fee in USD
    fromCoin string true From coin
    fromCoinProtocol string true From coin protocol
    id string true Price ID
    minerFee string true Miner fee
    minerFeeUSD string true Miner fee in USD
    rate string true Rate
    rateWithFee string true Rate with fee
    serviceFee string true Servie fee
    serviceFeePercent string true Servie fee percent
    serviceFeeUSD string true Servie fee in USD
    toAmount string true To amount
    toAmountUSD string true To amount in USD
    toAmountWithFee string true To amount with fee
    toAmountWithFeeUSD string true To amount with fee in USD
    toCoin string true To coin
    toCoinProtocol string true To coin protocol
    totalFee string true Total fee
    totalFeeUSD string true Total fee

    PricePayload

    {
      "fromAmount": "50",
      "fromCoin": "BAT",
      "fromCoinProtocol": "ETH",
      "toAmount": "50",
      "toCoin": "UKG",
      "toCoinProtocol": "ETH"
    }
    

    Properties

    Name Type Required Description
    fromAmount string false Expected amount to give
    fromCoin string true Coin giving
    fromCoinProtocol string true Coin giving
    toAmount string false Expected amount to receive
    toCoin string true Coin wanted
    toCoinProtocol string true Coin wanted

    StatusCode

    {
      "code": "Eum rerum quis laboriosam et officiis.",
      "message": "Rerum et iste velit."
    }
    

    Properties

    Name Type Required Description
    code string true Code
    message string true Message

    StatusCollection

    [
      {
        "code": "Eum rerum quis laboriosam et officiis.",
        "message": "Rerum et iste velit."
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/status_code+json; type=collection; view=default [Status_code] false Status_codeCollection is the media type for an array of Status_code (default view)

    NewCipherPayload

    {
      "bits": 3072
    }
    

    Properties

    Name Type Required Description
    bits integer false The bit size

    Verify

    {
      "verified": true
    }
    
    

    Properties

    Name Type Required Description
    verified boolean true TRUE == the signature was verified; FALSE == the signature was not verified

    Sign

    {
      "signature": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    
    

    Properties

    Name Type Required Description
    signature string true The base64 encoded signature

    Cipher

    {
      "exponent": 42,
      "id": "0cd2aae2-c876-4588-b84a-81ca84198931",
      "modulus": "10000000000000000"
    }
    
    

    Properties

    Name Type Required Description
    exponent integer true The public exponent of the RSA public key
    id uuid true The key pair id
    modulus string true The modulus of the RSA public key. This is a string because it may overflow integer values.

    CipherCollection

    [
      {
        "exponent": 42,
        "id": "0cd2aae2-c876-4588-b84a-81ca84198931",
        "modulus": "10000000000000000"
      }
    ]
    

    Properties

    Name Type Required Description
    Mediatype identifier: application/cipher+json; type=collection; view=default [Cipher] false CipherCollection is the media type for an array of Cipher (default view)

    Decrypt

    {
      "plaintext": "This was a super secret message"
    }
    

    Properties

    Name Type Required Description
    plaintext string true The plaintext, decrypted bytes array base64 encoded

    DecryptPayload

    {
      "ciphertext": "meFz1l8Fbc8ehMCmx5mtpRlsgxPdqlg4f/s4vGI6UH8ftel+DiNoNad8tLDo"
    }
    

    Properties

    Name Type Required Description
    ciphertext string true The base64 encoded ciphertext to decrypt

    Encrypt

    {
      "ciphertext": "meFz1l8Fbc8ehMCmx5mtpRlsgxPdqlg4f/s4vGI6UH8ftel+DiNoNad8tLDo"
    }
    

    Properties

    Name Type Required Description
    ciphertext string true The encrypted bytes array, base64 encoded

    EncryptPayload

    {
      "plaintext": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    

    Properties

    Name Type Required Description
    plaintext string true The base64 encoded plaintext to encrypt using the OAEP method

    SignPayload

    {
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    

    Properties

    Name Type Required Description
    data string true The base64 encoded data to sign

    VerifyPayload

    {
      "data": "SSBsb3ZlIGNvaW5jaXJjbGU=",
      "signature": "HJ0L2g/xlDqs7cdcRVeraZTkuuyHxJWqHgLvZxuEdevBI0E9cQCQ/3nJsQNVAB0eMYew4rDo1zNnXBpwIO0nkA=="
    }
    

    Properties

    Name Type Required Description
    data string true The base64 encoded data to verify
    signature string true The signature to verify agains, base64 encoded

    EncryptPayload

    {
      "plaintext": "SSBsb3ZlIGNvaW5jaXJjbGU="
    }
    

    Properties

    Name Type Required Description
    plaintext string true The base64 encoded plaintext to encrypt using the OAEP method

    Properties

    Name Type Required Description
    coin string true Coin symbol
    max string true Maximum
    min string true Mininum
    protocol string true Coin protocol

    MarketPrice

    {
      "exchanges": {
        "bittrex": "0.256117",
        "kucoin": "0.241795"
      },
      "price": "0.252842"
    }
    

    Properties

    Name Type Required Description
    exchanges object false A map of the coin price in USD at a exchange
    price string false Volume-weighted average price in USD

    Errors

    The Coincircle API uses the following error codes:

    Error Code Meaning
    400 Bad Request -- Your request is invalid.
    401 Unauthorized -- Your API key is wrong.
    403 Forbidden -- You don't have permissions to make this request
    404 Not Found -- The resource was not found
    405 Method Not Allowed -- You tried to access data with an invalid method.
    406 Not Acceptable -- You requested a format that isn't json.
    410 Gone -- The data requested has been removed from our servers.
    429 Too Many Requests -- You're requesting too often! Slow down!
    500 Internal Server Error -- We had a problem with our server. Try again later.
    503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.