11# Elys Asset Registry
2+
23[ ![ Better Stack Badge] ( https://uptime.betterstack.com/status-badges/v1/monitor/1z653.svg )] ( https://uptime.betterstack.com/?utm_source=status_badge )
34
45Official Elys Network asset registry providing standardized blockchain and token configurations for all Elys ecosystem projects. This registry serves as the single source of truth for chain metadata, RPC endpoints, token information, and feature capabilities across the entire Elys ecosystem.
@@ -30,25 +31,25 @@ curl https://registry.elys.network/health
3031
3132### Chain Endpoints
3233
33- | Method | Endpoint | Description | Status |
34- | -------- | ----------| -------------| --------|
35- | ` GET ` | ` /v1/chains/mainnet ` | List all mainnet chains | ✅ Available |
36- | ` GET ` | ` /v1/chains/testnet ` | List all testnet chains | ✅ Available |
37- | ` GET ` | ` /v1/chains/devnet ` | List all devnet chains | ✅ Available |
34+ | Method | Endpoint | Description | Status |
35+ | ------ | -- ------------------ | ----------------------- | ------------ |
36+ | ` GET ` | ` /v1/chains/mainnet ` | List all mainnet chains | ✅ Available |
37+ | ` GET ` | ` /v1/chains/testnet ` | List all testnet chains | ✅ Available |
38+ | ` GET ` | ` /v1/chains/devnet ` | List all devnet chains | ✅ Available |
3839
3940### Currency Endpoints
4041
41- | Method | Endpoint | Description | Status |
42- | -------- | ----------| -------------| --------|
43- | ` GET ` | ` /v1/currencies/mainnet ` | List all currencies across mainnet network | ✅ Available |
44- | ` GET ` | ` /v1/currencies/testnet ` | List all currencies across testnet network | ✅ Available |
45- | ` GET ` | ` /v1/currencies/devnet ` | List all currencies across devnet networks | ✅ Available |
42+ | Method | Endpoint | Description | Status |
43+ | ------ | -- ---------------------- | ------------------------------------------ | ------------ |
44+ | ` GET ` | ` /v1/currencies/mainnet ` | List all currencies across mainnet network | ✅ Available |
45+ | ` GET ` | ` /v1/currencies/testnet ` | List all currencies across testnet network | ✅ Available |
46+ | ` GET ` | ` /v1/currencies/devnet ` | List all currencies across devnet networks | ✅ Available |
4647
4748### Utility Endpoints
4849
49- | Method | Endpoint | Description | Status |
50- | -------- | ----------| -------------| --------|
51- | ` GET ` | ` /health ` | API health status | ✅ Available |
50+ | Method | Endpoint | Description | Status |
51+ | ------ | -- ------- | ----------------- | ------------ |
52+ | ` GET ` | ` /health ` | API health status | ✅ Available |
5253
5354## 📊 Data Structure
5455
@@ -77,7 +78,6 @@ curl https://registry.elys.network/health
7778 "coinIbcDenom" : " " ,
7879 "coinDecimals" : 6 ,
7980 "coinGeckoId" : " elys" ,
80- "coinImageUrl" : " /tokens/elys.svg" ,
8181 "isFeeCurrency" : true ,
8282 "isStakeCurrency" : false ,
8383 "canSwap" : true ,
@@ -102,20 +102,21 @@ curl https://registry.elys.network/health
102102## 🔧 Integration Examples
103103
104104### JavaScript/Node.js
105- ``` javascript
106105
107- const response = await fetch (' https://registry.elys.network/v1/chains/mainnet' );
106+ ``` javascript
107+ const response = await fetch (" https://registry.elys.network/v1/chains/mainnet" );
108108const registry = await response .json ();
109109
110110const elysChain = registry .chains .elys ;
111111console .log (` RPC URL: ${ elysChain .rpcURL } ` );
112112
113113const swappableCurrencies = Object .values (registry .chains )
114- .flatMap (chain => chain .currencies )
115- .filter (currency => currency .canSwap );
114+ .flatMap (( chain ) => chain .currencies )
115+ .filter (( currency ) => currency .canSwap );
116116```
117117
118118### Go
119+
119120``` go
120121package main
121122
@@ -162,6 +163,7 @@ func main() {
162163```
163164
164165### Java
166+
165167``` java
166168import com.fasterxml.jackson.databind.ObjectMapper ;
167169import java.net.http.HttpClient ;
@@ -171,46 +173,47 @@ import java.net.URI;
171173
172174public class ElysRegistryClient {
173175 private static final String REGISTRY_URL = " https://registry.elys.network/v1/chains/mainnet" ;
174-
176+
175177 public static class AssetRegistry {
176178 public Map<String , ChainAsset > chains;
177179 }
178-
180+
179181 public static class ChainAsset {
180182 public String chainId;
181183 public String chainName;
182184 public String rpcURL;
183185 public String restURL;
184186 public List<Currency > currencies;
185187 }
186-
188+
187189 public static class Currency {
188190 public String coinDenom;
189191 public String coinMinimalDenom;
190192 public int coinDecimals;
191193 public boolean canSwap;
192194 public boolean canDeposit;
193195 }
194-
196+
195197 public static void main (String [] args ) throws Exception {
196198 HttpClient client = HttpClient . newHttpClient();
197199 HttpRequest request = HttpRequest . newBuilder()
198200 .uri(URI . create(REGISTRY_URL ))
199201 .build();
200-
201- HttpResponse<String > response = client. send(request,
202+
203+ HttpResponse<String > response = client. send(request,
202204 HttpResponse . BodyHandlers . ofString());
203-
205+
204206 ObjectMapper mapper = new ObjectMapper ();
205207 AssetRegistry registry = mapper. readValue(response. body(), AssetRegistry . class);
206-
208+
207209 ChainAsset elys = registry. chains. get(" elys" );
208210 System . out. println(" Elys RPC: " + elys. rpcURL);
209211 }
210212}
211213```
212214
213215### Python
216+
214217``` python
215218import requests
216219import json
@@ -240,12 +243,12 @@ class AssetRegistry:
240243def load_registry () -> AssetRegistry:
241244 response = requests.get(" https://registry.elys.network/mainnet" )
242245 data = response.json()
243-
246+
244247 chains = {}
245248 for key, chain_data in data[" chains" ].items():
246249 currencies = [Currency(** curr) for curr in chain_data[" currencies" ]]
247250 chains[key] = ChainAsset(** {** chain_data, " currencies" : currencies})
248-
251+
249252 return AssetRegistry(chains = chains)
250253
251254# Uso
@@ -255,6 +258,7 @@ print(f"Elys RPC: {elys_chain.rpcURL}")
255258```
256259
257260### Rust
261+
258262``` rust
259263use serde :: {Deserialize , Serialize };
260264use std :: collections :: HashMap ;
@@ -291,17 +295,18 @@ struct AssetRegistry {
291295 chains : HashMap # API Endpoints y Consumo Multi - Plataforma
292296
293297```
298+
294299## 📁 Repository Structure
295300
296301```
297302elys-asset-registry/
298303├── 📁 data/
299- │ ├── 📁 mainnet/
304+ │ ├── 📁 mainnet/
300305│ ├──── elys.json
301306│ ├──── cosmos.json
302307│ ├── 📁 testnet/
303308│ ├──── elys.json
304- │ ├──── cosmos.json
309+ │ ├──── cosmos.json
305310├── 📁 schema/
306311│ └── asset-registry.schema.json # JSON Schema
307312├── 📁 examples/
@@ -312,7 +317,7 @@ elys-asset-registry/
312317│ └── rust/ # Rust examples
313318├── 📁 .github/
314319│ └── workflows/
315- │ └─ validate-registry.yml CI for validatio
320+ │ └─ validate-registry.yml CI for validatio
316321├──📄 .version
317322└──📄 README.md
318323```
@@ -340,42 +345,42 @@ Each chain asset must include:
340345
341346``` json
342347{
343- "chainId" : " elys-1" ,
344- "chainName" : " Elys" ,
345- "addressPrefix" : " elys" ,
346- "rpcURL" : " https://rpc.elys.network:443" ,
347- "restURL" : " https://api.elys.network:443" ,
348- "explorerURL" : {
349- "transaction" : " https://mainnet.itrocket.net/elys/tx/{transaction}"
350- },
351- "channel" : {
352- "source" : " " ,
353- "destination" : " "
354- },
355- "currencies" : [
356- {
357- "coinDenom" : " ELYS" ,
358- "coinDisplayDenom" : " Elys" ,
359- "coinMinimalDenom" : " uelys" ,
360- "coinIbcDenom" : " " ,
361- "coinDecimals" : 6 ,
362- "coinGeckoId" : " elys" ,
363- "canSwap" : true ,
364- "isFeeCurrency" : true ,
365- "isStakeCurrency" : true ,
366- "canWithdraw" : true ,
367- "canDeposit" : true ,
368- "canUseLiquidityMining" : true ,
369- "canUseLeverageLP" : false ,
370- "canUsePerpetual" : false ,
371- "canUseVaults" : true ,
372- "gasPriceStep" : {
373- "low" : 0.01 ,
374- "average" : 0.025 ,
375- "high" : 0.03
376- }
377- }
378- ]
348+ "chainId" : " elys-1" ,
349+ "chainName" : " Elys" ,
350+ "addressPrefix" : " elys" ,
351+ "rpcURL" : " https://rpc.elys.network:443" ,
352+ "restURL" : " https://api.elys.network:443" ,
353+ "explorerURL" : {
354+ "transaction" : " https://mainnet.itrocket.net/elys/tx/{transaction}"
355+ },
356+ "channel" : {
357+ "source" : " " ,
358+ "destination" : " "
359+ },
360+ "currencies" : [
361+ {
362+ "coinDenom" : " ELYS" ,
363+ "coinDisplayDenom" : " Elys" ,
364+ "coinMinimalDenom" : " uelys" ,
365+ "coinIbcDenom" : " " ,
366+ "coinDecimals" : 6 ,
367+ "coinGeckoId" : " elys" ,
368+ "canSwap" : true ,
369+ "isFeeCurrency" : true ,
370+ "isStakeCurrency" : true ,
371+ "canWithdraw" : true ,
372+ "canDeposit" : true ,
373+ "canUseLiquidityMining" : true ,
374+ "canUseLeverageLP" : false ,
375+ "canUsePerpetual" : false ,
376+ "canUseVaults" : true ,
377+ "gasPriceStep" : {
378+ "low" : 0.01 ,
379+ "average" : 0.025 ,
380+ "high" : 0.03
381+ }
382+ }
383+ ]
379384}
380385```
381386
0 commit comments