Download OpenAPI specification:Download
A short summary of the API.
This API enables all authorized partners to interact with GoMining. With its help, you can:
The level of required authorization depends on the specific endpoint:
If you wish to use our API, please send a request to partners@gomining.com, and we will get in touch with you.
X-PARTNER-API-KEY
header.Security Type | Description |
---|---|
API-KEY | Endpoint requires sending a valid API-Key. |
API-KEY-WITH-SIGNATURE | Endpoint requires sending a valid API-Key and signature. |
API-KEY-WITH-SIGNATURE
endpoints require an additional parameter, signature
, to be sent in the query string
or request body
depends on HTTP methodsignature
is not case sensitive.API-KEY-WITH-SIGNATURE
endpoint also requires a parameter, timestamp
, to be sent which should be the millisecond timestamp of when the request was created and sent.recvWindow
, may be sent to specify the number of milliseconds after timestamp
the request is valid for. If recvWindow
is not sent, it defaults to 5000.apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9
Example Parameters:
{
"partnerUserId": "123",
"timestamp": 1721656927974,
}
Example HMAC SHA256 signature:
echo -n '{"partnerUserId":"123","timestamp":1721656927974}' | openssl dgst -sha256 -hmac "123a6fd0-f542-46dc-a91b-627146deb6c9"
SHA2-256(stdin)= 03955aeac5ffe46c02fbb74e2b41f0d36f3992b5363253949a4a7dd79c972a24
Example Body:
{
"partnerUserId": "123",
"timestamp": 1721656927974,
"signature": "03955aeac5ffe46c02fbb74e2b41f0d36f3992b5363253949a4a7dd79c972a24"
}
apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9
Example Parameters:
partnerUserId=123×tamp=1721656927974&limit=20&offset=0
Example HMAC SHA256 signature:
echo -n 'partnerUserId=123×tamp=1721656927974&limit=20&offset=0' | openssl dgst -sha256 -hmac "123a6fd0-f542-46dc-a91b-627146deb6c9"
SHA2-256(stdin)= 0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5
Example Query:
partnerUserId=123×tamp=1721656927974&limit=20&offset=0&signature=0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5
required | object | ||||||||||||||||||||||||||||||||||||
|
{- "tonWallet": {
- "device": {
- "platform": "iphone",
- "appName": "string",
- "appVersion": "string",
- "maxProtocolVersion": 0,
- "features": [
- null
]
}, - "account": {
- "address": "string",
- "chain": "-239",
- "walletStateInit": "string",
- "publicKey": "string"
}, - "provider": "http",
- "connectItems": {
- "tonProof": {
- "name": "ton_proof",
- "proof": {
- "domain": {
- "lengthBytes": 0,
- "value": "string"
}, - "payload": "string",
- "signature": "string",
- "timestamp": 0
}
}
}
}
}
{- "data": {
- "jwtToken": "string",
- "refreshToken": "string"
}
}
refreshToken required | string |
{- "refreshToken": "string"
}
{- "data": {
- "jwtToken": "string",
- "refreshToken": "string"
}
}
refreshToken required | string |
{- "refreshToken": "string"
}
{- "data": {
- "jwtToken": "string",
- "refreshToken": "string"
}
}
By calling this endpoint, you can retrieve a list of miners that are associated with the user, along with their characteristics. This helps you to show users the details of all their miners along with their specifications.
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
{- "data": {
- "array": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "power": 0,
- "energyEfficiency": 0,
- "imageUrl": "string",
- "smallImageUrl": "string"
}
]
}
}
By calling this endpoint, you can retrieve a list of miners that are associated with the user, along with their characteristics. This helps you to show users the details of all their miners along with their specifications.
partnerUserId required | string [ 1 .. 255 ] characters The ID of the user within your system. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | string^\d+$ The timestamp of when the request was created and sent. |
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
recvWindow | string^\d+$ Number of milliseconds after timestamp the request is valid for. |
{- "data": {
- "array": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "power": 0,
- "energyEfficiency": 0,
- "imageUrl": "string",
- "smallImageUrl": "string"
}
]
}
}
By calling this endpoint, you will receive data on the specific collections of miners currently available. This includes their power in TH, energy efficiency in W/TH, the price for specific characteristics, and their ID within the GoMining ecosystem. These data will be necessary for you to form a payment order.
{- "data": {
- "array": [
- {
- "id": 0,
- "power": 0,
- "energyEfficiency": 0,
- "value": 0,
- "annualROI": 0,
- "poolReward": 0,
- "electricityCost": 0,
- "serviceCost": 0,
- "levelDiscount": 0
}
]
}
}
By calling this endpoint, you will receive data on the specific collections of miners currently available. This includes their power in TH, energy efficiency in W/TH, the price for specific characteristics, and their ID within the GoMining ecosystem. These data will be necessary for you to form a payment order.
{- "data": {
- "array": [
- {
- "id": 0,
- "power": 0,
- "energyEfficiency": 0,
- "value": 0,
- "annualROI": 0,
- "poolReward": 0,
- "electricityCost": 0,
- "serviceCost": 0,
- "levelDiscount": 0
}
]
}
}
Use the data received from the nft-collection/find-all-generative endpoint to form a payment for a specific miner.
userId required | integer >= 1 The ID of the user. |
nftCollectionId required | integer >= 1 The ID of the specific miner collection. |
externalId required | string [ 1 .. 255 ] characters ID of the purchase on your side. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | integer >= 1 The timestamp of when the request was created and sent. |
recvWindow | integer >= 1 Number of milliseconds after timestamp the request is valid for. |
{- "userId": 1,
- "nftCollectionId": 1,
- "externalId": "string",
- "signature": "string",
- "timestamp": 1,
- "recvWindow": 1
}
{- "data": {
- "value": 0,
- "externalId": "string"
}
}
By calling this endpoint, you can notify us that the payment has been successfully completed. This ensures that our system is updated with the actual payment status.
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
externalId required | string [ 1 .. 255 ] characters ID of the purchase on your side. |
timestamp required | integer >= 1 The timestamp of when the request was created and sent. |
recvWindow | integer >= 1 Number of milliseconds after timestamp the request is valid for. |
userId required | integer >= 1 User ID. |
{- "signature": "string",
- "externalId": "string",
- "timestamp": 1,
- "recvWindow": 1,
- "userId": 1
}
{- "data": true
}
By calling this endpoint and providing the required information, you will receive total data on the earnings of a specific user from all their miners throughout the entire period. You can use these data to inform users of their overall earnings from purchased miners throughout the entire period.
{- "data": {
- "array": [
- {
- "totalValue": 0,
- "nftId": 0
}
], - "totalIncome": 0,
- "lastIncome": { },
- "withdrawnAmount": 0,
- "onBalanceAmount": 0
}
}
By calling this endpoint and providing the required information, you will receive data on the earnings of a specific user from all their miners. You can use these data to inform users of their overall earnings from purchased miners.
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
{- "data": {
- "array": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "value": 0,
- "c1Value": 0,
- "c2Value": 0,
- "c3Value": 0,
- "c4Value": 0,
- "nftId": 0
}
]
}
}
By calling this endpoint and providing the required information, you will receive data on the earnings of a specific user from all their miners. You can use these data to inform users of their overall earnings from purchased miners.
partnerUserId required | string [ 1 .. 255 ] characters The ID of the user within your system. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | string^\d+$ The timestamp of when the request was created and sent. |
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
recvWindow | string^\d+$ Number of milliseconds after timestamp the request is valid for. |
{- "data": {
- "array": [
- {
- "createdAt": "2019-08-24T14:15:22Z",
- "value": 0,
- "c1Value": 0,
- "c2Value": 0,
- "c3Value": 0,
- "c4Value": 0,
- "nftId": 0
}
]
}
}
By calling this endpoint, you can bind a Bitcoin wallet to a specific user. This allows us to know which wallet is associated with the user and enables us to proceed with the withdrawals of user' income, thus fulfilling the full cycle of the investment.
address required | string [ 1 .. 255 ] characters BTC wallet address. |
{- "address": "string"
}
{- "data": true
}
By calling this endpoint, you can retrieve a list of wallets that user has linked to their account. After calling it you'd receive an array with data on each wallet separately.
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
{- "data": {
- "array": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "address": "string",
- "type": "BTC"
}
]
}
}
By calling this endpoint, you can bind a Bitcoin wallet to a specific user. This allows us to know which wallet is associated with the user and enables us to proceed with the withdrawals of user' income, thus fulfilling the full cycle of the investment.
partnerUserId required | string [ 1 .. 255 ] characters The ID of the user within your system. |
address required | string [ 1 .. 255 ] characters BTC wallet address. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | integer >= 1 The timestamp of when the request was created and sent. |
recvWindow | integer >= 1 Number of milliseconds after timestamp the request is valid for. |
{- "partnerUserId": "string",
- "address": "string",
- "signature": "string",
- "timestamp": 1,
- "recvWindow": 1
}
{- "data": true
}
By calling this endpoint, you can retrieve a list of wallets that user has linked to their account. After calling it you'd receive an array with data on each wallet separately.
partnerUserId required | string [ 1 .. 255 ] characters The ID of the user within your system. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | string^\d+$ The timestamp of when the request was created and sent. |
limit | string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 |
offset | string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 |
recvWindow | string^\d+$ Number of milliseconds after timestamp the request is valid for. |
{- "data": {
- "array": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "address": "string",
- "type": "BTC"
}
]
}
}
By calling this endpoint, you will be able to register a new user or allow an existing user to log into their account.
partnerUserId required | string [ 1 .. 255 ] characters The ID of the user within your system. |
signature required | string [ 1 .. 64 ] characters HMAC SHA256 Signature. |
timestamp required | integer >= 1 The timestamp of when the request was created and sent. |
recvWindow | integer >= 1 Number of milliseconds after timestamp the request is valid for. |
{- "partnerUserId": "string",
- "signature": "string",
- "timestamp": 1,
- "recvWindow": 1
}
{- "data": {
- "jwtToken": "string",
- "refreshToken": "string"
}
}