GoMining API (2.0.0)

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:

1. User Management:

  • Create users within our system.
  • Allow users to log in.

2. Receiving Collection Data:

  • Obtain data on available collections for generation.
  • Use this data to create payment orders.

3. Synchronize Payments:

  • Synchronize with us using webhooks that you need to trigger upon successful payment.

4. Obtain Data on Users' Earnings:

  • Request data on the earnings of a specific user to display how much they have earned using our miners.

Authorization Levels:

The level of required authorization depends on the specific endpoint:

  • For some endpoints, just an API key, which you need to request from us, will suffice.
  • For others, you will need both an API key and a secret key, which also needs to be obtained directly from us.

Getting Started:

If you wish to use our API, please send a request to partners@gomining.com, and we will get in touch with you.

Endpoint security type

  • Each endpoint has a security type that determines how you will interact with it. This is stated next to the NAME of the endpoint. If no security type is stated, assume the security type is NONE.
  • API-keys are passed into the REST API via the X-PARTNER-API-KEY header.
  • API-keys and secret-keys are case sensitive.
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

  • API-KEY-WITH-SIGNATURE endpoints require an additional parameter, signature, to be sent in the query string or request body depends on HTTP method
  • The signature is not case sensitive.
  • A 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.
  • An additional parameter, 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.

API-KEY-WITH-SIGNATURE Endpoint Example for POST /api/partner/auth/init

apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9

Example:

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"
}

API-KEY-WITH-SIGNATURE Endpoint Example for GET /api/partner/nft-income/find-by-user

apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9

Example:

Example Parameters:

partnerUserId=123&timestamp=1721656927974&limit=20&offset=0

Example HMAC SHA256 signature:

echo -n 'partnerUserId=123&timestamp=1721656927974&limit=20&offset=0' | openssl dgst -sha256 -hmac "123a6fd0-f542-46dc-a91b-627146deb6c9"
SHA2-256(stdin)= 0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5

Example Query:

partnerUserId=123&timestamp=1721656927974&limit=20&offset=0&signature=0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5

Authentication

Auth generate-payload

Request Body schema: application/json
required
partnerId
required
string

Unique partner identifier provided by GoMining for authentication

Responses

Request samples

Content type
application/json
{
  • "partnerId": "partner-123e4567-e89b-12d3-a456-426614174000"
}

Response samples

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

Auth check-proof

Request Body schema: application/json
required
required
object
required
object
required
"iphone" (string) or "ipad" (string) or "android" (string) or "windows" (string) or "mac" (string) or "linux" (string) or "browser" (string)
appName
required
string
appVersion
required
string
maxProtocolVersion
required
number
features
required
Array of any
required
object
address
required
string
required
"-239" (string) or "-3" (string)
walletStateInit
required
string
publicKey
required
string
required
"http" (string) or "injected" (string)
Any of
string ("http")
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "tonWallet": {
    }
}

Response samples

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

Auth refresh

By calling this endpoint, you can refresh your authentication token using a valid refresh token. After calling it you will receive new JWT and refresh tokens.

Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

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

Account Creation / Login (API-KEY-WITH-SIGNATURE)

By calling this endpoint, you will be able to register a new user or allow an existing user to log into their account.

Authorizations:
partnerAuth
Request Body schema: application/json
required
partnerUserId
required
string [ 1 .. 255 ] characters

The unique user identifier from your partner system for account creation or login

signature
required
string [ 1 .. 64 ] characters

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
integer >= 1

Unix timestamp in milliseconds when the request was created

recvWindow
integer >= 1

Request validity window in milliseconds after timestamp (default: 60000ms)

email
string non-empty

Optional email address for user account (used for notifications and recovery)

Responses

Request samples

Content type
application/json
{
  • "partnerUserId": "user123",
  • "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
  • "timestamp": 1703001600000,
  • "recvWindow": 5000,
}

Response samples

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

Auth refresh

By calling this endpoint, you can refresh your authentication token using a valid refresh token. After calling it you will receive new JWT and refresh tokens.

Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "rt_abc123def456ghi789"
}

Response samples

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

NFT

Get User-Owned Miners with Specifications

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.

Authorizations:
userAuth
query Parameters
limit
string [ 1 .. 3 ] characters ^\d{1,3}$
Examples: limit=20

Maximum number of miners to return in response (1-999)

offset
string [ 1 .. 5 ] characters ^\d{1,5}$
Examples: offset=0

Number of miners to skip for pagination (0-99999)

Responses

Response samples

Content type
application/json
{}

Get User-Owned Miners with Specifications

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.

Authorizations:
partnerAuth
query Parameters
partnerUserId
required
string [ 1 .. 255 ] characters
Examples: partnerUserId=user123 partnerUserId=abc456

The ID of the user within your system.

signature
required
string [ 1 .. 64 ] characters
Examples: signature=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6

HMAC SHA256 Signature.

timestamp
required
string^\d+$
Examples: timestamp=1703001600000 timestamp=1703088000000

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+$
Examples: recvWindow=5000 recvWindow=10000

Number of milliseconds after timestamp the request is valid for.

Responses

Response samples

Content type
application/json
{}

Transfer NFT from one user to another (API-KEY-WITH-SIGNATURE)

By calling this endpoint, you can transfer an NFT from one user to another. After calling it the NFT ownership will be moved from the source user to the destination user, and you will receive a confirmation of the successful transfer.

Authorizations:
partnerAuth
Request Body schema: application/json
required
partnerUserId
required
string [ 1 .. 255 ] characters

The unique user identifier from your partner system who currently owns the NFT

nftId
required
number >= 1

The unique identifier of the NFT to be transferred

toPartnerUserId
required
string non-empty

The unique user identifier from your partner system who will receive the NFT

signature
required
string [ 1 .. 64 ] characters

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
integer >= 1

Unix timestamp in milliseconds when the request was created

recvWindow
integer >= 1

Request validity window in milliseconds after timestamp (default: 60000ms)

Responses

Request samples

Content type
application/json
{
  • "partnerUserId": "user123",
  • "nftId": 123,
  • "toPartnerUserId": "recipient789",
  • "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
  • "timestamp": 1703001600000,
  • "recvWindow": 5000
}

Response samples

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

NFT Payment

Data on Available Miners for Generation

By calling this endpoint, you will receive data on the specific collections of miners currently available. The response includes their power (TH), energy efficiency (W/TH), pricing for each configuration, and unique IDs within the GoMining ecosystem. This information is required to create a payment order.

Authorizations:
userAuth

Responses

Response samples

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

Data on Available Miners for Generation (API-KEY)

By calling this endpoint, you will receive information about the miner collections currently available. The response includes their power (TH), energy efficiency (W/TH), pricing by characteristics, and unique IDs within the GoMining ecosystem. This data is required to generate a payment order.

Authorizations:
partnerAuth

Responses

Response samples

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

Initialize Payment for Miners (API-KEY-WITH-SIGNATURE-AND-USER-ID)

Use the data received from the nft-collection/find-all-generative endpoint to form a payment for a specific miner.

Authorizations:
partnerAuth
Request Body schema: application/json
required
userId
required
integer >= 1

The internal GoMining user ID who will receive the miner NFT

nftCollectionId
required
integer >= 1

The ID of the miner collection to purchase (from find-all-generative endpoint)

externalId
required
string [ 1 .. 255 ] characters

Unique transaction identifier from your payment system for tracking

signature
required
string [ 1 .. 64 ] characters

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
integer >= 1

Unix timestamp in milliseconds when the request was created

recvWindow
integer >= 1

Request validity window in milliseconds (default: 60000ms)

Responses

Request samples

Content type
application/json
{
  • "userId": 123,
  • "nftCollectionId": 1,
  • "externalId": "order_12345",
  • "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
  • "timestamp": 1703001600000,
  • "recvWindow": 5000
}

Response samples

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

Confirm Successful Miner NFT Payment

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.

Authorizations:
partnerAuth
Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "signature": "string",
  • "externalId": "string",
  • "timestamp": 1,
  • "recvWindow": 1,
  • "userId": 1
}

Response samples

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

Income Statistic

Get Income Per TH/s Statistics

Retrieve real-time income statistics per terahash (TH/s) for mining operations. Returns current BTC rate, Gomining token rate, electricity cost per kWh, service costs, and calculated net income per TH/s.

Authorizations:
userAuth

Responses

Response samples

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

Get Income Per TH/s Statistics (API-KEY-WITH-SIGNATURE)

Retrieve real-time income statistics per terahash (TH/s) for mining operations. Returns current BTC rate, Gomining token rate, electricity cost per kWh, service costs, and calculated net income per TH/s.

Authorizations:
partnerAuth
Request Body schema: application/json
required
timestamp
required
integer >= 1

Unix timestamp in milliseconds when the request was created

signature
required
string [ 1 .. 64 ] characters

HMAC SHA256 signature for request authentication using your API secret

recvWindow
integer >= 1

Request validity window in milliseconds after timestamp (default: 60000ms)

Responses

Request samples

Content type
application/json
{
  • "timestamp": 1703001600000,
  • "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
  • "recvWindow": 5000
}

Response samples

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

NFT Income

Request Miner Total Earnings Data Throughout The Entire Period for a Specific User

By calling this endpoint and providing the required parameters, you will receive aggregated data on a user’s earnings from all their miners over the entire period. This information can be used to inform users about their total earnings from purchased miners.

Authorizations:
userAuth

Responses

Response samples

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

Request Miner Earnings Data for a Specific User

By calling this endpoint, you will receive earnings data for the authenticated user. Use groupByDays=true to get daily aggregated data with nested individual records, or leave it false for a simple list of individual income records.

Authorizations:
userAuth
query Parameters
limit
string [ 1 .. 3 ] characters ^\d{1,3}$
Examples: limit=20 limit=50 limit=100

Maximum number of income records to return (default: 20, max: 100)

offset
string [ 1 .. 5 ] characters ^\d{1,5}$
Examples: offset=0 offset=20 offset=100

Number of records to skip for pagination (default: 0)

groupByDays
boolean
Examples: groupByDays=true groupByDays=false

Group income records by days (default: false)

Responses

Response samples

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

Request Miner Earnings Data for a Specific User (API-KEY-WITH-SIGNATURE)

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 this data to inform users of their overall earnings from purchased miners.

Authorizations:
partnerAuth
query Parameters
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.

Responses

Response samples

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

Get Miner Earnings by User and Date Range

By calling this endpoint and providing the required information, you will receive a list of aggregated mining rewards for a specific user over a selected date range. Each item in the list represents a single day and includes earnings per miner.

Authorizations:
partnerAuth
query Parameters
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.

includeIncomesByNfts
string^(true|false)$
Default: "false"
Examples: includeIncomesByNfts=true

Flag to determine if "incomes" property, which contains income-related data for each NFT, should contain the actual data in the response or should be null. By default it is null.

startDate
required
string <date-time>
endDate
required
string <date-time>

Responses

Response samples

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

Wallet

Bind Bitcoin Wallet for Mining Income Withdrawals

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's income, thus fulfilling the full cycle of the investment.

Authorizations:
userAuth
Request Body schema: application/json
required
address
required
string [ 1 .. 255 ] characters

Valid Bitcoin wallet address to bind to the user account for income withdrawals

Responses

Request samples

Content type
application/json
{
  • "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
}

Response samples

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

Get User Wallet Addresses and Details

By calling this endpoint, you can retrieve a list of wallets that the user has linked to their account. After calling it you'd receive an array with data on each wallet separately.

Authorizations:
userAuth
query Parameters
limit
string [ 1 .. 3 ] characters ^\d{1,3}$
Examples: limit=20
offset
string [ 1 .. 5 ] characters ^\d{1,5}$
Examples: offset=0

Responses

Response samples

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

Retrieve user wallet balances (all supported currencies)

By calling this endpoint, you can retrieve the current balances for all user wallets across all supported currencies. After calling it you will receive an array with balance information for each currency that the user has in their account.

Authorizations:
userAuth
query Parameters
limit
string [ 1 .. 3 ] characters ^\d{1,3}$
Examples: limit=20
offset
string [ 1 .. 5 ] characters ^\d{1,5}$
Examples: offset=0

Responses

Response samples

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

Bind Bitcoin Wallet for User Income Withdrawals

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.

Authorizations:
partnerAuth
Request Body schema: application/json
required
partnerUserId
required
string [ 1 .. 255 ] characters

The unique user identifier from your partner system to bind the wallet to

address
required
string [ 1 .. 255 ] characters

Valid Bitcoin wallet address to bind to the specified user account

signature
required
string [ 1 .. 64 ] characters

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
integer >= 1

Unix timestamp in milliseconds when the request was created

recvWindow
integer >= 1

Request validity window in milliseconds after timestamp (default: 60000ms)

Responses

Request samples

Content type
application/json
{
  • "partnerUserId": "user123",
  • "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
  • "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6",
  • "timestamp": 1703001600000,
  • "recvWindow": 5000
}

Response samples

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

Get User Wallet Addresses and Details

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.

Authorizations:
partnerAuth
query Parameters
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.

Responses

Response samples

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

Get Wallet Balance Information

By calling this endpoint, you can retrieve wallet balances by wallet IDs. After calling it you'd receive an array with data on each wallet separately.

Authorizations:
partnerAuth
query Parameters
partnerUserId
required
string [ 1 .. 255 ] characters
Examples: partnerUserId=user123 partnerUserId=abc456

The unique user identifier from your partner system

signature
required
string [ 1 .. 64 ] characters
Examples: signature=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
string^\d+$
Examples: timestamp=1703001600000 timestamp=1703088000000

Unix timestamp in milliseconds when the request was created

limit
string [ 1 .. 3 ] characters ^\d{1,3}$
Examples: limit=20

Maximum number of wallet balances to return (1-999)

offset
string [ 1 .. 5 ] characters ^\d{1,5}$
Examples: offset=0

Number of wallet balances to skip for pagination (0-99999)

recvWindow
string^\d+$
Examples: recvWindow=5000 recvWindow=10000

Request validity window in milliseconds after timestamp (default: 60000ms)

Responses

Response samples

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

Create 24-Hour Mining Income Withdrawal Order

By calling this endpoint, you can create 24h income withdrawal order.

Authorizations:
partnerAuth
Request Body schema: application/json
required
walletAddress
required
string
amount
required
number >= 0
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.

Responses

Request samples

Content type
application/json
{
  • "walletAddress": "string",
  • "amount": 0,
  • "partnerUserId": "string",
  • "signature": "string",
  • "timestamp": 1,
  • "recvWindow": 1
}

Response samples

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

Create Fast Mining Income Withdrawal Order

By calling this endpoint, you can create fast income withdrawal order.

Authorizations:
partnerAuth
Request Body schema: application/json
required
partnerUserId
required
string [ 1 .. 255 ] characters

The ID of the user within your system.

walletAddress
required
string
amount
required
number >= 0
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.

Responses

Request samples

Content type
application/json
{
  • "partnerUserId": "string",
  • "walletAddress": "string",
  • "amount": 0,
  • "signature": "string",
  • "timestamp": 1,
  • "recvWindow": 1
}

Response samples

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

Calculate Mining Income Withdrawal Commission

By calling this endpoint, you can retrieve commission information for fast withdrawals (income-withdraw). After calling it you'll receive an object with data on the minimum withdrawal amount and commission rate.

Authorizations:
partnerAuth
query Parameters
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.

recvWindow
string^\d+$

Number of milliseconds after timestamp the request is valid for.

Responses

Response samples

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

Incentives

Retrieve incentive program configuration (cashback rules by VIP level)

Authorizations:
userAuth

Responses

Response samples

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

Rates

Retrieve current exchange rates (GOMINING ↔ USD)

By calling this endpoint, you can retrieve current exchange rates for (GOMINING ↔ USD). After calling it you will receive an array with current price data for each symbol.

Authorizations:
userAuth

Responses

Response samples

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

Users

Get General User Statistics

By calling this endpoint and providing the required information, you will receive general statistics for a specific user including basic info, wallet count, NFT count.

Authorizations:
partnerAuth
query Parameters
partnerUserId
required
string [ 1 .. 255 ] characters
Examples: partnerUserId=user123 partnerUserId=abc456

The unique user identifier from your partner system to retrieve statistics for

signature
required
string [ 1 .. 64 ] characters
Examples: signature=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6

HMAC SHA256 signature for request authentication using your API secret

timestamp
required
string^\d+$
Examples: timestamp=1703001600000 timestamp=1703088000000

Unix timestamp in milliseconds when the request was created

recvWindow
string^\d+$
Examples: recvWindow=5000 recvWindow=10000

Request validity window in milliseconds after timestamp (default: 60000ms)

Responses

Response samples

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

NFT Upgrade Requests

Create NFT Upgrade Request (S2S)

Partners can request NFT upgrades via this S2S endpoint. The system internally processes the request by creating a post-payment in the partner's name, then applies the upgrade to improve the miner's characteristics. Supports upgrading either Energy Efficiency (EE) or Power attributes by specifying the NFT ID and the current and target values. Returns a unique request ID for tracking the upgrade process.

Authorizations:
partnerAuth
Request Body schema: application/json
required
required
object or object
Any of
type
required
string
Value: "nftEnergyEfficiencyUpgrade"
nftId
required
integer
fromEnergyEfficiency
required
number
toEnergyEfficiency
required
number

Responses

Request samples

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

Response samples

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

Calculate NFT Upgrade Price (S2S)

Partners can calculate NFT upgrade price via this S2S endpoint. The actual post-payment price may differ from the price returned by this endpoint.

Authorizations:
partnerAuth
query Parameters
required
"nftEnergyEfficiencyUpgrade" (string) or "nftPowerUpgrade" (string)
nftId
required
string
from
required
string
to
required
string

Responses

Response samples

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