# GET: /voter/history/:address

## GET: /voter/history/:address

### VoterHistoryResponse

The API retrieves voting history details for a specified voter address, including all past proposal participation and voting actions.

Response Structure

<table data-header-hidden><thead><tr><th valign="middle"></th><th valign="middle"></th><th valign="middle"></th></tr></thead><tbody><tr><td valign="middle">Type</td><td valign="middle">Key</td><td valign="middle">Description</td></tr><tr><td valign="middle">Struct</td><td valign="middle">metadata</td><td valign="middle">Metadata on request (see VoterHistoryMetadata)</td></tr><tr><td valign="middle">repeated VoterHistoryRecord</td><td valign="middle">data</td><td valign="middle">List of voter history records (see VoterHistoryRecord)</td></tr></tbody></table>

### VoterHistoryMetadata

Pagination metadata for voter history.

<table data-header-hidden><thead><tr><th valign="middle"></th><th valign="middle"></th><th valign="middle"></th></tr></thead><tbody><tr><td valign="middle">Type</td><td valign="middle">Key</td><td valign="middle">Description</td></tr><tr><td valign="middle">uint32</td><td valign="middle">page</td><td valign="middle">Current page number</td></tr><tr><td valign="middle">uint32</td><td valign="middle">limit</td><td valign="middle">Results per page</td></tr><tr><td valign="middle">uint32</td><td valign="middle">totalItem</td><td valign="middle">Total number of voter history records</td></tr><tr><td valign="middle">uint32</td><td valign="middle">totalPage</td><td valign="middle">Total number of pages for given limit</td></tr></tbody></table>

### &#x20;VoterHistoryRecord

A record containing details of a voter’s participation in a proposal.

<table data-header-hidden><thead><tr><th valign="middle"></th><th valign="middle"></th><th valign="middle"></th></tr></thead><tbody><tr><td valign="middle">Type</td><td valign="middle">Key</td><td valign="middle">Description</td></tr><tr><td valign="middle">Any</td><td valign="middle">voter</td><td valign="middle">Voter details (see Voter)</td></tr><tr><td valign="middle">Any</td><td valign="middle">proposal</td><td valign="middle">Proposal details (see Proposal)</td></tr></tbody></table>

### Voter Object

A structure representing voter participation details.

<table data-header-hidden><thead><tr><th valign="middle"></th><th valign="middle"></th><th valign="middle"></th></tr></thead><tbody><tr><td valign="middle">Type</td><td valign="middle">Key</td><td valign="middle">Description</td></tr><tr><td valign="middle">bytes</td><td valign="middle">id</td><td valign="middle">Unique voter ID</td></tr><tr><td valign="middle">string</td><td valign="middle">address</td><td valign="middle">Voter's Ethereum address</td></tr><tr><td valign="middle">uint32</td><td valign="middle">has_voted</td><td valign="middle">1 if voted, 0 otherwise</td></tr><tr><td valign="middle">uint32</td><td valign="middle">support</td><td valign="middle">1 for yes, 0 for no</td></tr><tr><td valign="middle">uint32</td><td valign="middle">proposal_id</td><td valign="middle">Proposal ID associated with the vote</td></tr><tr><td valign="middle">uint32</td><td valign="middle">block_number</td><td valign="middle">Block number when the vote was cast</td></tr><tr><td valign="middle">uint32</td><td valign="middle">block_timestamp</td><td valign="middle">Timestamp when the vote was recorded</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle">created_at</td><td valign="middle">Vote record creation timestamp</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle">updated_at</td><td valign="middle">Last update timestamp</td></tr><tr><td valign="middle">string</td><td valign="middle">votes</td><td valign="middle">Number of votes cast by the voter</td></tr></tbody></table>

### Proposal Object

A detailed structure representing a governance proposal.

<table data-header-hidden><thead><tr><th valign="middle"></th><th valign="middle"></th><th valign="middle"></th></tr></thead><tbody><tr><td valign="middle">Type</td><td valign="middle">Key</td><td valign="middle">Description</td></tr><tr><td valign="middle">uint32</td><td valign="middle">id</td><td valign="middle">Unique ID for the proposal</td></tr><tr><td valign="middle">string</td><td valign="middle">description</td><td valign="middle">Description of proposed actions</td></tr><tr><td valign="middle">bytes</td><td valign="middle">targets</td><td valign="middle">Address receiving calldata</td></tr><tr><td valign="middle">string</td><td valign="middle">values</td><td valign="middle">ETH value sent with the transaction</td></tr><tr><td valign="middle">string</td><td valign="middle">signatures</td><td valign="middle">Function signature for execution</td></tr><tr><td valign="middle">string</td><td valign="middle">call_datas</td><td valign="middle">Encoded function arguments</td></tr><tr><td valign="middle">Struct</td><td valign="middle">params</td><td valign="middle">Additional parameters</td></tr><tr><td valign="middle">uint32</td><td valign="middle">created_Block</td><td valign="middle">Block number where proposal was created</td></tr><tr><td valign="middle">string</td><td valign="middle">created_tx_Hash</td><td valign="middle">Transaction hash of proposal creation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">created_timestamp</td><td valign="middle">Timestamp of proposal creation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">start_block</td><td valign="middle">Block number when voting starts</td></tr><tr><td valign="middle">string</td><td valign="middle">start_tx_hash</td><td valign="middle">Transaction hash of vote initiation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">start_timestamp</td><td valign="middle">Timestamp of vote initiation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">cancel_block</td><td valign="middle">Block number of cancellation (if applicable)</td></tr><tr><td valign="middle">string</td><td valign="middle">cancel_tx_hash</td><td valign="middle">Transaction hash of cancellation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">cancel_timestamp</td><td valign="middle">Timestamp of cancellation</td></tr><tr><td valign="middle">uint32</td><td valign="middle">end_block</td><td valign="middle">Block number when voting ends</td></tr><tr><td valign="middle">string</td><td valign="middle">end_tx_hash</td><td valign="middle">Transaction hash of vote conclusion</td></tr><tr><td valign="middle">uint32</td><td valign="middle">end_timestamp</td><td valign="middle">Timestamp of vote conclusion</td></tr><tr><td valign="middle">uint32</td><td valign="middle">queued_block</td><td valign="middle">Block number when proposal was queued</td></tr><tr><td valign="middle">string</td><td valign="middle">queued_tx_hash</td><td valign="middle">Transaction hash of queueing</td></tr><tr><td valign="middle">uint32</td><td valign="middle">queued_timestamp</td><td valign="middle">Timestamp when proposal was queued</td></tr><tr><td valign="middle">uint32</td><td valign="middle">executed_block</td><td valign="middle">Block number when proposal was executed</td></tr><tr><td valign="middle">string</td><td valign="middle">executed_tx_hash</td><td valign="middle">Transaction hash of execution</td></tr><tr><td valign="middle">uint32</td><td valign="middle">executed_timestamp</td><td valign="middle">Timestamp of execution</td></tr><tr><td valign="middle">bytes</td><td valign="middle">for_votes</td><td valign="middle">Number of votes in favor</td></tr><tr><td valign="middle">bytes</td><td valign="middle">against_votes</td><td valign="middle">Number of votes against</td></tr><tr><td valign="middle">bytes</td><td valign="middle">proposer</td><td valign="middle">Address of the proposer</td></tr><tr><td valign="middle">uint32</td><td valign="middle">eta</td><td valign="middle">Estimated execution time</td></tr><tr><td valign="middle">string</td><td valign="middle">forVotes</td><td valign="middle">String representation of votes in favor</td></tr><tr><td valign="middle">string</td><td valign="middle">againstVotes</td><td valign="middle">String representation of votes against</td></tr><tr><td valign="middle">uint32</td><td valign="middle">canceled</td><td valign="middle">1 if canceled, 0 otherwise</td></tr><tr><td valign="middle">uint32</td><td valign="middle">executed</td><td valign="middle">1 if executed, 0 otherwise</td></tr><tr><td valign="middle">string</td><td valign="middle">state</td><td valign="middle">Current proposal state (Pending, Active, Canceled, Defeated, Succeeded, Queued, Expired, Executed)</td></tr><tr><td valign="middle">uint32</td><td valign="middle">voter_count</td><td valign="middle">Total number of voters</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle">created_at</td><td valign="middle">Proposal creation timestamp</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle">updated_at</td><td valign="middle">Proposal last updated timestamp</td></tr><tr><td valign="middle">uint32</td><td valign="middle">expired_timestamp</td><td valign="middle">Timestamp when proposal expires</td></tr><tr><td valign="middle">string</td><td valign="middle">title</td><td valign="middle">Proposal title</td></tr></tbody></table>

#### Usage Notes

* Retrieving Voter History: Use this endpoint to fetch detailed participation records of a specific voter.
* Filtering by Proposal State: Voter records include information about active, executed, canceled, and `expiredproposals`.
* Tracking Individual Voting Activity: Each voter history record provides timestamps, block numbers, and proposal states.
* Monitoring Governance Engagement: Helps identify governance participation trends across different proposals.

By leveraging the Onyx Governance API endpoint, developers can efficiently track voter participation, analyze governance engagement, and integrate voter history into transparency dashboards.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onyx.org/api/get-voter-history-address.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
