Trustmining API v1

Welcome to the TrustMining integration guide. Our API allows you to automate ad management in the mining hardware (ASIC miners) category.

🔑 Authorization and Restrictions

To use the API, you need a personal access token, which you can generate in your personal account. Authentication is performed using Laravel Sanctum.

⚠️

Important Requirement

Each API request must contain a header Accept: application/json. Without it, the server will return an incorrect response in HTML format instead of JSON.

Required HTTP Headers
Authorization:
Bearer 1|plainTextTokenValue...
Accept:
application/json
Rate Limit:

Maximum 60 requests per minute per account. If the limit is exceeded, will be returned a code 429 Too Many Requests.

GET /api/v1/ads/get — Getting a list of ASIC miner ads

Return data structure:

Field Type Description / Validation
id int Internal unique ID of the ad in the system
name string ASIC miner model name
office string City of sales point
props object An object with specific product characteristics
└ condition string Device status: new or used
└ availability string Availability status: in_stock or preorder
└ warranty int|null Warranty in months. (mandatory only if condition == used)
└ waiting int|null Delivery lead time in days. (mandatory only if availability == preorder)
price int Unit cost
coin string Settlement currency: rub, usdt or cny
with_vat boolean Is VAT included in the stated price
hidden boolean Visibility status: true (ad hidden), false (active on the site)

Example of a successful JSON response (200 OK):

{
  "ads": [
    {
      "id": 1045,
      "name": "Bitmain Antminer S19 Pro 110Th",
      "office": "Moscow",
      "props": {
        "condition": "used",
        "availability": "in_stock",
        "warranty": 3,
        "waiting": null
      },
      "price": 145000,
      "coin": "rub",
      "with_vat": false,
      "hidden": false
    },
    {
      "id": 1046,
      "name": "MicroBT Whatsminer M50 120Th",
      "props": {
        "condition": "new",
        "availability": "preorder",
        "warranty": null,
        "waiting": 14
      },
      "price": 1850,
      "coin": "usdt",
      "with_vat": true,
      "hidden": false
    }
  ]
}
POST /api/v1/ads/update — Bulk editing of ad parameters
🚫

Editing restrictions

Fields name, office, props.condition and props.availability are not editable. Changing them is blocked in this method. If you need to list an item with a different name, condition, or availability status, you must create a completely new listing.

Editable request body parameters (Payload):

Field Type Validation Rules
ads.id int Required | Your existing listing ID
ads.price int Optional | Positive integer (> 0)
ads.coin string Optional | Acceptable Values: rub, usdt, cny
ads.with_vat boolean Optional | Boolean value (true/false)
ads.hidden boolean Optional | Boolean value (true/false)
ads.props.warranty int Optional | Number of warranty months from 0 to 12 (for used only)
ads.props.waiting int Optional | Waiting period in days from 1 to 120 (for pre-order only)

Example of a JSON array passed in a request:

{
  "ads": [
    {
      "id": 1045,
      "price": 149000,
      "hidden": false,
      "props": {
        "warranty": 6
      }
    },
    {
      "id": 1046,
      "price": 1810,
      "with_vat": false
    }
  ]
}