API ReferenceToken APIGet Token OwnersGet ERC20 token ownersVersion: 2.2Get ERC20 token ownersGEThttps://deep-index.moralis.io/api/v2.2/erc20/:token_address/ownersIdentify the major holders of an ERC20 token and understand their ownership percentagesKnown IssueWe are aware of an ordering issue impacting all chains other than Ethereum Mainnet. We are working on a fix for these chains which will be launched in the coming weeks.PATH PARAMStoken_addressstringrequiredThe address of the token contractQUERY PARAMSchainstringThe chain to queryeth0x1sepolia0xaa36a7holesky0x4268polygon0x89polygon amoy0x13882bsc0x38bsc testnet0x61avalanche0xa86afantom0xfapalm0x2a15c308dcronos0x19arbitrum0xa4b1gnosis0x64gnosis testnet0x27d8chiliz0x15b38chiliz testnet0x15b32base0x2105base sepolia0x14a34optimism0xalinea0xe708linea sepolia0xe705moonbeam0x504moonriver0x505moonbase0x507flow0x2ebflow-testnet0x221limitnumberThe desired page size of the result.cursorstringThe cursor returned in the previous response (used for getting the next page).orderstringThe order of the result, in ascending (ASC) or descending (DESC)ASCDESCResponses200 Returns a collection of owners of an ERC20 tokenobjectAPI KEYTest Live APINode.jsPythoncURLGoPHPimport Moralis from 'moralis';try { await Moralis.start({ apiKey: "YOUR_API_KEY" }); const response = await Moralis.EvmApi.token.getTokenOwners({ "chain": "0x1", "order": "DESC", "tokenAddress": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0" }); console.log(response.raw);} catch (e) { console.error(e);}from moralis import evm_apiapi_key = "YOUR_API_KEY"params = { "chain": "eth", "order": "DESC", "token_address": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0"}result = evm_api.token.get_token_owners( api_key=api_key, params=params,)print(result)curl --request GET \ --url 'https://deep-index.moralis.io/api/v2.2/erc20/0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0/owners?chain=eth&order=DESC' \ --header 'accept: application/json' \ --header 'X-API-Key: YOUR_API_KEY' package mainimport ( "fmt" "net/http" "io/ioutil")func main() { url := "https://deep-index.moralis.io/api/v2.2/erc20/0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0/owners?chain=eth&order=DESC" req, _ := http.NewRequest("GET", url, payload) req.Header.Add("Accept", "application/json") req.Header.Add("X-API-Key", "YOUR_API_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}<?php// Dependencies to install:// $ composer require guzzlehttp/guzzlerequire_once('vendor/autoload.php');$client = new \GuzzleHttp\Client();$response = $client->request('GET', 'https://deep-index.moralis.io/api/v2.2/erc20/0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0/owners?chain=eth&order=DESC', [ 'headers' => [ 'Accept' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY', ],]);echo $response->getBody();Response Example200 Returns a collection of owners of an ERC20 token{ "page": "2", "page_size": "100", "cursor": "", "result": { "owner_address": "0x244...", "owner_address_label": "Coinbase 1", "balance": "57888888888888888888880", "balance_formatted": "5.78", "usd_value": "57888888888888888888880", "is_contract": "", "percentage_relative_to_total_supply": "" }}