Skip to main content

Contract

The contract query retrieves detailed information about a single smart contract, including its token standard (ERC-721/ERC-1155/ERC-20), metadata capabilities, and deployment details. This is essential for verifying contract properties before interacting with its tokens.

Arguments

Required Arguments

ArgumentTypeDescription
idID!The contract address to query.

Example

Basic Contract Verification

query GetContractDetails($id: ID!) {
contract(id: $id) {
id
name
symbol
isERC721
isERC1155
supportsMetadata
createdAt
}
}

Variables

{
"id": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
}

Response

{
"data": {
"contract": {
"id": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"name": "BoredApeYachtClub",
"symbol": "BAYC",
"isERC721": true,
"isERC1155": false,
"supportsMetadata": true,
"createdAt": "2024-10-03T15:23:35Z"
}
}
}

Response Fields

The query returns a Contract object containing:

  • id: The contract address.
  • name/symbol: Verified contract branding.
  • isERC721/isERC1155: Booleans indicating supported standards.
  • supportsMetadata: If true, tokens likely have tokenURI.
  • createdAt: Timestamp of contract creation.

Common Use Cases

  1. Token Standard Verification
    • Check isERC721/isERC1155 before token interactions.
    • Verify supportsMetadata for UI rendering.
  2. Marketplace Listings
    • Display contract name/symbol.
    • Show creation date for collection age.
  3. Developer Tooling
    • Validate contracts before integration.
    • Check for proxy patterns.
  4. Analytics
    • Track contract deployment trends.
    • Monitor metadata adoption rates.

Best Practices

  • Cache Responses: Contract details rarely change.
  • Error Handling: Returns null for invalid addresses.
  • Combination Query: Pair with tokens for full collection data.
  • contracts: For paginated lists of contracts.
  • tokens: To explore a contract's tokens.