{"id":21888143,"url":"https://github.com/chorusone/ssv-cluster-exporter","last_synced_at":"2026-05-21T05:03:43.748Z","repository":{"id":263834042,"uuid":"861777642","full_name":"ChorusOne/ssv-cluster-exporter","owner":"ChorusOne","description":"SSV Cluster Metrics Exporter","archived":false,"fork":false,"pushed_at":"2024-11-20T14:00:33.000Z","size":166,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-12T03:49:10.021Z","etag":null,"topics":["prometheus-exporter","prometheus-metrics","ssv"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChorusOne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-23T13:53:04.000Z","updated_at":"2024-11-20T14:00:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"afdf6149-1ac8-4bf8-bde2-8c5f1ff7af80","html_url":"https://github.com/ChorusOne/ssv-cluster-exporter","commit_stats":null,"previous_names":["chorusone/ssv-cluster-exporter"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ChorusOne/ssv-cluster-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChorusOne%2Fssv-cluster-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChorusOne%2Fssv-cluster-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChorusOne%2Fssv-cluster-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChorusOne%2Fssv-cluster-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChorusOne","download_url":"https://codeload.github.com/ChorusOne/ssv-cluster-exporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChorusOne%2Fssv-cluster-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33289546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["prometheus-exporter","prometheus-metrics","ssv"],"created_at":"2024-11-28T11:14:21.205Z","updated_at":"2026-05-21T05:03:43.714Z","avatar_url":"https://github.com/ChorusOne.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ssv-cluster-exporter\n====================\n\nPrometheus exporter for SSV cluster metrics.\n\nAvailable metrics\n-----------------\n\n`ssv_cluster_balance` -- current balance of SSV tokens for given cluster\n\nDimensions:\n - `cluster_id` an unique 0x-prefixed hex identifier of the cluster in SSV system\n - `id` integer identifier of the cluster in SSV system\n - `owner` 0x-prefixed 40 letters Ethereum address value\n - `network` one of `mainnet`, `holesky`\n - `state` one of `active`, `inactive`, `liquidated`\n - `operators` comma separated list of cluster operators integer identifiers in SSV system\n\n----------\n\n`ssv_cluster_burn_rate` -- current [burn rate](https://docs.ssv.network/learn/protocol-overview/tokenomics/liquidations#burn-rate) of a cluster in SSV system\n\nDimensions:\n - `cluster_id` an unique 0x-prefixed hex identifier of the cluster in SSV system\n - `id` integer identifier of the cluster in SSV system\n - `owner` 0x-prefixed 40 letters Ethereum address value\n - `network` one of `mainnet`, `holesky`\n - `state` one of `active`, `inactive`, `liquidated`\n - `operators` comma separated list of cluster operators integer identifiers in SSV system\n\n----------\n\n`ssv_cluster_validators_count` -- number of validators loaded into SSV cluster\n\nDimensions:\n - `cluster_id` an unique 0x-prefixed hex identifier of the cluster in SSV system\n - `id` integer identifier of the cluster in SSV system\n - `owner` 0x-prefixed 40 letters Ethereum address value\n - `network` one of `mainnet`, `holesky`\n - `state` one of `active`, `inactive`, `liquidated`\n - `operators` comma separated list of cluster operators integer identifiers in SSV system\n\n----------\n\n`ssv_network_fee` -- current SSV [network fee](https://docs.ssv.network/learn/protocol-overview/tokenomics/fees#k4tw9to38r3v)\n\nDimensions:\n - `network` one of `mainnet`, `holesky`\n\n----------\n\n`ssv_minimum_liquidation_collateral` -- current SSV [minimum liquidation collateral](https://docs.ssv.network/learn/protocol-overview/tokenomics/liquidations#minimum-liquidation-collateral) \n\nDimensions:\n - `network` one of `mainnet`, `holesky`\n\n\n----------\n\n`ssv_liquidation_threshold_period` -- current SSV [liquidation threshold period](https://docs.ssv.network/learn/protocol-overview/tokenomics/liquidations#liquidation-threshold-period)\n\nDimensions:\n - `network` one of `mainnet`, `holesky`\n\n\n\nInstallation\n------------\nThis program uses [Pipenv](https://pipenv.pypa.io/en/latest/) to manage\ndependencies. It have been tested with Python 3.12\n\nTo create dedicated virtual environment and install dependencies, after\ncloning an application, navigate to its root folder and invoke\n\n```bash\npipenv sync\n```\n\nConfiguration\n-------------\nExporter accepts single positional parameter `config_file` which is a location\nof YAML config file. The YAML file accepts following parameters:\n\n- `interval_ms` -- interval in milliseconds of checking SSV API\n- `ethereum_rpc` -- address of Ethereum JSON-RPC endpoint to use for calling contracts\n- `network` -- this should be either `mainnet` or `holesky`\n- `clusters` -- list of clusters, every cluster should have `cluster_id` properties\n- `owners` -- list of owner addresses, every owner should have `address` properties\n\n- `cluster_id` is an unique 0x-prefixed hex identifier of the cluster in SSV system\n- `address` is 0x-prefixed 40 letters Ethereum address value\n\n\nSee [Config example file](./config.example.yml) for full-featured example\n\nRunning\n--------\n\nAfter creating config file, run application like\n\n```bash\npipenv run python3 ssv_cluster_exporter.py \u003c/path/to/config/file\u003e\n```\n\nBy default, metrics will be available via http://127.0.0.1:29339/metrics URL.\n\nTo change host and port for Prometheus metrics server, use following parameters\n\n```\n  -H HOST, --host HOST  Listen on this host.\n  -P PORT, --port PORT  Listen on this port.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchorusone%2Fssv-cluster-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchorusone%2Fssv-cluster-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchorusone%2Fssv-cluster-exporter/lists"}