# API V2 Migrations

## V1 History Alternatives

The latest VEXANIUM V2 , release officially ends support for the legacy V1 History plugin. Therefore, block producers and node operators who have integrations that rely on V1 History must seek alternative solutions.

### Production Ready Alternatives[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#production-ready-alternatives) <a href="#production-ready-alternatives" id="production-ready-alternatives"></a>

The following battle tested and V1 compliant history solutions are available:

* Hyperion History Solution
* Roborovski History API

## Roborovski History API

### Overview[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#overview) <a href="#overview" id="overview"></a>

Roborovski History API is designed as a drop-in replacement for the V1 history API. It relies on the Trace API Plugin to extract the history data and then packs it in V1 format before it gives it back to the client request.

### Who Runs Roborovski History API[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#who-runs-roborovski-history-api) <a href="#who-runs-roborovski-history-api" id="who-runs-roborovski-history-api"></a>

Roborovski History API is implemented and ran by Greymass Inc.

### What makes the Roborovski History API safe[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#what-makes-the-roborovski-history-api-safe) <a href="#what-makes-the-roborovski-history-api-safe" id="what-makes-the-roborovski-history-api-safe"></a>

Roborovski History API has a high degree of safety because it is created by Greymass Inc. which has been a credible and stable block producer and wallet developer (Anchor) company for EOS, WAX, TELOS, PROTON, FIO and other EOS based chains.

### Understanding the risks associated with hosted solutions[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#understanding-the-risks-associated-with-hosted-solutions) <a href="#understanding-the-risks-associated-with-hosted-solutions" id="understanding-the-risks-associated-with-hosted-solutions"></a>

If you rely on a hosted solution, you are reliant on the correctness of data and processes that you do not control. Therefore, if your application critically relies on on-chain data, it is highly recommended that you host your own history solution. However, since Roborovsky is currently closed source, if you want to run your own node you will need to see Hyperion below.

### Roborovski History API and V1 History Standard[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#roborovski-history-api-and-v1-history-standard) <a href="#roborovski-history-api-and-v1-history-standard" id="roborovski-history-api-and-v1-history-standard"></a>

Roborovski History API is compliant with the V1 history API standard. It also adds two more functions on top of the standard ones.

Existing V1 History Plugin integrators can simply replace their current API url with Greymass' one and it will work flawlessly.

### API Reference[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#api-reference) <a href="#api-reference" id="api-reference"></a>

#### How To Connect[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#how-to-connect) <a href="#how-to-connect" id="how-to-connect"></a>

The Roborovski History API connection endpoint is `https://eos.greymass.com`

#### Functions List[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#functions-list) <a href="#functions-list" id="functions-list"></a>

* Get Actions (V1 compatible)
  * POST `https://eos.greymass.com/v1/history/get_actions`
* Get Transaction (V1 compatible)
  * POST `https://eos.greymass.com/v1/history/get_transaction`
* Get Transaction (new method, not in V1)
  * GET `https://eos.greymass.com/v1/history/get_transaction?id=<TXID>`
* Get Actions (new method, not in V1)
  * GET `https://eos.greymass.com/v1/history/get_actions?account_name=<NAME>`

#### Performance Numbers[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#performance-numbers) <a href="#performance-numbers" id="performance-numbers"></a>

As it was observed and measured so far the Roborovski History API supports at least 50 requests per second; this limit is defined as a low load, the solution is capable of handling more, but no higher specific limits are known at the moment.

Hyperion History Solution

## Hyperion History Solution

### Overview[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#overview-1) <a href="#overview-1" id="overview-1"></a>

Hyperion History is a full history solution for indexing, storing and retrieving EOS-based blockchain historical data. It can be deployed by node operators to provide data querying support for actions, transactions, and blocks stored on the blockchain.

Hyperion History API provides both V2 and V1 (legacy history plugin) endpoints. Therefore, it is fully compliant with V1 history.

### What makes the Hyperion safe[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#what-makes-the-hyperion-safe) <a href="#what-makes-the-hyperion-safe" id="what-makes-the-hyperion-safe"></a>

Hyperion is developed and maintained by EOS Rio: <https://eosrio.io/hyperion/> and has been battle tested on every Antelope public network (EOS, WAX, TELOS, PROTON, FIO, etc).

* Github: <https://github.com/vexanium/hyperion-history-api>

### Requirements[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#requirements) <a href="#requirements" id="requirements"></a>

Hyperion History requires the following components for a fully functional Hyperion API deployment:

* **Elasticsearch Cluster** - stores all indexed data
* **RabbitMQ** - message/data transport/queue for indexer stages
* **Redis** - used as predictive temporary database
* **EOS State History plugin** - feeds action traces and state deltas to indexer via websocket
* **Hyperion Indexer** - indexes State History data (launched from PM2 Node.js manager)
* **Hyperion API** - API server that listens to V1/V2 requests

### Installation[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#installation) <a href="#installation" id="installation"></a>

Providers have the following options to install Hyperion History solution:

* Manual installation: <https://github.com/vexanium/hyperion-history-api>

### Set Up[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#set-up) <a href="#set-up" id="set-up"></a>

To set up Hyperion History solution after a successful installation:

* Configuration:
* Connection Configuration:&#x20;
* Chain Configuration:&#x20;

### V1 History Support[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#v1-history-support) <a href="#v1-history-support" id="v1-history-support"></a>

Hyperion History is compliant with the V1 history API standard.

#### V1 History API reference[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#v1-history-api-reference) <a href="#v1-history-api-reference" id="v1-history-api-reference"></a>

For a full description of the V1 History API endpoints supported by Hyperion History, please visit:&#x20;

* `/v1/history/get_transaction`

  Get transaction by id

  * method: `POST`
  * schema: variable | type | description -|-|- id | string | transaction id
* `/v1/history/get_actions`

  Legacy get actions query

  * method: `POST`
  * schema: variable | type | description -|-|- account\_name | type | description pos | integer | action position (pagination) offset | integer | limit of \[n] actions per page filter | string (minLength: 3) | code:name filter sort | string | sort direction (Enum: \[desc, asc, 1, -1]) after | string($date-time) | filter after specified date (ISO8601) before | string($date-time) | filter before specified date (ISO8601) parent | integer (min: 0) | filter by parent global sequence

#### Usage[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#usage) <a href="#usage" id="usage"></a>

Once Hyperion History is deployed on a server or cluster, existing V1 History Plugin clients can simply replace their current API domain URL with the one provided by the listening server or cluster.

#### Examples[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#examples) <a href="#examples" id="examples"></a>

Some examples to illustrate usage of V1 History endpoints:

* Get all actions from given transaction:

  ```
  curl -X POST https://eos.hyperion.eosrio.io/v1/history/get_transaction -d '{
    "id": "<TXID>"
  }'
  ```
* Get all actions from last 10 transactions for given account:

  ```
  curl -X POST https://eos.hyperion.eosrio.io/v1/history/get_transaction -d '{
    "account_name": "<NAME>",
    "pos": -1
  }'
  ```

### Endpoint List[​](https://docs.eosnetwork.com/docs/latest/migration-guides/v1-history-alternatives#endpoint-list) <a href="#endpoint-list" id="endpoint-list"></a>

For a list of endpoint servers using Hyperion, check:&#x20;


---

# 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.vexanium.com/reference/api-reference/api-v2-migrations.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.
