> ## 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.

# validatorL1Votes | Hyperliquid info

> The info endpoint with type: "validatorL1Votes" retrieves information about validator participation in L1 governance voting on the Hyperliquid network.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `info` endpoint with `type: "validatorL1Votes"` retrieves information about validator participation in L1 governance voting on the Hyperliquid network. This endpoint provides data about validator voting behavior, consensus participation, and governance engagement.

<Info>
  This request type is supported by the Hyperliquid info server and by Chainstack's node endpoint, but it is not documented in the upstream Hyperliquid docs. The response shape may evolve.
</Info>

## Parameters

### Request body

* `type` (string, required) — The request type. Must be `"validatorL1Votes"` to retrieve validator L1 voting information.

## Response

The response is an array of validator voting information, including their L1 governance participation:

### Validator voting data

* `validator` (string) — Validator address in hexadecimal format
* `votingPower` (string) — Validator's voting power in the consensus mechanism
* `l1Votes` (array) — List of L1 votes cast by the validator:
  * `proposalId` (string) — Unique identifier for the governance proposal
  * `vote` (string) — Vote cast by the validator ("yes", "no", or "abstain")
  * `timestamp` (integer) — Timestamp when the vote was cast
  * `blockHeight` (integer) — Block height at which the vote was recorded
* `participationRate` (string) — Validator's participation rate in L1 governance

### Understanding L1 governance voting

**L1 governance structure:**

* Validators participate in network governance through on-chain voting
* Proposals affect protocol parameters, upgrades, and network policies
* Voting power typically correlates with validator stake and delegation
* Consensus mechanisms ensure democratic decision-making

**Voting mechanics:**

* Validators can vote "yes", "no", or "abstain" on proposals
* Voting periods have specific timeframes for participation
* Votes are recorded on-chain for transparency and immutability
* Participation rates indicate validator engagement in governance

**Governance importance:**

* Ensures decentralized decision-making for protocol evolution
* Validators represent delegator interests in governance decisions
* High participation rates indicate healthy network governance
* Voting history provides transparency for delegator selection

**Consensus participation:**

* Validators with higher voting power have greater influence
* Participation rates affect proposal outcomes and legitimacy
* Regular voting demonstrates validator commitment to network health
* Abstentions may indicate neutral positions or technical issues

## Example request

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"type": "validatorL1Votes"}' \
    https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
  ```

  ```python Python (hyperliquid-python-sdk) theme={"system"}
  from hyperliquid.info import Info

  info = Info("YOUR_CHAINSTACK_ENDPOINT", skip_ws=True)

  # hyperliquid-python-sdk has no typed helper for this type, so post the
  # raw info request through the generic API.post method.
  votes = info.post("/info", {"type": "validatorL1Votes"})
  print(votes)
  ```

  ```typescript TypeScript (@nktkas/hyperliquid) theme={"system"}
  import { HttpTransport, InfoClient } from "@nktkas/hyperliquid";

  const transport = new HttpTransport({ apiUrl: "YOUR_CHAINSTACK_ENDPOINT" });
  const info = new InfoClient({ transport });

  const votes = await info.validatorL1Votes();
  console.log(votes);
  ```
</CodeGroup>

<Note>
  **Use your own endpoint in your code.** The code examples use a placeholder Chainstack endpoint (YOUR\_CHAINSTACK\_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the [Chainstack console](https://console.chainstack.com/). The curl above uses a shared public endpoint for quick checks only; do not use it in production.
</Note>

## Example response

```json theme={"system"}
[
  {
    "validator": "0x5ac9e4e1b3b8d3d8d5f1a9f7d2b1c4e5f6a7b8c9",
    "votingPower": "123456.0",
    "l1Votes": [
      {
        "proposalId": "HYP-1",
        "vote": "yes",
        "timestamp": 1732320000000,
        "blockHeight": 123456
      }
    ],
    "participationRate": "0.95"
  }
]
```

## Use case

The `info` endpoint with `type: "validatorL1Votes"` is essential for applications that need to:

* **Governance dashboards**: Display validator voting history and participation rates
* **Delegator tools**: Help users choose validators based on governance engagement
* **Compliance monitoring**: Track validator participation for regulatory requirements
* **Network analysis**: Analyze governance participation patterns and trends
* **Validator research**: Evaluate validator commitment to network governance
* **Proposal tracking**: Monitor voting progress and validator positions
* **Transparency tools**: Provide public access to governance voting records
* **Risk assessment**: Evaluate network governance health and participation
* **Automated alerts**: Notify stakeholders about important governance votes
* **Academic research**: Study decentralized governance patterns and effectiveness
* **Audit systems**: Verify validator behavior and governance participation
* **Delegation strategies**: Optimize delegation based on governance alignment
* **Network health monitoring**: Track overall governance participation rates
* **Validator comparison**: Compare governance engagement across validators

This endpoint is particularly valuable for delegators selecting validators based on governance participation, governance researchers analyzing voting patterns, compliance systems tracking validator behavior, and applications providing comprehensive validator analytics and transparency tools on the Hyperliquid network.


## OpenAPI

````yaml openapi/hyperliquid_node_api/hypercore_info/info_validator_l1_votes.json post /4f8d8f4040bdacd1577bff8058438274/info
openapi: 3.0.0
info:
  title: Hyperliquid Node API
  version: 1.0.0
  description: This is an API for interacting with Chainstack Hyperliquid node.
servers:
  - url: https://hyperliquid-mainnet.core.chainstack.com
security: []
paths:
  /4f8d8f4040bdacd1577bff8058438274/info:
    post:
      tags:
        - hyperliquid operations
      summary: info (validatorL1Votes)
      operationId: infoValidatorL1Votes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  default: validatorL1Votes
                  enum:
                    - validatorL1Votes
                  description: Request type to retrieve validator L1 voting information
              required:
                - type
      responses:
        '200':
          description: Validator L1 voting information and consensus data
          content:
            application/json:
              schema:
                type: array
                description: List of validator L1 votes and consensus participation
                items:
                  type: object
                  properties:
                    validator:
                      type: string
                      description: Validator address in hexadecimal format
                    votingPower:
                      type: string
                      description: Validator's voting power in the consensus
                    l1Votes:
                      type: array
                      description: List of L1 votes cast by the validator
                      items:
                        type: object
                        properties:
                          proposalId:
                            type: string
                            description: Unique identifier for the proposal
                          vote:
                            type: string
                            enum:
                              - 'yes'
                              - 'no'
                              - abstain
                            description: Vote cast by the validator
                          timestamp:
                            type: integer
                            description: Timestamp when the vote was cast
                          blockHeight:
                            type: integer
                            description: Block height at which the vote was recorded
                    participationRate:
                      type: string
                      description: Validator's participation rate in L1 governance

````