Staking

Execute unstaking operation to withdraw staked assets. Funds will become available after the network-specific cooldown period.

post/stakes/unstake

Request

  • Base URL
    https://api.cert.zerohash.com
  • 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 unstake. Letters, digits and dots only. Case-insensitive: the symbol is converted to uppercase, so eth and ETH are the same asset.

amountstring required

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

Example request

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

Response

Unstake request successfully submitted

request_idstring

Request identifier

Example response

{
  "request_id": "8bb7e203-13e0-4208-80bc-e9fdb7faa13e",
  "message": {
    "unstake_id": "c761fc96-5c44-40d4-8eb2-3fcd5d06757d",
    "participant_code": "CUST01",
    "asset": "ETH",
    "account_group": "CUST01",
    "account_label": "general",
    "amount": "5.0",
    "status": "submitted",
    "cooldown_period_days": 8,
    "estimated_available_at": "2025-09-03T16:00:00Z",
    "created_at": "2025-08-24T16:00:00Z"
  }
}

Changes

    • breaking

      added the pattern ^[0-9]+(\.[0-9]+)?$ to the 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

    • breaking

      removed the required property from 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

    • 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

      response property message/cooldown_period_days deprecated