> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-shop-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Tokens en un contrato

## Obtenga todos los tokens únicos en un contrato ERC20/721/1155 específico, incluyendo el suministro total

**Obtiene el suministro de tokens y metadatos para cualquier contrato ERC20, ERC721 o ERC1155.**

Esta consulta es útil para mostrar todos los tokens de un contrato de tokens, o para consultar el suministro total de tokens.
En este ejemplo, usamos la dirección del contrato del token Skyweaver 0x631998e91476DA5B870D741192fc5Cbc55F5a52E
en la red Polygon. Puede consultar cualquier dirección de contrato en cualquiera de las redes soportadas (pero
asegúrese de consultar el indexer de la red correspondiente).

*Método `GetTokenSupplies` de Sequence Indexer:*

* Solicitud: POST /rpc/Indexer/GetTokenSupplies
* Content-Type: application/json
* Cuerpo (en JSON):
  * `contractAddress` (cadena) -- una dirección de contrato ERC20 / ERC721 / ERC1155
  * `includeMetadata` (booleano - opcional - por defecto: false) -- alterna si los metadatos del token se incluyen en la respuesta
  * `metadataOptions` (objeto - opcional) -- opciones adicionales para metadatos
    * `verifiedOnly` (booleano - opcional) -- devuelve solo contratos 'verificados' para ayudar a reducir spam
    * `includeContracts` (\[]string - opcional) -- lista de direcciones de contrato específicas que siempre se incluirán, incluso si verifiedOnly está activado.

**Ejemplo: `GetTokenSupplies` del contrato Skyweaver en Polygon usando un `AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY`**

<CodeGroup>
  ```bash cURL
  curl -X POST -H "Content-Type: application/json" -H "X-Access-Key: AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY" https://polygon-indexer.sequence.app/rpc/Indexer/GetTokenSupplies -d '{ "contractAddress": "0x631998e91476DA5B870D741192fc5Cbc55F5a52E", "includeMetadata": true }'
  ```

  ```ts Typescript
  // Works in both a Webapp (browser) or Node.js:
  import { SequenceIndexer } from '@0xsequence/indexer'

  const indexer = new SequenceIndexer('https://polygon-indexer.sequence.app', 'AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY')

  // here we query the Skyweaver contract address, but you can use any
  const contractAddress = '0x631998e91476DA5B870D741192fc5Cbc55F5a52E'

  // query Sequence Indexer for all token details / supplies
  const tokenDetails = await indexer.getTokenSupplies({
  	contractAddress: contractAddress,
  	includeMetadata: true
  })
  console.log('token details of contract:', tokenDetails)
  ```

  ```go Go
  go
  import (
  	"context"
  	"fmt"
  	"log"
  	"net/http"

  	"github.com/0xsequence/go-sequence/indexer"
  )

  func GetTokenSupplies(contractAddress string) {
  	seqIndexer := indexer.NewIndexer("https://polygon-indexer.sequence.app", "AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY")

  	metadataOptions := indexer.MetadataOptions{
  		VerifiedOnly:     true, // Set to true if you want to fetch only verified contracts
  		UnverifiedOnly:   false,
  		IncludeContracts: nil, // Provide a list of specific contracts to include, if any
  	}

  	_, _, tokenDetails, err := seqIndexer.GetTokenSupplies(context.Background(), contractAddress, nil, &metadataOptions, nil)
  	
  	if err != nil {
  		log.Fatal(err)
  	}

  	fmt.Println("token details:", tokenDetails)
  }
  ```
</CodeGroup>
