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 |
---|---|---|---|
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 |
---|---|---|---|
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. |