Staking

Create a new stake

Changed on

Submit a staking request for a specific asset. The platform performs validation checks before processing the stake.

post/stakes

Request

  • Base URL
    https://api.cert.zerohash.com
  • URL
    https://api.cert.zerohash.com/stakes
  • Auth
    API key in header X-SCX-API-KEY and API key in header X-SCX-PASSPHRASE

Headers

X-SCX-SIGNEDstring required

HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.

X-SCX-TIMESTAMPstring required
Example:1678901234

Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.

X-Request-Idstring uuid

Optional client-supplied request ID used for tracing and idempotency. Must be a UUID v4. When omitted, zerohash generates one and returns it in the response X-Request-Id header.

Request body

participant_codestring required

Participant identifier

account_labelstring required

Settlement account label. The account must already exist for the participant.

assetstring required

Asset to stake. Letters, digits and dots only. Case-insensitive: the symbol is converted to uppercase, so eth and ETH are the same asset.

amountstring required

Amount of asset to stake, as a decimal string greater than zero (for example 1 or 0.5).

Example request

{
  "participant_code": "CUST01",
  "account_label": "general",
  "asset": "ETH",
  "amount": "32.0"
}

Response

Stake successfully submitted

request_idstring

Request identifier

Example response

{
  "request_id": "8bb7e203-13e0-4208-80bc-e9fdb7faa13e",
  "message": {
    "stake_id": "c761fc96-5c44-40d4-8eb2-3fcd5d06754e",
    "participant_code": "CUST01",
    "asset": "ETH",
    "amount": "10.5",
    "status": "submitted",
    "created_at": "2025-08-24T16:00:00Z",
    "activated_at": "2025-08-25T16:00:00Z",
    "activation_period_days": 7,
    "estimated_active_at": "2026-05-08T16:00:00Z"
  }
}

Changes

    • breaking

      added the new required request property

    • breaking

      added the pattern ^[A-Za-z0-9.]+$ to the request property

    • breaking

      removed the required property from the response with the status

    • warning

      removed the request property

    • warning

      removed the request property

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status