curl --request GET \
--url https://api.eigenexplorer.com/operators/{address} \
--header 'X-API-Token: <x-api-token>'import requests
url = "https://api.eigenexplorer.com/operators/{address}"
headers = {"X-API-Token": "<x-api-token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Token': '<x-api-token>'}};
fetch('https://api.eigenexplorer.com/operators/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eigenexplorer.com/operators/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Token: <x-api-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eigenexplorer.com/operators/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Token", "<x-api-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eigenexplorer.com/operators/{address}")
.header("X-API-Token", "<x-api-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eigenexplorer.com/operators/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Token"] = '<x-api-token>'
response = http.request(request)
puts response.read_body{
"address": "0x09e6eb09213bdd3698bd8afb43ec3cb0ecff683a",
"metadataName": "Example AVS Operator",
"metadataDescription": "This is an example AVS operator",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"totalStakers": 10,
"totalAvs": 10,
"maxApy": "1.0",
"createdAtBlock": "19631203",
"updatedAtBlock": "19631203",
"createdAt": "2024-04-11T08:31:11.000Z",
"updatedAt": "2024-04-11T08:31:11.000Z",
"shares": [
{
"strategyAddress": "0x93c4b944d05dfe6df7645a86cd2206016c51564d",
"shares": "135064894598947935263152"
},
{
"strategyAddress": "0x54945180db7943c0ed0fee7edab2bd24620256bc",
"shares": "9323641881708650182301"
}
],
"avsRegistrations": [
{
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"isActive": false,
"metadataName": "Example AVS",
"metadataDescription": "This is an example AVS",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"metadataUrl": "https://example.json",
"restakeableStrategies": [
"<string>"
],
"totalStakers": 80000,
"totalOperators": 200,
"tvlEth": "3000000",
"createdAtBlock": 19592323,
"updatedAtBlock": 19592323,
"createdAt": "2024-04-05T21:49:59.000Z",
"updatedAt": "2024-04-05T21:49:59.000Z",
"address": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"maxApy": "1.0",
"rewardsSubmissions": [
{
"id": 1,
"submissionNonce": 0,
"rewardsSubmissionHash": "0x2bc2f7cef0974f7064dbdae054f9a0e5ea1c2293d180a749c70100506382d85",
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"strategyAddress": "0x0fe4f44bee93503346a3ac9ee5a26b130a5796d6",
"multiplier": "1000000000000000000",
"token": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"amount": "300000000000000000",
"startTimestamp": 1720000000,
"duration": 2500000,
"createdAtBlock": 20495824,
"createdAt": "2024-08-10T04:28:47.000Z"
}
],
"curatedMetadata": {
"metadataName": "Example AVS",
"metadataDescription": "This is an example AVS",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"metadataGithub": "https://github.com/acme",
"metadataTokenAddress": "0x2344c0fe02ccd2b32155ca0ffcb1978a6d96a552",
"tags": [
"Example tag 1",
"Example tag 2"
],
"isVisible": false,
"isVerified": false
}
}
],
"rewards": [
{
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"maxApy": 0.1,
"strategyApys": [
{
"strategyAddress": "0xbeac0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeac0",
"apy": 0.1,
"tokens": [
{
"tokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"apy": 0.1
}
]
}
]
}
],
"tvl": {
"tvl": 1000000,
"tvlBeaconChain": 1000000,
"tvlWETH": 1000000,
"tvlRestaking": 1000000,
"tvlStrategies": {
"Eigen": 1000000,
"cbETH": 2000000
},
"tvlStrategiesEth": {
"stETH": 1000000,
"cbETH": 2000000
}
}
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#bad_request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#not_found"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#unprocessable_entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#rate_limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#internal_server_error"
}
}Retrieve an operator by address
Returns an operator record by address.
curl --request GET \
--url https://api.eigenexplorer.com/operators/{address} \
--header 'X-API-Token: <x-api-token>'import requests
url = "https://api.eigenexplorer.com/operators/{address}"
headers = {"X-API-Token": "<x-api-token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Token': '<x-api-token>'}};
fetch('https://api.eigenexplorer.com/operators/{address}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eigenexplorer.com/operators/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Token: <x-api-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eigenexplorer.com/operators/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Token", "<x-api-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eigenexplorer.com/operators/{address}")
.header("X-API-Token", "<x-api-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eigenexplorer.com/operators/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Token"] = '<x-api-token>'
response = http.request(request)
puts response.read_body{
"address": "0x09e6eb09213bdd3698bd8afb43ec3cb0ecff683a",
"metadataName": "Example AVS Operator",
"metadataDescription": "This is an example AVS operator",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"totalStakers": 10,
"totalAvs": 10,
"maxApy": "1.0",
"createdAtBlock": "19631203",
"updatedAtBlock": "19631203",
"createdAt": "2024-04-11T08:31:11.000Z",
"updatedAt": "2024-04-11T08:31:11.000Z",
"shares": [
{
"strategyAddress": "0x93c4b944d05dfe6df7645a86cd2206016c51564d",
"shares": "135064894598947935263152"
},
{
"strategyAddress": "0x54945180db7943c0ed0fee7edab2bd24620256bc",
"shares": "9323641881708650182301"
}
],
"avsRegistrations": [
{
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"isActive": false,
"metadataName": "Example AVS",
"metadataDescription": "This is an example AVS",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"metadataUrl": "https://example.json",
"restakeableStrategies": [
"<string>"
],
"totalStakers": 80000,
"totalOperators": 200,
"tvlEth": "3000000",
"createdAtBlock": 19592323,
"updatedAtBlock": 19592323,
"createdAt": "2024-04-05T21:49:59.000Z",
"updatedAt": "2024-04-05T21:49:59.000Z",
"address": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"maxApy": "1.0",
"rewardsSubmissions": [
{
"id": 1,
"submissionNonce": 0,
"rewardsSubmissionHash": "0x2bc2f7cef0974f7064dbdae054f9a0e5ea1c2293d180a749c70100506382d85",
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"strategyAddress": "0x0fe4f44bee93503346a3ac9ee5a26b130a5796d6",
"multiplier": "1000000000000000000",
"token": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"amount": "300000000000000000",
"startTimestamp": 1720000000,
"duration": 2500000,
"createdAtBlock": 20495824,
"createdAt": "2024-08-10T04:28:47.000Z"
}
],
"curatedMetadata": {
"metadataName": "Example AVS",
"metadataDescription": "This is an example AVS",
"metadataDiscord": "https://discord.com/invite/abcdefghij",
"metadataLogo": "<string>",
"metadataTelegram": "https://t.me/acme",
"metadataWebsite": "https://acme.com",
"metadataX": "https://twitter.com/acme",
"metadataGithub": "https://github.com/acme",
"metadataTokenAddress": "0x2344c0fe02ccd2b32155ca0ffcb1978a6d96a552",
"tags": [
"Example tag 1",
"Example tag 2"
],
"isVisible": false,
"isVerified": false
}
}
],
"rewards": [
{
"avsAddress": "0x870679e138bcdf293b7ff14dd44b70fc97e12fc0",
"maxApy": 0.1,
"strategyApys": [
{
"strategyAddress": "0xbeac0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeac0",
"apy": 0.1,
"tokens": [
{
"tokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"apy": 0.1
}
]
}
]
}
],
"tvl": {
"tvl": 1000000,
"tvlBeaconChain": 1000000,
"tvlWETH": 1000000,
"tvlRestaking": 1000000,
"tvlStrategies": {
"Eigen": 1000000,
"cbETH": 2000000
},
"tvlStrategiesEth": {
"stETH": 1000000,
"cbETH": 2000000
}
}
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#bad_request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#not_found"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#unprocessable_entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#rate_limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://docs.eigenexplorer.com/api-reference/errors#internal_server_error"
}
}Headers
API Token for authentication
Path Parameters
The address of the operator
^0x[a-fA-F0-9]{40}$"0x00107cfdeaddc0a3160ed2f6fedd627f313e7b1a"
Query Parameters
Toggle whether the route should calculate the TVL from shares
true, false "false"
Toggle whether to return additional data for each AVS registration for a given Operator
true, false "false"
Toggle whether the route should return Avs/Operator rewards APY data
true, false "false"
Response
The record of the requested operator.
The contract address of the AVS operator
^0x[a-fA-F0-9]{40}$"0x09e6eb09213bdd3698bd8afb43ec3cb0ecff683a"
The name of the AVS operator
"Example AVS Operator"
The description of the AVS operator
"This is an example AVS operator"
The URL of the AVS operator's Discord server
"https://discord.com/invite/abcdefghij"
The URL of the AVS operator's logo
The URL of the AVS operator's Telegram channel
"https://t.me/acme"
The URL of the AVS operator's website
"https://acme.com"
The URL of the AVS operator's X
"https://twitter.com/acme"
The total number of stakers who have delegated to this AVS operator
10
The total number of AVS opted by the AVS operator
10
The best strategy APY, representing the maximum value when each strategy's APY is summed across all AVSs, as strategies collect APY from multiple AVSs (it stacks). This reflects the highest APY you can get for a strategy after deducting the operator fee
"1.0"
The block number at which the AVS Operator was registered
"19631203"
The block number at which the AVS Operator registration was last updated
"19631203"
The time stamp at which the AVS Operator was registered
"2024-04-11T08:31:11.000Z"
The time stamp at which the AVS Operator registration was last updated
"2024-04-11T08:31:11.000Z"
The strategy shares held in the AVS operator
Show child attributes
Show child attributes
[
{
"strategyAddress": "0x93c4b944d05dfe6df7645a86cd2206016c51564d",
"shares": "135064894598947935263152"
},
{
"strategyAddress": "0x54945180db7943c0ed0fee7edab2bd24620256bc",
"shares": "9323641881708650182301"
}
]
Detailed AVS registrations information for the operator
Show child attributes
Show child attributes
The reward details for the operator, including strategies and APYs
Show child attributes
Show child attributes
The total value locked (TVL) in the AVS operator
Show child attributes
Show child attributes
{
"tvl": 1000000,
"tvlBeaconChain": 1000000,
"tvlWETH": 1000000,
"tvlRestaking": 1000000,
"tvlStrategies": { "Eigen": 1000000, "cbETH": 2000000 },
"tvlStrategiesEth": { "stETH": 1000000, "cbETH": 2000000 }
}