Headframe API (0.1.0)
Download OpenAPI specification:Download
Over this documentation we use several technical terms.
User – a person, which can log into the system using their email and password. A User can have access to multiple accounts – Miners, Operators and Pool.
Miner – an account for mining. Several Users can access one account.
user_session_web
User session is created after successful authentication. Cookie is used to store and pass around the session ID. Cookie is set with http-only and secure flags, so you won't be able to read it with on-page javascript.
ory_session_relaxedwescoffeywmz1r7og
We use Ory Kratos as an authentication service. If you are building user-facing service, you must provide user with an authentication interface.
For details on how to build your own UI, you can see Ory Kratos Bring Your Own UI doc.
Current user details
Shows information about the current logged-in user.
Authorizations:
Responses
Response samples
- 200
- 429
- 500
{- "user": {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "status": "active",
- "language": "en"
}, - "verification": {
- "intercom": "bd20ce4799fe8a181a019a3c1f0d28e18d087e8643e64541a0ba9e879e72554b"
}, - "credentials": {
- "totp": false,
- "lookup_secret": false
}, - "permissions": [
- {
- "type": "platform",
- "id": "headframe"
}
]
}
Change User status
Authorizations:
Request Body schema: application/jsonrequired
status required | string (UserStatus) Enum: "active" "pending" "inactive" |
Responses
Request samples
- Payload
{- "status": "active"
}
Response samples
- 200
- 400
- 429
- 500
{- "status": "active"
}
Switch user language
Changes user language in Identity object. Does not affect server response language, but affects notifications. Also, client applications can use the language value to change translation.
Authorizations:
Request Body schema: application/jsonrequired
language required | string (Language) Enum: "en" "ru" |
Responses
Request samples
- Payload
{- "language": "en"
}
Response samples
- 200
- 400
- 401
- 404
- 429
- 500
{- "language": "en"
}
🧪 Request to delete identity
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 404
- 429
- 500
{- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4"
}
Get user's bookmarked watchers
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 404
- 429
- 500
{- "data": [
- {
- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000",
- "active": true,
- "permissions": [
- {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "type": "miner",
- "account_name": "Superminer123",
- "access": [
- "section_payments_read"
]
}
]
}
]
}
Add a watcher to user's bookmarks
Authorizations:
path Parameters
required | string or string |
Request Body schema: application/jsonrequired
token required | string (WatcherToken) |
Responses
Request samples
- Payload
{- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000"
}
Response samples
- 404
- 429
- 500
{- "error": {
- "code": "not_found",
- "message": "The requested page does not exist"
}
}
Delete a watcher from user's bookmarks
Authorizations:
path Parameters
required | string or string |
watcher_token required | string Example: hfwl_0123456789abcdef000000000000000000000000000000000000000000000000 |
Responses
Response samples
- 404
- 429
- 500
{- "error": {
- "code": "not_found",
- "message": "The requested page does not exist"
}
}
Create a telegram invite for user
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "bot": {
- "username": "TheBestPoolBot",
- "first_name": "The Best Pool Bot"
}, - "invite": {
- "code": "RH409be7cdvscY4Pu5UUVDNY",
- "valid_until": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "activated_at": "2019-08-24T14:15:22Z"
}
}
Get user's current telegram invite
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "bot": {
- "username": "TheBestPoolBot",
- "first_name": "The Best Pool Bot"
}, - "invite": {
- "code": "RH409be7cdvscY4Pu5UUVDNY",
- "valid_until": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "activated_at": "2019-08-24T14:15:22Z"
}
}
Disconnect user from a telegram chat
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 400
- 401
- 404
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Get user's current telegram chat
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "bot": {
- "username": "TheBestPoolBot",
- "first_name": "The Best Pool Bot"
}, - "chat": {
- "id": 0,
- "user": {
- "id": 0,
- "username": "johnny_appleseed",
- "first_name": "Johnny",
- "last_name": "Appleseed",
- "language_code": "en",
- "is_premium": true
}
}
}
Get user's notifications preferences
Authorizations:
path Parameters
required | string or string |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "email": {
- "delete-miner": {
- "enabled": true,
- "readonly": false
}, - "miner-payout": {
- "enabled": true,
- "readonly": false
}, - "miner-reward": {
- "enabled": true,
- "readonly": false
}, - "miner-wallet-address-changed": {
- "enabled": true,
- "readonly": false
}, - "miner-wallet-minpay-changed": {
- "enabled": true,
- "readonly": false
}, - "user-login": {
- "enabled": true,
- "readonly": false
}
}, - "telegram": {
- "worker-status-changed": {
- "enabled": true,
- "readonly": false
}
}
}
Update user's notifications preferences
Authorizations:
path Parameters
required | string or string |
Request Body schema: application/jsonrequired
required | object |
required | object |
Responses
Request samples
- Payload
{- "email": {
- "miner-payout": {
- "enabled": true
}, - "miner-reward": {
- "enabled": true
}
}, - "telegram": {
- "worker-status-changed": {
- "enabled": true
}
}
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "email": {
- "delete-miner": {
- "enabled": true,
- "readonly": false
}, - "miner-payout": {
- "enabled": true,
- "readonly": false
}, - "miner-reward": {
- "enabled": true,
- "readonly": false
}, - "miner-wallet-address-changed": {
- "enabled": true,
- "readonly": false
}, - "miner-wallet-minpay-changed": {
- "enabled": true,
- "readonly": false
}, - "user-login": {
- "enabled": true,
- "readonly": false
}
}, - "telegram": {
- "worker-status-changed": {
- "enabled": true,
- "readonly": false
}
}
}
Miner self-registration
Authorizations:
Request Body schema: application/jsonrequired
account_name required | string [ 3 .. 32 ] characters ^\w{3,32}$ |
Responses
Request samples
- Payload
{- "account_name": "Superminer123"
}
Response samples
- 200
- 400
- 401
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Miner details
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Request Miner deletion
Sends a request to delete Miner account. These requests are processed manually, so the account is not deleted right away.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Modify user access to the miner
This method changes specified user access permissions for the miner.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (MinerAccessRole) non-empty Items Enum: "admin" "viewer" "accountant" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Invite user to access the miner
This method invites specified user to access the miner.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (MinerAccessRole) non-empty Items Enum: "admin" "viewer" "accountant" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Revoke access to the miner
This method revokes access to the miner for the specified user.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
Responses
Request samples
- Payload
{- "email": "[email protected]"
}
Response samples
- 400
- 401
- 403
- 409
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
List Miner payments
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "type": "reward",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "direction": "incoming",
- "currency": "BTC",
- "amount": "0.000003850292003",
- "status": "completed",
- "created_at": "2006-01-02T15:04:05Z07:00",
- "effective_at": "2006-01-02T15:04:05Z07:00",
- "metadata": {
- "rate": "0.00000000000000000282",
- "hashrate": "178469469608370",
- "description": "Reward for participation in the competition"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Export Miner Payments to CSV
Creates a CSV-file with Miner Payments for the specified period. The file is attached to the response, so the browser should open the file save dialog automatically.
Works only on periods less than or equal to 90 days.
All the date-time strings are returned in the UTC timezone.
File structure example:
created_at | effective_at | type | currency | amount | status | hashrate | rate | tx_hash |
---|---|---|---|---|---|---|---|---|
2023-01-02 02:00:00 | 2023-01-01 00:00:00 | reward | BTC | 0.00472423 | completed | 827415935642814097 | 0.000000000000000002192399084736862074189141067444586110763013383 | |
2023-01-02 14:00:20 | 2023-01-02 14:00:20 | payout | BTC | 0.00472423 | completed | 97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9 |
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
from | string <datetime> Example: from=2023-01-01T00:00:00Z |
to | string <datetime> Example: to=2023-01-01T00:00:00Z |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Miner earnings for today Deprecated
Use /miners/{miner_id}/processing-earnings instead
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amount": "0.00068716"
}
]
}
Miner earnings in processing
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amounts": {
- "yesterday": "0.00157816",
- "today": "0.00068716"
}
}
]
}
List referrals invited by the miner
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "rate": "0.001",
- "hashrate": {
- "day": "100000000000000.00",
- "week": "100000000000000.00",
- "month": "100000000000000.00"
}, - "registered_at": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
List miner's active profit sharings
Returns a list of active profit sharings for which the miner is a donor.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "rate": 0.009,
- "type": "profit_sharing",
- "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123"
}, - "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
]
}
List history of profit sharings between two miners
Returns a list of profit sharings for which the miner is a donor and the other miner is a recipient. The list is paginated and sorted in reverse chronological order.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "rate": 0.009,
- "type": "profit_sharing",
- "recipient": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123"
}, - "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Create a new profit sharing between two miners
Creates a new profit sharing between two miners. The profit sharing will become active since 00:00 UTC of the next day. The current profit sharing will be deactivated at the same time.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Request Body schema: application/jsonrequired
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
type required | string Enum: "profit_sharing" "referral" |
Responses
Request samples
- Payload
{- "rate": 0.009,
- "type": "profit_sharing"
}
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Delete a profit sharing between two miners
Deactivates the current profit sharing between two miners. The profit sharing will be deactivated since 00:00 UTC of the next day.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
List Miner Workers
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
status | Array of strings Items Enum: "stable" "unavailable" "off" "removed" If empty, then return all workers except removed ones. |
sort-by | string Default: "default" Enum: "default" "worker_name" "hash_rate_15m" "hash_rate_1h" "hash_rate_24h" "reject_pct_15m" |
sort-direction | string Default: "asc" Enum: "asc" "desc" |
behavior | Array of strings Items Enum: "hardware" "boundary" |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "hardware",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Workers statistics
Shows how many workers are in the corresponding status at the moment.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "removed": 10,
- "off": 1,
- "unavailable": 13,
- "stable": 150
}
Daily hashrate report for all Workers
Generates report for hashrate and rejectrate for all the Workers connected to the Miner's account.
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
from | string <date> Example: from=2023-03-14 |
to | string <date> Example: to=2023-04-14 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2022-09-12",
- "to": "2022-09-13",
- "data": [
- {
- "date": "2022-09-12",
- "from": "2022-09-12T00:00:00Z",
- "to": "2022-09-12T23:59:59Z",
- "workers": [
- {
- "account_name": "Superminer123",
- "worker_name": "BTCMiner69",
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}
]
}
List miner's referrer codes
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "code": "hfrc_XZKKINF0",
- "pool_flat_rate": 0.009,
- "policy": {
- "pool_rate_multiplier": "0.9",
- "referrer_reward_multiplier": "0.1"
}
}
]
}
List miner's watcher links
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 401
- 403
- 500
{- "data": [
- {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000",
- "title": "Watcher for LLC 'Super Miner'",
- "created_at": "2019-08-24T14:15:22Z",
- "extra_permissions": [
- "accountant"
]
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Create miner's watcher link
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: aplication/jsonrequired
extra_permissions | Array of strings Items Value: "accountant" |
title | string [ 1 .. 300 ] characters If empty, will be generated automatically. |
Responses
Request samples
- Payload
{- "extra_permissions": [
- "accountant"
], - "title": "My new awesome watcher link"
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000",
- "title": "Watcher for LLC 'Super Miner'",
- "created_at": "2019-08-24T14:15:22Z",
- "extra_permissions": [
- "accountant"
]
}
Delete miner's watcher link
Authorizations:
path Parameters
miner_id required | string <uuid> |
watcher_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Charts for the list of workers.
Authorizations:
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}
}
}
Get Mining Stats for the list of Workers.
Authorizations:
query Parameters
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}
}
Wallet address Deprecated
Method is deprecated. Use GET /wallets/{wallet_id}/addresses
instead.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "future": {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Update wallet address Deprecated
Method is deprecated. Use POST /wallets/{wallet_id}/addresses
instead.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Request Body schema: application/jsonrequired
address required | string Wallet address. |
Responses
Request samples
- Payload
{- "address": "d8f7f55e689126db5521f8f725aaeba8436fcf60"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "future": {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Wallet address changes
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Change wallet address
Invalidates the current address and creates a new one.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Request Body schema: application/jsonrequired
address required | string Wallet address |
Responses
Request samples
- Payload
{- "address": "mubUpE11SXEuyM7EhSYEcnptbwvfcV72Nx"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "address": "3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5",
- "currency": "BTC",
- "network": "mainnet",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Wallet min payment Deprecated
Method is deprecated. Use GET /wallets/{wallet_id}/min-payments
instead.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "future": {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Update wallet min payment Deprecated
Method is deprecated. Use POST /wallets/{wallet_id}/min-payments
instead.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Request Body schema: application/jsonrequired
amount required | string <decimal> Minimal value is 0.001. |
Responses
Request samples
- Payload
{- "amount": 0.01
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "future": {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Wallet min payment changes
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Change wallet min payment
Invalidates the current min payment and creates a new one.
Authorizations:
path Parameters
wallet_id required | string <uuid> |
Request Body schema: application/jsonrequired
amount required | string <decimal> Minimal value is 0.001. |
Responses
Request samples
- Payload
{- "amount": 0.01
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "amount": 0.01,
- "currency": "BTC",
- "valid_from": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Rename the Miner
Rename the Miner
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
title required | string |
Responses
Request samples
- Payload
{- "title": "LLC 'Super Miner'"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "title": "LLC 'Super Miner'"
}
Delete Miner's title
Delete Miner's title
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Miner tariff plan Deprecated
Method is deprecated. Use GET /miners/{miner_id}/fees
instead.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Update Miner tariff plan. Deprecated
Method is deprecated. Use POST /miners/{miner_id}/fees
instead.
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Miner->pool commission changes
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Update miner->pool commission schedule
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
required | Array of objects [ 1 .. 100 ] items The schedule of miner commission changes. | ||||||
Array ([ 1 .. 100 ] items)
|
Responses
Request samples
- Payload
{- "schedule": [
- {
- "valid_from": "2019-01-01",
- "fee": 0.01,
- "comment": "Discount for the New Year"
}, - {
- "valid_from": "2019-02-01",
- "fee": 0.02,
- "comment": "Increased commission in honor of Valentine's Day"
}, - {
- "valid_from": "2019-03-01",
- "fee": 0.015,
- "comment": "Default commission"
}
]
}
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Get current miner->pool commission
Authorizations:
path Parameters
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
Current Pool public info.
Get the current pool info and configuration.
Authorizations:
header Parameters
X-Headframe-Domain required | string <host> Example: bestpool.demo.headframe.io The address of the pool at which the configuration is requested. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "title": "Demo Pool",
- "settings": {
- "default_language": "en",
- "available_languages": [
- "en"
]
}
}
Private Pool info.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "title": "Demo Pool",
- "settings": {
- "default_language": "en",
- "available_languages": [
- "en"
]
}, - "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Modify user access to the pool
This method changes specified user access permissions for the pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (PoolAccessRole) non-empty Items Enum: "admin" "viewer" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Invite user to access the pool
This method invites specified user to access the pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (PoolAccessRole) non-empty Items Enum: "admin" "viewer" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Revoke access to the pool
This method revokes access to the pool for the specified user.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
Responses
Request samples
- Payload
{- "email": "[email protected]"
}
Response samples
- 400
- 401
- 403
- 409
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
List pool payments.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "type": "reward",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "direction": "incoming",
- "currency": "BTC",
- "amount": "0.000003850292003",
- "status": "completed",
- "created_at": "2006-01-02T15:04:05Z07:00",
- "effective_at": "2006-01-02T15:04:05Z07:00",
- "metadata": {
- "rate": "0.00000000000000000282",
- "hashrate": "178469469608370",
- "description": "Reward for participation in the competition"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Export list of the pool's payments as CSV file.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
from | string <datetime> Example: from=2023-01-01T00:00:00Z |
to | string <datetime> Example: to=2023-01-01T00:00:00Z |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Pool earnings for today. Deprecated
Use /pools/{pool_id}/processing-earnings instead
Authorizations:
path Parameters
pool_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amount": "0.00068716"
}
]
}
Pool earnings from the specific miner for all time.
Authorizations:
path Parameters
pool_id required | string <uuid> |
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amount": "0.00068716"
}
]
}
Chart for the whole pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
], - "status": "ok"
}
}
Get Mining Stats for the entire pool.
Only pool owner, pool accountant and pool admin can call this method.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "15m": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1h": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1d": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1w": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
}
List operators of the pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "Pool operator",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}, - "settings": {
- "default_pool_fee_for_customer": 0.009
}, - "workers": {
- "count": 0,
- "statuses": {
- "removed": 10,
- "off": 1,
- "unavailable": 13,
- "stable": 150
}
}, - "miners": {
- "count": 0
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
List miners of the pool
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "current_plan": 0.009
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "current_plan": 0.009
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}, - "workers": {
- "count": 0,
- "statuses": {
- "removed": 10,
- "off": 1,
- "unavailable": 13,
- "stable": 150
}
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Invite miner to the pool
Authorizations:
path Parameters
pool_id required | string <uuid> |
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
title | string |
email required | string <email> |
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
List workers of the pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
status | Array of strings Items Enum: "stable" "unavailable" "off" "removed" If empty, then return all workers except removed ones. |
sort-by | string Default: "default" Enum: "default" "worker_name" "hash_rate_15m" "hash_rate_1h" "hash_rate_24h" "reject_pct_15m" |
sort-direction | string Default: "asc" Enum: "asc" "desc" |
behavior | Array of strings Items Enum: "hardware" "boundary" |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "hardware",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
🧪 List users in the pool
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
active | bool Show only active/inactive users. True by default. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
🧪 Get user's details
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z",
- "language": "en",
- "credentials": {
- "totp": true,
- "lookup_secret": true
}
}
🧪 Completely delete user
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
🧪 Get user's deletion request
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4"
}
🧪 List user's sessions
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
query Parameters
active | bool Show only active/inactive sessions. True by default. |
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "active": true,
- "expires_at": "2019-08-24T14:15:22Z",
- "authenticated_at": "2019-08-24T14:15:22Z",
- "authenticator_assurance_level": "aal0",
- "issued_at": "2019-08-24T14:15:22Z",
- "devices": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ip_address": "9da1:d882:b78c:fdad:4aae:47d3:3254:142a",
- "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
- "location": "Tbilisi, GE"
}
]
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
🧪 Deactivate user's session
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
session_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
🧪 Reset user's 2FA
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Request Body schema: application/jsonrequired
type required | string Enum: "totp" "lookup_secret" Type of 2FA to reset |
Responses
Request samples
- Payload
{- "type": "totp"
}
Response samples
- 400
- 401
- 403
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
🧪 List user's invites
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "code": "22728fe186490f2d5ae0849e77e157fd29424f5f5f2bf1b7cb66f1ce00d0dfcb",
- "created_at": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "activated_at": "2019-08-24T14:15:22Z",
- "status": "pending"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
🧪 Send a new invite to user
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "code": "22728fe186490f2d5ae0849e77e157fd29424f5f5f2bf1b7cb66f1ce00d0dfcb",
- "created_at": "2019-08-24T14:15:22Z",
- "valid_until": "2019-08-24T14:15:22Z",
- "activated_at": "2019-08-24T14:15:22Z",
- "status": "pending"
}
🧪 List user's permissions
This method is unstable and could be a subject of change in the future.
Authorizations:
path Parameters
pool_id required | string <uuid> |
user_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "type": "miner",
- "account_name": "Superminer123",
- "roles": [
- "owner"
]
}
]
}
Mining charts for multiple Miners
Gets charts for the list of specified miners.
Please note that the list of ids is limited by browser request address length.
Authorizations:
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}
}
}
Mining stats for multiple Miners
Gets stats for the list of specified miners.
Please note that the list of ids is limited by browser request address length.
Authorizations:
query Parameters
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}
}
Info about the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "Pool operator",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}, - "settings": {
- "default_pool_fee_for_customer": 0.009
}
}
Update default operator fee for miners
This method updates default operator fee for miners. The new value will be applied only to new miners. All existing miners will retain the old fee value.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
fee required | string <decimal> |
Responses
Request samples
- Payload
{- "fee": "0.005"
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "fee": "0.005"
}
Modify user access to the operator
This method changes specified user access permissions for the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (OperatorAccessRole) non-empty Items Enum: "admin" "viewer" "accountant" "treasurer" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Invite user to access the operator
This method invites specified user to access the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
roles required | Array of strings (OperatorAccessRole) non-empty Items Enum: "admin" "viewer" "accountant" "treasurer" |
Responses
Request samples
- Payload
{- "roles": [
- "admin"
]
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 429
- 500
{- "roles": [
- "admin"
]
}
Revoke access to the operator
This method revokes access to the operator for the specified user.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
email required | string <email> |
Responses
Request samples
- Payload
{- "email": "[email protected]"
}
Response samples
- 400
- 401
- 403
- 409
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
List operator payments.
Authorizations:
path Parameters
operator_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "type": "reward",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "direction": "incoming",
- "currency": "BTC",
- "amount": "0.000003850292003",
- "status": "completed",
- "created_at": "2006-01-02T15:04:05Z07:00",
- "effective_at": "2006-01-02T15:04:05Z07:00",
- "metadata": {
- "rate": "0.00000000000000000282",
- "hashrate": "178469469608370",
- "description": "Reward for participation in the competition"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Export list of the operator's payments as CSV file.
Authorizations:
path Parameters
operator_id required | string <uuid> |
query Parameters
type | Array of strings Items Enum: "reward" "payout" "profit_sharing" "virtual_mining_transfer" "virtual_mining_reward" "transfer" Transaction type. |
from | string <datetime> Example: from=2023-01-01T00:00:00Z |
to | string <datetime> Example: to=2023-01-01T00:00:00Z |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Operator earnings for today. Deprecated
Use /operators/{operator_id}/processing-earnings instead
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amount": "0.00068716"
}
]
}
Operator earnings being processed
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amounts": {
- "yesterday": "0.00157816",
- "today": "0.00068716"
}
}
]
}
Operator earnings from the specific miner for all time.
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "currency": "BTC",
- "amount": "0.00068716"
}
]
}
List miners managed by operator
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "current_plan": 0.009
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "current_plan": 0.009
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}, - "workers": {
- "count": 0,
- "statuses": {
- "removed": 10,
- "off": 1,
- "unavailable": 13,
- "stable": 150
}
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Add a miner managed by operator
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
email required | string <email> |
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
List workers managed by the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
status | Array of strings Items Enum: "stable" "unavailable" "off" "removed" If empty, then return all workers except removed ones. |
sort-by | string Default: "default" Enum: "default" "worker_name" "hash_rate_15m" "hash_rate_1h" "hash_rate_24h" "reject_pct_15m" |
sort-direction | string Default: "asc" Enum: "asc" "desc" |
behavior | Array of strings Items Enum: "hardware" "boundary" |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "hardware",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Workers statistics
Shows how many workers are in the corresponding status at the moment.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "removed": 10,
- "off": 1,
- "unavailable": 13,
- "stable": 150
}
Chart for the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
], - "status": "ok"
}
}
Get Mining Stats for the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "15m": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1h": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1d": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1w": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
}
Miner->operator commission changes
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Update miner->operator commission schedule
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
required | Array of objects [ 1 .. 100 ] items The schedule of miner commission changes. | ||||||
Array ([ 1 .. 100 ] items)
|
Responses
Request samples
- Payload
{- "schedule": [
- {
- "valid_from": "2019-01-01",
- "fee": 0.01,
- "comment": "Discount for the New Year"
}, - {
- "valid_from": "2019-02-01",
- "fee": 0.02,
- "comment": "Increased commission in honor of Valentine's Day"
}, - {
- "valid_from": "2019-03-01",
- "fee": 0.015,
- "comment": "Default commission"
}
]
}
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Get current miner->operator commission
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
Operator tariff plan for the miner Deprecated
Method is deprecated. Use GET /operators/{operator_id}/miners/{miner_id}/fees
instead.
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Update operator's tariff plan for the miner Deprecated
Method is deprecated. Use POST /operators/{operator_id}/miners/{miner_id}/fees
instead.
Authorizations:
path Parameters
operator_id required | string <uuid> |
miner_id required | string <uuid> |
Request Body schema: application/jsonrequired
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Chart for the whole pool.
Authorizations:
path Parameters
pool_id required | string <uuid> |
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
], - "status": "ok"
}
}
Chart for the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
], - "status": "ok"
}
}
Charts for the list of workers.
Authorizations:
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "status": "ok",
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}
}
}
Get Mining Stats for the entire pool.
Only pool owner, pool accountant and pool admin can call this method.
Authorizations:
path Parameters
pool_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "15m": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1h": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1d": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1w": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
}
Get Mining Stats for the operator.
Authorizations:
path Parameters
operator_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "15m": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1h": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1d": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1w": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
}
Get Mining Stats for the list of Workers.
Authorizations:
query Parameters
id | Array of strings <uuid> non-empty [ items <uuid > ] Examples:
List of entity IDs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "f6e3e748-16c6-4235-a5bb-d948b9638c6e": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}, - "0e4ce810-6107-4eb0-a71c-53046e396aa3": {
- "15m": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1h": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1d": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}, - "1w": {
- "hashrate": "90697492495655",
- "rejectrate": "0"
}
}
}
Add a new miner to the pool as a donor recipient
This method creates a new miner and sends invitation link.
Authorizations:
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
email required | string <email> |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "email": "[email protected]"
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Invite miner to the pool
Authorizations:
path Parameters
pool_id required | string <uuid> |
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
title | string |
email required | string <email> |
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Add a miner managed by operator
Authorizations:
path Parameters
operator_id required | string <uuid> |
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
email required | string <email> |
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Accept invitation
Authorizations:
Request Body schema: application/jsonrequired
code | string |
string <email> |
Responses
Request samples
- Payload
{- "code": "9fd9e1dcfc6dedfaa81c3ba4898366a8e06128a75efb9c62dfe147029831914c",
- "email": "[email protected]"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{
}
🧪 Reward rates list
This method is unstable and could be a subject of change in the future.
Authorizations:
query Parameters
from | string <date> Example: from=2023-03-14 |
to | string <date> Example: to=2023-04-14 |
currency | string Value: "BTC" |
Responses
Response samples
- 200
- 400
- 429
- 500
{- "rates": [
- {
- "date": "2022-12-14",
- "currency": "BTC",
- "rate": "0.00000367"
}
]
}
🧪 List miners by email
This method is unstable and could be a subject of change in the future.
Authorizations:
query Parameters
email required | string <email> |
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
List Hashrate Transfers created by Miner
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
status | Array of strings Items Enum: "stable" "off" If empty, then return all boundary workers. |
sort-by | string Default: "default" Enum: "default" "worker_name" "nominal_hashrate" "created_at" |
sort-direction | string Default: "asc" Enum: "asc" "desc" |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "boundary",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "donor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "hashrate": {
- "current": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}, - "created_at": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Add a new miner to the pool as a donor recipient
This method creates a new miner and sends invitation link.
Authorizations:
Request Body schema: application/jsonrequired
account_name required | string (AccountName) [ 3 .. 32 ] characters ^\w{3,32}$ |
email required | string <email> |
Responses
Request samples
- Payload
{- "account_name": "Superminer123",
- "email": "[email protected]"
}
Response samples
- 200
- 400
- 401
- 403
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'",
- "status": "active",
- "wallets": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "pool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "operator": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}, - "owner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "registered_at": "2019-08-24T14:15:22Z"
}
}
Boundary Workers hashrate statistics
Get summarized Mining Stats for the boundary workers for which the miner is a donor.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "15m": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1h": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1d": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}, - "1w": {
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
}
Daily hashrate report for all Donor Boundary Workers
Generates report with hashrate and rejectrate for all the Hashrate Transfers of the Boundary type created by the Miner.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
query Parameters
from | string <date> Example: from=2023-03-14 |
to | string <date> Example: to=2023-04-14 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2022-09-12",
- "to": "2022-09-13",
- "data": [
- {
- "date": "2022-09-12",
- "from": "2022-09-12T00:00:00Z",
- "to": "2022-09-12T23:59:59Z",
- "workers": [
- {
- "account_name": "Superminer123",
- "worker_name": "BTCMiner69",
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
]
}
]
}
Recipient->donor commission changes
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "data": [
- {
- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Update recipient->donor commission schedule
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Request Body schema: application/jsonrequired
required | Array of objects [ 1 .. 100 ] items The schedule of miner commission changes. | ||||||
Array ([ 1 .. 100 ] items)
|
Responses
Request samples
- Payload
{- "schedule": [
- {
- "valid_from": "2019-01-01",
- "fee": 0.01,
- "comment": "Discount for the New Year"
}, - {
- "valid_from": "2019-02-01",
- "fee": 0.02,
- "comment": "Increased commission in honor of Valentine's Day"
}, - {
- "valid_from": "2019-03-01",
- "fee": 0.015,
- "comment": "Default commission"
}
]
}
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Get current recipient->donor commission
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "fee": 0.009,
- "valid_from": "2019-08-24",
- "valid_until": "2019-08-24",
- "comment": "New tariff plan"
}
Tariff plan for Hashrate Transfers Deprecated
Method is deprecated. Use GET /miners/{miner_donor_id}/virtual-mining-fees/{miner_recipient_id}
instead.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Update tariff plan for Hashrate Transfers Deprecated
Method is deprecated. Use POST /miners/{miner_donor_id}/virtual-mining-fees/{miner_recipient_id}
instead.
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
miner_recipient_id required | string <uuid> |
Request Body schema: application/jsonrequired
rate required | string <decimal> (FlatRateValue) Flat fee value, min = 0, max = 1 (0.01 = 1%). |
Responses
Request samples
- Payload
{- "rate": 0.009
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "current": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "rate": 0.009,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}
Create a new boundary worker
Authorizations:
Request Body schema: application/jsonrequired
name required | string [ 3 .. 64 ] characters ^[\w\-%$#@!\^&\*\(\)\[\]\{\}\<\>\/\\\'\"~]{3,... Supported characters:
|
recipient_miner_id required | string <uuid> |
donor_miner_id required | string <uuid> |
hashrate required | string <decimal> Hashrate in hashes per second. Example: 100000000000000 means 100 TH/s. Must be not less than 4294967296. |
Responses
Request samples
- Payload
{- "name": "MyBoundaryWorker",
- "recipient_miner_id": "c74d946f-9377-4a0f-87cd-24559ff208ec",
- "donor_miner_id": "d743da2c-7751-4b2a-ad71-6e157d053aff",
- "hashrate": "100000000000000"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "boundary",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "donor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "hashrate": {
- "current": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}, - "created_at": "2019-08-24T14:15:22Z"
}
Get the boundary worker
Authorizations:
path Parameters
worker_id required | string <uuid> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "boundary",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "donor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "hashrate": {
- "current": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}, - "created_at": "2019-08-24T14:15:22Z"
}
Update the boundary worker hashrate
Authorizations:
path Parameters
worker_id required | string <uuid> |
Request Body schema: application/jsonrequired
hashrate required | string <decimal> Hashrate in hashes per second. Example: 100000000000000 means 100 TH/s. Must be not less than 4294967296. |
Responses
Request samples
- Payload
{- "hashrate": "100000000000000"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "AwesomeBTCWorker",
- "behavior": "boundary",
- "status": "stable",
- "miner": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "donor": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "account_name": "Superminer123",
- "title": "LLC 'Super Miner'"
}, - "hashrate": {
- "current": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}, - "future": {
- "hashrate": 100000000000000,
- "valid_from": "2022-09-12T00:00:00Z",
- "valid_until": "2022-09-12T00:00:00Z"
}
}, - "created_at": "2019-08-24T14:15:22Z"
}
Disconnect the boundary worker
Authorizations:
path Parameters
worker_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 404
- 429
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Summary chart for all workers for which the miner is a donor
Authorizations:
path Parameters
miner_donor_id required | string <uuid> |
query Parameters
period | string <duration> Enum: "PT15M" "PT1H" "P1D" "P1W" The time period for the selected chart. For each of the periods there is a different frequency of points.
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "interval": "PT1M",
- "data": {
- "points": [
- {
- "timestamp": 1663848000,
- "hashrate": "100000000000000.00",
- "rejectrate": "1048576.00"
}
], - "status": "ok"
}
}
🧪 Anonymous Pool stats
This method is unstable and could be a subject of change in the future.
Authorizations:
Responses
Response samples
- 200
- 400
- 429
- 500
{- "hashrate": "100000000000000.00",
- "miners": 3000,
- "fee": "0.009",
- "minpay": "0.0001"
}
List miner's watcher links
Authorizations:
path Parameters
miner_id required | string <uuid> |
query Parameters
limit | integer [ 1 .. 100 ] Default: 10 |
offset | integer Default: 0 |
Responses
Response samples
- 200
- 401
- 403
- 500
{- "data": [
- {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000",
- "title": "Watcher for LLC 'Super Miner'",
- "created_at": "2019-08-24T14:15:22Z",
- "extra_permissions": [
- "accountant"
]
}
], - "pagination": {
- "limit": 10,
- "offset": 10,
- "total_count": 300
}
}
Create miner's watcher link
Authorizations:
path Parameters
miner_id required | string <uuid> |
Request Body schema: aplication/jsonrequired
extra_permissions | Array of strings Items Value: "accountant" |
title | string [ 1 .. 300 ] characters If empty, will be generated automatically. |
Responses
Request samples
- Payload
{- "extra_permissions": [
- "accountant"
], - "title": "My new awesome watcher link"
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "token": "hfwl_0123456789abcdef000000000000000000000000000000000000000000000000",
- "title": "Watcher for LLC 'Super Miner'",
- "created_at": "2019-08-24T14:15:22Z",
- "extra_permissions": [
- "accountant"
]
}
Delete miner's watcher link
Authorizations:
path Parameters
miner_id required | string <uuid> |
watcher_id required | string <uuid> |
Responses
Response samples
- 400
- 401
- 403
- 500
{- "error": {
- "code": "invalid_input",
- "message": "json: cannot unmarshal number into struct field account_name of type string"
}
}
Get permissions by watcher token
Authorizations:
path Parameters
watcher_token required | string Example: hfwl_0123456789abcdef000000000000000000000000000000000000000000000000 |
Responses
Response samples
- 200
- 404
- 429
- 500
{- "permissions": [
- {
- "id": "432c99a8-a9c3-45d6-9963-08783e81630f",
- "type": "miner",
- "account_name": "Superminer123",
- "access": [
- "section_payments_read"
]
}
]
}