- Migrated from Token Resource
- Validator's moniker image
- Add Asset's Info
- Add Erc20 Info
- Add Cw20 Info
- dApp link and description on Mobile Wallet
- Chain base fee
- Add gRPC/EVM Endpoint
- Add your image to
${targetchain}/moniker
folder - Image with png format and validator address name
- Example will display cosmostation validator moniker logo for cosmos
-
Fork this repo to your own github account
-
Clone fork and create new branch
git clone git@github.com:YOUR_ACCOUNT/chainlist.git cd chainlist git branch <branch_name> git checkout <branch_name>
-
Add the info of your token in the chain that your token needs to be displayed
- Common info to fill
denom
- token's denom
type
staking
refers that the token is the native staking token of a chain.native
refers that the token is a native token issued on a chain, but not the staking token.ibc
refers that the token was ibc transferred.pool
refers that the token represents a pool token.bridge
refers that the token is a bridge token.cw20
refers that the token is a cw20 token.erc20
refers thatthe token is an erc20 token.
origin_chain
- The origin chain where this token was issued.
origin_denom
- Original denom of the token.
origin_type
- Original type of the token. [ staking, native, pool, ibc, bridge, cw20, erc20 ]
symbol
- The displayed name of the token in the list.
decimals
- Token's decimals.
image
(optional)- Image route of the token.
- Add image in
${targetchain}/asset
folder.- Make sure to upload a
png
file.
- Make sure to upload a
coinGeckoId
- Coin gecko site's API ID <ex) https://www.coingecko.com/en/coins/cosmos-hub -> API ID: cosmos>
- Empty string if none
- If the type is staking, provide the info below:
description
- A brief summary of the token
- Common info to fill
- If the type is ibc, provide the info below:
enable
(optional)true
if ibc transmission is possible
channel
(optional)port
(optional)- Add the token's channel and port
counter_party
(optional)channel
port
- Add counter party's channel and port
denom
- Token's denom before ibc transfer
path
(optional)- If the token was transferred via ibc, bridge or other path, provide full details of where it was transferred from.
- If the type is bridge, provide the info below:
path
(optional)- If the token was transferred via ibc, bridge or other path, provide full details of where it was transferred from.
contract
(optional)- If the token was transferred via contract, provide the contract address.
-
Native Token
chain/${chain}/assets.json
// example OSMOSIS [ { "denom": "uosmo", "type": "staking", "origin_chain": "osmosis", "origin_denom": "uosmo", "origin_type": "staking", "symbol": "OSMO", "decimals": 6, "description": "Osmosis Staking Coin", "image": "osmosis/asset/osmo.png", "coinGeckoId": "osmosis" }, { "denom": "uion", "type": "native", "origin_chain": "osmosis", "origin_denom": "uion", "origin_type": "native", "symbol": "ION", "decimals": 6, "description": "Native Coin", "image": "osmosis/asset/ion.png", "coinGeckoId": "ion" }, // example KUJIRA { "denom": "factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk", "type": "native", "origin_chain": "kujira", "origin_denom": "factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk", "origin_type": "native", "symbol": "USK", "decimals": 6, "description": "USK Stable Asset", "image": "kujira/asset/usk.png", "coinGeckoId": "usk" }, ]
-
IBC Token
[ // example COSMOS { "denom": "ibc/14F9BC3E44B8A9C1BE1FB08980FAB87034C9905EF17CF2F5008FC085218811CC", "type": "ibc", "origin_chain": "osmosis", "origin_denom": "uosmo", "origin_type": "staking", "symbol": "OSMO", "decimals": 6, "enable": true, "path": "osmosis>cosmos", "channel": "channel-141", "port": "transfer", "counter_party": { "channel": "channel-0", "port": "transfer", "denom": "uosmo" }, "image": "osmosis/asset/osmo.png", // Set image route for base_denom "coinGeckoId": "osmosis" }, // example IRIS { "denom": "ibc/E244B968EE0D1EC047E7516F6ABECE7B68E9FD93B4BD8D08D13642247416BB17", "type": "ibc", "origin_denom": "weth", "origin_type": "erc20", "symbol": "WETH", "origin_chain": "ethereum", "decimals": 18, "enable": true, "path": "ethereum>gravity-bridge>iris", "channel": "channel-29", "port": "transfer", "counter_party": { "channel": "channel-47", "port": "transfer", "denom": "gravity0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, "image": "ethereum/asset/weth.png", // Set image route for base_denom "coinGeckoId": "weth", "contract": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" } ]
-
Bridge Token
[ // example GRAVITY-BRIDGE { "denom": "gravity0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", "type": "bridge", "origin_chain": "ethereum", "origin_denom": "wbtc", "origin_type": "erc20", "symbol": "WBTC", "decimals": 8, "path": "ethereum>gravity-bridge", "image": "ethereum/asset/wbtc.png", "coinGeckoId": "wrapped-bitcoin", "contract": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" }, // example IRIS { "denom": "htltbcbusd", "type": "bridge", "origin_chain": "bnb-beacon-chain", "origin_denom": "busd", "origin_type": "bep2", "symbol": "BUSD", "decimals": 8, "path": "bnb-beacon-chain>iris", "image": "bnb-beacon-chain/asset/busd.png", "coinGeckoId": "binance-usd" }, ]
-
Pool Token
// example COSMOS [ { "denom": "poolDFB8434D5A80B4EAFA94B6878BD5B85265AC6C5D37204AB899B1C3C52543DA7E", "type": "pool", "origin_chain": "cosmos", "origin_denom": "poolDFB8434D5A80B4EAFA94B6878BD5B85265AC6C5D37204AB899B1C3C52543DA7E", "origin_type": "pool", "symbol": "GDEX-1", "decimals": 6, "description": "pool/1", "image": "cosmos/asset/pool.png", // Add pool image in the target chainโs folder "coinGeckoId": "" }, ]
-
Commit and push to your fork
git add -A git commit -m โAdd <YOUR TOKEN NAME>โ git push origin <branch_name>
-
From your repository, make pull request (PR)
Juno Cw20 list supporting
- Fork this repo to your own github account\
- Clone fork and create new branch
git clone git@github.com:YOUR_ACCOUNT/chainlist.git
cd chainlist
git branch <branch_name>
git checkout <branch_name>
- Add the info of your token in the chain that your token needs to be displayed If there is no chain in the list, create a folder for the chain and add info in the folder Then add the name of the folder in: supports.json Changes will be updated within 24 hours after merged to master
chainId
- -1
chainName
- Chain with the token
address
- Token's contract_address
symbol
- Name of token's symbol
description
- A brief summary of the token
decimals
- Decimal of the token
image
- Image route of the token
/${targetChain}/asset
add image in the folder- Make sure to upload a
png
file
default
- default value is
false
- default value is
coinGeckoId
- Coin gecko site's API ID <ex) https://www.coingecko.com/en/coins/cosmos-hub -> API ID: cosmos>
- Empty string if none
-
Cw20 Token
chain/${targetChain}/cw20.json
// example JUNO [ { "chainId": -1, "chainName": "juno", "address": "juno1pqht3pkhr5fpyre2tw3ltrzc0kvxknnsgt04thym9l7n2rmxgw0sgefues", "symbol": "DAO", "description": "DAO DAO", "decimals": 6, "image": "juno/asset/dao.png", "default": false, "coinGeckoId": "" }, { "chainId": -1, "chainName": "juno", "address": "juno168ctmpyppk90d34p3jjy658zf5a5l3w8wk35wht6ccqj4mr0yv8s4j5awr", "symbol": "NETA", "description": "NETA", "decimals": 6, "image": "juno/asset/neta.png", "default": true, "coinGeckoId": "neta" }, ]
- Commit and push to your fork
git add -A git commit -m โAdd <YOUR TOKEN NAME>โ git push origin <branch_name>
- From your repository, make pull request (PR)
Evmos Erc20 list supporting
- Fork this repo to your own github account
- Clone fork and create new branch
git clone git@github.com:YOUR_ACCOUNT/chainlist.git
cd chainlist
git branch <branch_name>
git checkout <branch_name>
- Add the info of your token in the chain that your token needs to be displayed If there is no chain in the list, create a folder for the chain and add info in the folder Then add the name of the folder in: supports.json Changes will be updated within 24 hours after merged to master
chainId
- ChainId of the chain
address
- Token's contract_address
chainName
- Name of the displayed token
symbol
- Name of token's symbol
decimals
- Decimal of the token
image
- Image route of the token
/${targetChain}/asset
add image in the folder- Make sure to upload a
png
file
default
- default value is
false
- default value is
coinGeckoId
(optional)- Coin gecko site's API ID <ex) https://www.coingecko.com/en/coins/cosmos-hub -> API ID: cosmos>
- Empty string if none
-
ERC20 Token
chain/${targetChain}/erc20.json
// example EVMOS [ { "chainId": 9001, "chainName": "evmos", "address": "0xD4949664cD82660AaE99bEdc034a0deA8A0bd517", "symbol": "WEVMOS", "description": "Wrapped Evmos", "decimals": 18, "image": "evmos/asset/wevmos.png", "default": true, "coinGeckoId": "evmos" }, { "chainId": 9001, "chainName": "evmos", "address": "0xb72A7567847abA28A2819B855D7fE679D4f59846", "symbol": "ceUSDT", "description": "Tether USD (Celer)", "decimals": 6, "image": "ethereum/asset/usdt.png", "default": false, "coinGeckoId": "tether" }, ]
- Commit and push to your fork
git add -A git commit -m โAdd <YOUR TOKEN NAME>โ git push origin <branch_name>
- From your repository, make pull request (PR)
Cosmos fee list supporting
chain/${targetChain}/fee.json
Edit rate and make pull request (PR)
{
"base" : "1",
"rate" : [
"0.00025uatom",
"0.0025uatom",
"0.025uatom"
]
}
To add endpoints managed by chainlist,
You must add an endpoint to https://github.com/cosmostation/chainlist/blob/main/chain/{chain}/param.json
{
...,
"grpc_endpoint" : [
{
"provider": "Cosmostation",
"url": "grpc-humans.cosmostation.io:443"
},
{
"provider": "NodeStake",
"url": "grpc.humans.nodestake.top:443"
}
],
"evm_rpc_endpoint" : [
{
"provider": "Cosmostation",
"url": "https://rpc-humans-evm.cosmostation.io"
},
{
"provider": "Posthuman",
"url": "https://evm.humans.posthuman.digital"
}
],
...
}
Before requesting addition, please check whether the endpoint is operating properly using the method below.
- Check gRPC Endpoint
GRPC_URL=<GPRC_ENDPOINT_URL>
#check has grpc endpoints
grpcurl $GRPC_URL list
#check has grpc nodeinfo
grpcurl $GRPC_URL cosmos.base.tendermint.v1beta1.Service.GetNodeInfo
- Check EVM Endpoint
EVM_URL=<EVM_ENDPOINT_URL>
curl --location '$EVM_URL' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_getBlockByNumber",
"params": [
"latest",
false
],
"id": 1
}'
Copyright ยฉ Cosmostation, Inc. All rights reserved. Licensed under the MIT.