> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.chainstack.com/feedback

```json
{
  "path": "/reference/hyperliquid-exchange-c-validator-action",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# CValidatorAction | Hyperliquid exchange

<Info>
  You can only use this endpoint on the official Hyperliquid public API. It is not available through Chainstack, as the open-source node implementation does not support it yet. See [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

<Note>
  This endpoint requires signature authentication. See our comprehensive [Authentication via Signatures guide](/docs/hyperliquid-authentication-guide) for implementation details.
</Note>

Performs a validator-specific action on the Hyperliquid consensus layer.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## Parameters

### Required parameters

* `action` (object, required) — The action object containing:
  * `type` (string) — Must be `"CValidatorAction"`
  * `payload` (object) — Validator action payload
* `nonce` (number, required) — Current timestamp in milliseconds (must be recent)
* `signature` (object, required) — EIP-712 signature of the action

### Optional parameters

* `vaultAddress` (string, optional) — Address when trading on behalf of a vault or subaccount

## Returns

Returns an object with the action status:

* `status` — `"ok"` if request processed
* `response` — Contains action result data

## Example request

```shell cURL theme={"system"}
curl -X POST https://api.hyperliquid.xyz/exchange \
  -H "Content-Type: application/json" \
  -d '{
    "action": {"type": "CValidatorAction"},
    "nonce": 1234567890123,
    "signature": {...}
  }'
```

## Use case

* **C validator action** — Performs a validator-specific action on the Hyperliquid consensus layer.

<Warning>
  Always ensure your system clock is synchronized. Nonce must be within a reasonable time window of the current server time or the request will be rejected.
</Warning>


## OpenAPI

````yaml /openapi/hyperliquid_node_api/exchange_c_validator_action.json post /exchange
openapi: 3.0.0
info:
  title: Hyperliquid Exchange API
  version: 1.0.0
  description: >-
    API for trading operations on Hyperliquid exchange. **IMPORTANT**: All
    exchange endpoints require EIP-712 signatures for authentication. The
    examples shown will not work without proper signing. See the [Hyperliquid
    Python SDK](https://github.com/hyperliquid-dex/hyperliquid-python-sdk) for
    implementation examples.
servers:
  - url: https://api.hyperliquid.xyz
security: []
paths:
  /exchange:
    post:
      tags:
        - hyperliquid exchange
      summary: C validator action
      operationId: cValidatorAction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: object
                  properties:
                    type:
                      type: string
                      default: CValidatorAction
                      enum:
                        - CValidatorAction
                      description: Action type
                    register:
                      type: object
                      description: >-
                        Register a new validator (one of several possible
                        sub-actions: register, changeProfile, unregister)
                      properties:
                        profile:
                          type: object
                          properties:
                            node_ip:
                              type: object
                              description: 'Node IP object, e.g., {"Ip": "1.2.3.4"}'
                            name:
                              type: string
                              description: Validator display name
                            description:
                              type: string
                              description: Validator description
                            delegations_disabled:
                              type: boolean
                              description: Whether delegations are disabled
                            commission_bps:
                              type: integer
                              description: >-
                                Commission rate in basis points (e.g., 1000 =
                                10%)
                            signer:
                              type: string
                              description: Signer Ethereum address
                        unjailed:
                          type: boolean
                          description: Whether the validator starts unjailed
                        initial_wei:
                          type: integer
                          description: Initial self-delegation in wei
                  required:
                    - type
                nonce:
                  type: integer
                  description: Current timestamp in milliseconds
                signature:
                  type: object
                  description: EIP-712 signature of the action with r, s, v components
                  properties:
                    r:
                      type: string
                      description: ECDSA signature r component (hex string)
                      example: >-
                        0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
                    s:
                      type: string
                      description: ECDSA signature s component (hex string)
                      example: >-
                        0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321
                    v:
                      type: integer
                      description: ECDSA recovery id (27 or 28)
                      example: 27
                  required:
                    - r
                    - s
                    - v
                vaultAddress:
                  type: string
                  description: >-
                    Address when trading on behalf of a vault or subaccount
                    (optional)
                  nullable: true
              required:
                - action
                - nonce
                - signature
            example:
              action:
                type: CValidatorAction
                register:
                  profile:
                    node_ip:
                      Ip: 1.2.3.4
                    name: My Validator
                    description: A Hyperliquid validator node
                    delegations_disabled: false
                    commission_bps: 1000
                    signer: '0x1234567890abcdef1234567890abcdef12345678'
                  unjailed: false
                  initial_wei: 0
              nonce: 1705234567890
              signature:
                r: >-
                  0x0000000000000000000000000000000000000000000000000000000000000000
                s: >-
                  0x0000000000000000000000000000000000000000000000000000000000000000
                v: 27
              vaultAddress: null
      responses:
        '200':
          description: Action result
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Request status
                  response:
                    type: object
                    description: Action response data

````