Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cd9200d
feat: update Staker Space validator information
ilhanu Nov 6, 2025
97a86bc
add id
ilhanu Nov 6, 2025
433dddf
Merge branch 'monad-developers:main' into main
ilhanu Nov 6, 2025
215aa39
Merge branch 'monad-developers:main' into main
ilhanu Nov 11, 2025
11c4fe3
add staker space validator info
ilhanu Nov 11, 2025
329cbd6
Add new JSON configuration for GO2Pro (#247)
GO2Pro Nov 11, 2025
4a4a1a9
Add CertHum JSON configuration file (#342)
CertHum-Jim Nov 11, 2025
1071699
Add Proof Group Validator Info (#376)
mofhusseini Nov 11, 2025
058901b
Add Cosmostation (#374)
carameleon Nov 11, 2025
c22d775
add pacific meta validator info (#375)
thurendous Nov 11, 2025
c459253
Update validator information for Silk Nodes (#327)
Bosco-2019 Nov 11, 2025
547d111
chore: add undeclared validators (#379)
johnmarcou Nov 11, 2025
58b1102
Edit B-Harvest (#377)
nodebreaker0-0 Nov 11, 2025
703e2a8
Add deNodes validator info for mainnet (#382)
bombermine3 Nov 11, 2025
1941c90
Add Natsai validator info MN (#384)
natsaixyz Nov 11, 2025
c6a2af6
Add Lemniscap mainnet validator info (#383)
meneermads Nov 11, 2025
f9411e1
feat: Adding script to generate validator json lists (#385)
Nov 11, 2025
ae6cf8c
Add Omakase validator information (#XXX) (#372)
liray-unendlich Nov 11, 2025
9819878
Fix example file link in README
keone Nov 12, 2025
4ab6c19
Add Nansen Validator Info (#389)
curlycrypto184 Nov 12, 2025
bab89ee
Add BlockPI validator info (#388)
blockpinetwork Nov 12, 2025
2386f2c
Add Enigma's Mainnet info (#387)
Enigma-Validator Nov 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ To contribute:

1. Fork this repository.
1. Add a new JSON file named `<SECP_KEY>.json`.
1. Ensure the file follows the format shown in the [example file](example/000000000000000000000000000000000000000000000000000000000000000000).
1. Ensure the file follows the format shown in the [example file](example/000000000000000000000000000000000000000000000000000000000000000000.json).
1. Open a pull request (PR) with your changes.
1. Make sure the branch is (re)based on `main` branch.
1. Verify the Github checks are passing.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 19,
"name": "Natsai",
"secp": "02087d6afd5b2ce1a22aa5682dbb0363f2557bf9cde3545fbd374c98fd2c3f3747",
"bls": "acce56596784415836880bb5fddde6674440101470a0462e959c3f9ef134cc7299ade4447021bf6569ab357df027c40f",
"website": "https://www.natsai.xyz/",
"description": "Natsai.xyz manages lean, non-custodial validator operations, ensuring robust and efficient blockchain network security.",
"logo": "https://avatars.githubusercontent.com/u/197120902?v=4",
"x": "https://x.com/natsaiou"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 20,
"name": "Lemniscsap",
"secp": "024a7c8419784da07ce6e5e2441f9a23267e4d6610d805b6e989e3252892c1cb4c",
"bls": "97d798773be5d09dde63b1e9adbc829d6d901c354fca05d62230cb2215d4751b0562873fd7f26dea1b9c838e91158980",
"website": "https://lemniscap.com/",
"description": "Lemniscap is an investment firm specialising in investments in emerging cryptoassets and blockchain startups.",
"logo": "https://static.lemniscap.com/assets/icon.png",
"x": "https://x.com/lemniscap"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 24,
"name": "BlockPI",
"secp": "02b360fd267a2aeea63dc3d1be93a24e9102a975f3ca9d30a30e1184390f7d0a81",
"bls": "ac350a0ca1f26aed4bf3c8fc4840170668eb74ece76d388c1937ee33dd0c6cba305650196009db1bc83747eea9161549",
"website": "https://blockpi.io/",
"description": "Distributed multi-chain acceleration layer.",
"logo": "https://static.blockpi.io/blockpi-logo-mini.png",
"x": "https://x.com/RealBlockPI"
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"id": 4,
"name": "",
"name": "B-Harvest",
"secp": "031c8bc9614e6d2d9c3642a6cfb2c6edbbcee927db4eec4f21c104f84ee886ece0",
"bls": "8e2293ee11161b537de05c7f2f0348e7ddabcbea5a5ffc1c11e5e0432edc0e5a499929173e3f59006ae99a6845405d7d",
"website": "",
"description": "",
"logo": "",
"x": ""
"website": "https://bharvest.io",
"description": "Provides secure validation services for dPoS networks",
"logo": "https://s3.ap-northeast-2.amazonaws.com/bharvest.io/logo/B-Harvest-Logo-x256.png",
"x": "https://x.com/B__Harvest"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 15,
"name": "Staker Space",
"secp": "0322207f068d7a907084ed290182bba46ac716e3ba5cffb4a3c8eebaa25f9c6b9b",
"bls": "af5694e3d9c6fa05f614c9a5458bf696d3ebd833df027ed56e25d527e5e20eadaf5068fad71d2e72590d3e28a872ebc9",
"website": "https://staker.space",
"description": "Where your stake stays yours, we just keep it running",
"logo": "https://staker.space/ss_logo.svg",
"x": "https://x.com/stakerspace"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 16,
"name": "036e44a092493800e427b2b08d3427d804348b1368ecd0a6af6510ae40ce507187",
"secp": "036e44a092493800e427b2b08d3427d804348b1368ecd0a6af6510ae40ce507187",
"bls": "8ce8df797d2f4b5ff7c0a7cb0b26bcca19492490fa2cd4771462a7d6635a557747623a0fdec2cdc91467e35d4e1fe968",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Enigma",
"secp": "038d8e900b0ce8a7f30550a643726bfc09243ea08d4f1094bffd1e948948558fed",
"bls": "95c6cd503348791f7272e294887f2c5535bfc08880f1bf864f574d1178ade18204b51d3013ddfc3c3a35fb73fad73f40",
"website": "https://enigma-validator.com/",
"description": "Highly secure professional validator across 50+ chains - offering a full refund for any downtime slashing - Reach out to us at contact@enigma-validator.com",
"logo": "https://raw.githubusercontent.com/Enigma-Validator/enigma-assets/refs/heads/main/enigma-logo.png",
"x": "https://x.com/enigmavalidator"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 18,
"name": "deNodes",
"secp": "039463793171c9882ccc4f84dc35ee262e6b2485bacbd2c93bee425a70260b1b23",
"bls": "81c830662a1747a01f3cfe353628afc7e6404503bff2e1459c7517b81916bb78cbfb59ec0522952f3da59385593e29f6A",
"website": "https://denodes.io/",
"description": "An institutional-grade staking provider delivering secure operations and superior performance for PoS networks",
"logo": "https://s3.amazonaws.com/keybase_processed_uploads/09c7999790959bbbd85b7007adf70205_360_360.jpg",
"x": "https://x.com/denodes_io"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 23,
"name": "Nansen | Stake to Stack Points",
"secp": "03bdd0a2528c617b554d414c4a0e31c5f228e46dc1a2b806f105fcbe078d1b5b56",
"bls": "a4af34403cf9aab951b76ed0aa8712ee3d5753082e967c9f4c276e9b042fe7261cfb780728f45fb85db43a545a0f5e07",
"website": "https://www.nansen.ai",
"description": "Nansen is a leading on-chain analytics platform founded in 2020, and is now one of the most trusted names in crypto, serving traders and institutions.Disclaimer: delegating comes with slashing risks",
"logo": "https://raw.githubusercontent.com/nansen-ai/staking-brand-assets/main/nansen_logo.svg",
"x": "https://x.com/nansen_ai"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 17,
"name": "Cosmostation",
"secp": "03dd68922e5a4b8da8f999d76c104647ae29a04289d3c1cc85db201e103998cc3e",
"bls": "ab0f630b23806d5ad8d96cf7b4839b7f81db5c77286f42b4ea823a140fc819ce5141301ad42fe0d53335ad950879aa2f",
"website": "https://cosmostation.io/",
"description": "Cosmostation is an institutional-grade cryptocurrency infrastructure provider, managing billions of dollars across 70 protocols. Since 2018, we have served more than 500k users globally, providing products that enable protocols to scale.",
"logo": "https://raw.githubusercontent.com/cosmostation/chainlist/4deea8224437cdff96dc588d1671bd63b3cff1f3/resource/cosmostation/cosmostation_black_bg(256x256).png",
"x": "https://x.com/cosmostationvd"
}
43 changes: 39 additions & 4 deletions scripts/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,52 @@
# Scripts

## validate.py

This `validate.py` is used to verify the information for validators.

## Setup
### Setup

```
```bash
python3 -m venv .venv
source .venv/bin/activate

python -m pip install --upgrade pip
pip install -r requirements.txt
```

## Usage
```
### Usage

```bash
source .venv/bin/activate
./validate.py ../testnet/0209ca34a0469e8bfc88de9e05953bb26cd518401c4382491793f3318c7c25c033.json
```

## generate_validators_json.py

The `generate_validators_json.py` script generates consolidated JSON files containing all validators from the mainnet and testnet directories.

### Usage

```bash
python3 scripts/generate_validators_json.py
```

### Output

The script generates two JSON files in the project root:

- `mainnet_validators.json` - All mainnet validators
- `testnet_validators.json` - All testnet validators

### Format

Each JSON file maps validator SECP keys to their names:

```json
{
"secp_key_1": "Validator Name 1",
"secp_key_2": "Validator Name 2"
}
```

If a validator's `name` field is empty or missing, the SECP key is used as the name value.
63 changes: 63 additions & 0 deletions scripts/generate_validators_json.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/usr/bin/env python3
import json
import os
import glob


def read_validators(directory):
"""Read all validator JSON files from a directory and return dict mapping secp to name."""
validators_dict = {}
json_files = glob.glob(os.path.join(directory, "*.json"))

for json_file in json_files:
try:
with open(json_file, "r") as f:
data = json.load(f)

# Extract fields
name = data.get("name", "").strip()
secp = data.get("secp", "")

# Use secp as fallback if name is empty
if not name:
name = secp

# Map secp key to validator name
validators_dict[secp] = name

except (json.JSONDecodeError, IOError) as e:
print(f"Warning: Failed to read {json_file}: {e}")
continue

return validators_dict


def write_json(validators_dict, output_file):
"""Write validators to JSON file with secp as key and name as value."""
with open(output_file, "w") as f:
json.dump(validators_dict, f, indent=2)

print(f"✅ Generated {output_file} with {len(validators_dict)} validators")


def main():
# Get the project root directory (parent of scripts/)
script_dir = os.path.dirname(os.path.abspath(__file__))
project_root = os.path.dirname(script_dir)

# Process mainnet validators
mainnet_dir = os.path.join(project_root, "mainnet")
mainnet_validators = read_validators(mainnet_dir)
mainnet_json = "mainnet_validators.json"
write_json(mainnet_validators, mainnet_json)

# Process testnet validators
testnet_dir = os.path.join(project_root, "testnet")
testnet_validators = read_validators(testnet_dir)
testnet_json = "testnet_validators.json"
write_json(testnet_validators, testnet_json)


if __name__ == "__main__":
main()

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 199,
"name": "0210ce22e21604e95d9928c8eaa5c70787e789550a37c433a9cc5bacd37a5c6596",
"secp": "0210ce22e21604e95d9928c8eaa5c70787e789550a37c433a9cc5bacd37a5c6596",
"bls": "8bcc75321e5a2defd5b393ed41bb68dad2b03d68895c76af3cf54a39349b2167a39b891dabb3e2e4af6cecb714d57164",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 215,
"name": "Pacific Meta",
"secp": "021ea5834880339fc96383fd49a426643322510792cfc2e89ed73a54efeb6208c5",
"bls": "b0515ecbcf6177d8ef0fc47c275fa0b5c0d55e90fcd15aeb896a7597c8343f0400e0898092dd0e271756d63f7b01d4a6",
"website": "https://pacific-meta.co.jp/",
"description": "Your Premier Web3 Partner in Japan and Asia.",
"logo": "https://pacific-meta-assets-01.s3.ap-northeast-1.amazonaws.com/public/pacificmetalogo.jpg",
"x": "https://x.com/PacificMeta"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 213,
"name": "Proof Group",
"secp": "021ed41e670f1103b504b07a035cf7b17a814214aa31b47d437c002798832d1e02",
"bls": "b7f5bd48541fa3470e152ca88c4004bfd7c88dea7d5ff25c868dc8636a567db1000f2a9a86322c8eef5ebac643ce7e35",
"website": "https://proofgroup.xyz",
"description": "Proof Group is a web3 investment firm that has backed leading projects like Sui, Aptos, Farcaster, Ondo, and many others. Our approach extends beyond just capital investment where we actively support ecosystems on the infrastructure side",
"logo": "https://raw.githubusercontent.com/proofgp/static/refs/heads/main/monad/logo-red.png",
"x": "https://x.com/proofgp"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 179,
"name": "0224bcd7d381f8a5120ce5a93ed1822642b14d85693ba29c4dca84bde398a26f04",
"secp": "0224bcd7d381f8a5120ce5a93ed1822642b14d85693ba29c4dca84bde398a26f04",
"bls": "a9c2b5e2631e456d84d2b9f52213c6f2d22ffe41565398eb947aefa8f09cf398d91ddf59a93f70096c82a97ad4fccdef",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 164,
"name": "024e2b308bb03c44dd6a5b152068b21d599873dca6e32716e8dcd0996d76941c49",
"secp": "024e2b308bb03c44dd6a5b152068b21d599873dca6e32716e8dcd0996d76941c49",
"bls": "b7dcee4afe65fa2d038bdaf0812c0ff4304808146903572a2af9c18ac5f6d1233ceb8e3ce4755ae8734b2ce2e42843de",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 178,
"name": "027eaa37853a918fb3bac4f4cb3580460cd46a46c8ea89318be192b53137b600ab",
"secp": "027eaa37853a918fb3bac4f4cb3580460cd46a46c8ea89318be192b53137b600ab",
"bls": "91fa8660b34e3b5263f9e59e9afe31c24b29355866f4655ec73c12ac227e25ee852a526776f32885559546f688bc5c4f",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 200,
"name": "028c7dd0376ee6fe9ccf971b63dcaf5e806d73852269ba8d89499362d314822c4e",
"secp": "028c7dd0376ee6fe9ccf971b63dcaf5e806d73852269ba8d89499362d314822c4e",
"bls": "8dfe2b3781dd47050f48382e9b9b6cb53fb29511b18ea59c0bf82914e7880e2379cc64a587d142a52aa90395e1b56aab",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 158,
"name": "029979de1d64198bfb74d957de29a289971414699ee96c73ec5b30bb175f9d62a5",
"secp": "029979de1d64198bfb74d957de29a289971414699ee96c73ec5b30bb175f9d62a5",
"bls": "92a047c9c2d79e30ec533fc398ca9a82b844215d018d8d628cf6914833294e1b899620a64eeba26d79b8e668de5bede2",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 203,
"name": "CertHum",
"secp": "02b5b94731e909a339a6a4fbfafc0536f6025f28be8ceb0a6ff55f5938e4d25041",
"bls": "8c39bda0542e2f968dde41b08cf85a7cfd09d5e55c35a069ea82204582dea116983252e0f872c16d9b373d8307465730",
"website": "https://www.certhum.com",
"description": "CertHum is the home of Certified Human digital media and premier blockchain infrastructure.",
"logo": "https://static.wixstatic.com/media/78af9d_6df3502cf68c40dcb459d15edb76de48~mv2.png/v1/fill/w_138,h_138,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/CertHum%20Logo3.png",
"x": "https://x.com/CertHum"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 198,
"name": "02b7d38749f27d659e6311ecec475a40bd7f13339eb309da15c4f12eb46215b71b",
"secp": "02b7d38749f27d659e6311ecec475a40bd7f13339eb309da15c4f12eb46215b71b",
"bls": "94b4508c49f80cde1119df32f6136cbfd794b404496d8906d749bf056629474c622e6386e4daa446a2d92a72bec41649",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 212,
"name": "02b8767f5598e1d1576946825e3766dd651b5cb1ab1e3a47f9c4d30d93cd0f3eb2",
"secp": "02b8767f5598e1d1576946825e3766dd651b5cb1ab1e3a47f9c4d30d93cd0f3eb2",
"bls": "b07eb3305e692b752d972489e798fd97b8c517effeecbdd2263882c537fd141df11319b9fa018c4c8b4e02af225b3caa",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 204,
"name": "02be703c7ed5bd58b66017bee6d456578ed0f308659f9629cb29f1b5f57947174f",
"secp": "02be703c7ed5bd58b66017bee6d456578ed0f308659f9629cb29f1b5f57947174f",
"bls": "a95fa4f4c2ec6e92b15011a79ef5bc8667bd97769c279c95a92cda4da7a8cdd7f4fedd25d2fc4470a1df631ae4efd14a",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 214,
"name": "Omakase",
"secp": "02bf524b39454bda7a7b5a6f469624e4fd19a4c1daa7825239fc7e2e1ead9beb34",
"bls": "b28f3e37cd24641ca527002c02a4ec6fcd42381165459cd1ce5edbd0732785a05a9362f90bf41d2680c9eb9dc617c01e",
"website": "https://0xmakase.co.jp/",
"description": "KudasaiJP/Omakase is a professional staking and validation service. We also contribute to innovative projects via marketing and development support.",
"logo": "https://raw.githubusercontent.com/0xmakase/monad-validator-info/master/config/logo.png",
"x": "https://x.com/0xmakase_jp"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": 196,
"name": "02d0efc009de197c4ac3ffcd8b9261df985b47ca3a9fe3e4bb172eefd019c29c9e",
"secp": "02d0efc009de197c4ac3ffcd8b9261df985b47ca3a9fe3e4bb172eefd019c29c9e",
"bls": "a5635c505e9c064f04ac5d3d58fd4a8c906d074b00fb73d6b213e6e4019ede927820791c9e7563cf8a1d17d70c7656f1",
"website": "",
"description": "",
"logo": "",
"x": ""
}
Loading