🚧

Some context

V1 was designed in the rather early days of most blockchain protocols (before the Ethereum Merge, withdrawals, etc). It stitched together multiple services, and exposed endpoints with various base URLs, authentication headers, response structures, naming conventions, etc.

We've released a V2 that groups together:

  • new features: synchronous validators, validator-agnostic rewards, multi region, OpenAPI
  • standardizations: domain, authentication, naming, response formats
  • deprecations: ETH Aggregated Staking and Unstaking flows

This migration guide helps developers identify what changes they need to make to their implementations to migrate over to the V2 API.

For all endpoints

Authentication

Our endpoints are now built on a unique base URL, https://api.figment.io, and API keys must be sent in the x-api-key header.

Naming conventions

We have ironed out multiple naming discrepancies, including:

  • protocol refers to a blockchain like Ethereum, Solana, Cosmos, etc.
  • network refers to a specific network within a protocol. For Ethereum it could be mainnet, goerli, holesky; for Solana it could be mainnet, testnet, devnet, etc; and so on.
  • pubkey refers to an Ethereum validator public key, or address. It will be prefixed with 0x.
  • time_rollup refers to how we aggregate rewards over time. Values depend on the protocol: epoch, era, checkpoint, daily, all_time, etc.

Misc

  • We standardized our response structures which now all contain data and meta attributes.
  • We are no longer using numeric IDs for objects. Instead, all objects use strings for IDs, and most are in the UUIDv4 format.

Specific Endpoints

-

Deprecations

ETH Aggregated Staking and Unstaking

We're deprecating our ETH Aggregated Staking and ETH Aggregated Unstaking flows. All features are available through our other Ethereum RESTful endpoints:

Webhooks

We have deprecated webhooks for ETH staking events. We recommend using Get Validators. It returns a detailed history of status transitions for every validator.