# Entities

  • Project
  • ProjectScript
  • ProposedArtistAddressesAndSplit
  • CoreRegistry
  • Contract
  • Whitelisting
  • Account
  • AccountProject
  • Token
  • MinterFilter
  • MinterFilterContractAllowlist
  • Minter
  • ProjectMinterConfiguration
  • Receipt
  • Transfer
  • ProjectExternalAssetDependency
  • Dependency
  • DependencyRegistry
  • DependencyAdditionalCDN
  • DependencyAdditionalRepository
  • DependencyScript

# Project

Description: get various details about a specific project

Field Type Description
id ID! Unique identifier made up of contract address and project id
projectId BigInt! ID of the project on the contract
active Boolean! Determines if the project should be visible to the public
additionalPayee Bytes Address to split primary sales with the artist
additionalPayeePercentage BigInt Percentage of artist's share of primary sales that goes to additional payee
additionalPayeeSecondarySalesAddress Bytes Address to split Secondary sales with the artist
additionalPayeeSecondarySalesPercentage BigInt Percentage of artist's share of secondary sales that goes to additional payee
artist Account! Artist that created the project
artistAddress Bytes! Wallet address of the artist
artistName String Artist name
baseIpfsUri String Uniform Resource Identifier Interplanetary File System (IPFS) of a nonfungible token
baseUri String The base URI is the mutual part among each NFT's URI. By default, the URI is baseURI/tokenId
complete Boolean! A project is complete when it has reached its maximum invocations
completedAt BigInt Timestamp at which a project was completed
curationStatus String Curated, playground, factory. A project with no curation status is considered factory
currencyAddress Bytes ERC-20 contract address if the project is purchasable via ERC-20
currencySymbol String Currency symbol for ERC-20
description String Artist description of the project
dynamic Boolean! Is the project dynamic or a static image
invocations BigInt! Number of times the project has been invoked - number of tokens of the project
ipfsHash String Interplanetary File System function that meets the encrypted demands needed to solve for a blockchain computation
license String License for the project
locked Boolean For V3 and-on, this field is null, and projects lock 4 weeks after completedAt. Once the project is locked its script may never be updated again
maxInvocations BigInt! Maximum number of invocations allowed for the project
name String Project name
paused Boolean! Purchases paused
pricePerTokenInWei BigInt! Wei is the smallest denomination of ether—the cryptocurrency coin used on the Ethereum network. One ether = 1,000,000,000,000,000,000 wei (1018)
royaltyPercentage BigInt Artist/additional payee royalty percentage
script String The full script composed of scripts
scripts Project! Parts of the project script
scriptCount BigInt! The number of scripts stored on-chain
externalAssetDependencyCount BigInt! The number of external asset dependencies stored on-chain
externalAssetDependenciesLocked Boolean! Once the project's external asset dependencies are locked they may never be modified again
scriptJSON String Extra information about the script and rendering options
scriptTypeAndVersion String Script type and version (see scriptJSON if null)
aspectRatio String Aspect ratio of the project (see scriptJSON if null)
tokens Token! Tokens of the project
useHashString Boolean! Does the project actually use the hash string
useIpfs Boolean Does the project use media from ipfs
website String Artist or project website
proposedArtistAddressesAndSplits ProposedArtistAddressesAndSplit Proposed Artist addresses and payment split percentages
owners AccountProject! Accounts that own tokens of the project
createdAt BigInt! When project initiated
updatedAt BigInt! When project updated
activatedAt BigInt WHen project activated
scriptUpdatedAt BigInt when the script was updated
contract Contract! Contract associated to project
minterConfiguration ProjectMinterConfiguration Minter configuration for this project (not implemented prior to minter filters)
saleLookupTables SaleLookupTable! Lookup table to get the Sale history of the project
externalAssetDependencies ProjectExternalAssetDependency! Projects external asset dependencies

# ProjectScript

Description: get specific details of the project script

Field Type Description
id ID! Unique identifier made up of contract address and project id
index BigInt! The dependency index
project Project! Name of project
script String! Script of the project

# ProposedArtistAddressesAndSplit

Description: get specific details on the pay flow for a specified artist

Field Type Description
id ID! Unique identifier made up of contract address and project id
artistAddress Bytes! Proposed artist address
additionalPayeePrimarySalesAddress Bytes! Proposed artist additional payee address for primary sales
additionalPayeePrimarySalesPercentage BigInt! Proposed artist additional payee percentage for primary sales
additionalPayeeSecondarySalesAddress Bytes! Proposed artist additional payee address for secondary sales
additionalPayeeSecondarySalesPercentage BigInt! Proposed artist additional payee percentage for secondary sales
project Project! Project associated with this proposed artist addresses and splits
createdAt BigInt! When address initiated

# CoreRegistry

Description: Get specific details on the Art Blocks Core registry. At this time, this is used for indexing purposes of V3 contracts, as well as acting as an allowlist of core contracts that may mint on a shared minter filter.

Field Type Description
id ID! Unique identifier made up of the Core Registry's contract address. note: for legacy MinterFilters, this is a dummy ID, equal to the address of the single core contract associated with the minter filter
registeredContracts [Contract!] All core contracts that are registered on this CoreRegistry, when this is the most recent Core Registry to add the contract

# Contract

Description: get specific information about contracts

Field Type Description
id ID! Unique identifier made up of contract address
type CoreType! Core contract type
renderProviderAddress Bytes! Address that receives primary sales platform fees
renderProviderPercentage BigInt! Percentage of primary sales allocated to the platform
renderProviderSecondarySalesAddress Bytes Address that receives secondary sales platform royalties (null for pre-V3 contracts, check Royalty Registry)
renderProviderSecondarySalesBPS BigInt Basis points of secondary sales allocated to the platform (null for pre-V3 contracts, check Royalty Registry)
enginePlatformProviderAddress Bytes Address that receives primary sales platform fees, only for V3_Engine contracts
enginePlatformProviderPercentage BigInt Percentage of primary sales allocated to the platform, only for V3_Engine contracts
enginePlatformProviderSecondarySalesAddress Bytes Address that receives secondary sales platform royalties, only for V3_Engine contracts
enginePlatformProviderSecondarySalesBPS BigInt Basis points of secondary sales allocated to the platform, only for V3_Engine contracts
mintWhitelisted [Bytes!]! List of contracts that are allowed to mint
randomizerContract Bytes Randomizer contract used to generate token hashes
curationRegistry Bytes Curation registry contract address
dependencyRegistry Bytes Dependency registry contract address
nextProjectId BigInt! Project ID listed on the contract
projects Project! List of projects on the contract
tokens Token! List of tokens on the contract
whitelisted Whitelisting! Accounts whitelisted on the contract
createdAt BigInt! When contract initiated
updatedAt BigInt! When contract updated
minterFilter MinterFilter Associated minter filter (if applicable)
preferredIPFSGateway String The Engine Flex contract allows you to specify preferred gateways for the currently supported dependency types (IPFS & Arweave)
preferredArweaveGateway String The Engine Flex contract allows you to specify preferred gateways for the currently supported dependency types (IPFS & Arweave)
newProjectsForbidden Boolean! New projects forbidden (can only be true on V3+ contracts)
autoApproveArtistSplitProposals Boolean Automatically approve all artist split proposals (used on V3 Engine contracts)
registeredOn EngineRegistry Latest engine registry that this contract is registered with, if any (used for indexing purposes)

# Whitelisting

Description: get whitelist information

Field Type Description
id ID! Unique identifier whitelist account id
account Account! Account associated to whitelisting
contract Contract! contract associated to whitelisting

# Account

Description: get specific information about an account

Field Type Description
id ID! Unique identifier account id
tokens Token! Tokens the account has
projectsOwned AccountProject! Projects the account owns tokens from
projectsCreated Project! Projects the account is listed as artist for
whitelistedOn Whitelisting! Contracts the account is whitelisted on

# AccountProject

Description: get project account information

Field Type Description
id ID! Unique identifier token id
account Account! Account associated to project
project Project! Name of project
count Int! Total count of the project

# Token

Description: get various token information

Field Type Description
id ID! Unique identifier made up of contract address and token id
tokenId BigInt! ID of the token on the contract
contract Contract! Contract the token is on
invocation BigInt! Invocation number of the project
hash Bytes! Unique string used as input to the tokens project script
owner Account! Current owner of the token
project Project! Project of the token
uri String Specifies the endpoint for retrieving access tokens when OAuth 2.0 authentication is enabled
createdAt BigInt! When token initiated
updatedAt BigInt! When token updated
transactionHash Bytes! Transaction hash of token mint
transfers Transfer! Transfers of the token
saleLookupTables SaleLookupTable! Lookup table to get the Sale history
nextSaleId BigInt! Next available sale id

# MinterFilter

Description: get details about minters on a project

Field Type Description
id ID! Unique identifier made up of minter contract address
minterGlobalAllowlist [Minter!]! Minters allowlisted globally on this MinterFilter
minterFilterContractAllowlists [MinterFilterContractAllowlist!]! Minters allowlisted at a contract-level on this MinterFilter
knownMinters Minter! Known minters that are tied to this MinterFilter, but are not necessarily approved on this MinterFilter
coreRegistry CoreRegistry! Core contract registry used by this MinterFilter. Note: For MinterFilter V0 and V1, a dummy CoreRegistry is used
updatedAt BigInt! When minter updated

# MinterFilterContractAllowlist

Description: Defines a contract-specific allowlist of minters specifically approved on a given shared minter filter. This is used to extend the set of allowlisted minters beyond a shared minter filter's set of globally allowlisted minters.

Field Type Description
id ID! Unique identifier made up of -
minterFilter MinterFilter! MinterFilter contract
contract Contract! Core contract
minterContractAllowlist [Minter!]! Minter contract addresses allowed at the contract level (extending global MinterFilter allowlist)
updatedAt BigInt! When last updated

# Minter

Description: get details about mint on a project

Field Type Description
id ID! Unique identifier made up of minter contract address
type MinterType! Minter type
minterFilter MinterFilter! Associated Minter Filter
isGloballyAllowlistedOnMinterFilter Boolean! Boolean representing if the Minter is globally allowed on its associated minter filter
extraMinterDetails String! Configuration details used by specific minters (json string)
receipts [Receipt!] Receipts for this minter, only for minters with settlement
updatedAt BigInt! When the minter updated

# ProjectMinterConfiguration

Description: get details of a specific mint

Field Type Description
id ID! Unique identifier made up of --
project Project! The associated project
minter Minter! The associated minter
priceIsConfigured Boolean! true if project's token price has been configured on minter
currencySymbol String! currency symbol as defined on minter - ETH reserved for ether
currencyAddress Bytes! currency address as defined on minter - address(0) reserved for ether
purchaseToDisabled Boolean! Defines if purchasing token to another is allowed
basePrice BigInt price of token or resting price of Duch auction, in wei
extraMinterDetails String! Configuration details used by specific minter project configurations (json string)
maxInvocations BigInt Maximum number of invocations allowed for the project (on the minter)

# Receipt

Description: get details about purchases on a minter with settlement

Field Type Description
id ID! Unique identifier made up of ---
project Project! The associated project
minter Minter! The associated minter
account Account! The associated account
netPosted BigInt! The total net amount posted (set to settlement contract) for tokens
numPurchased BigInt! The total quantity of tokens purchased on the project
updatedAt BigInt! Last updated timestamp

# Transfer

Description: transfer info on an NFT

Field Type Description
id ID! Unique identifier of transfer
transactionHash Bytes! transaction hash of transfer
token Token! token address of NFT
createdAt BigInt! when transfer initiated
to Bytes! address transferred to
from Bytes! address transferred from

# ProjectExternalAssetDependency

Description: get info about projects external asset dependency

Field Type Description
id ID! Unique identifier made up of projectId-index
project Project! The associated project
dependencyType ProjectExternalAssetDependencyType! The dependency type
cid String! The dependency cid
index BigInt! The dependency index

# Dependency

Description: information about registered dependency (e.g. p5js@1.0.0)

Field Type Description
id ID! Unique identifier made up of dependency name and version separated by an @ symbol (e.g. p5js@1.0.0)
preferredCDN String! Preferred CDN for this dependency
additionalCDNs [DependencyAdditionalCDN!]! Additional CDNs for this dependency
additionalCDNCount BigInt! Number of additional CDNs for this dependency
preferredRepository String! Preferred repository for this dependency
additionalRepositoryCount BigInt! Additional repositories for this dependency
additionalRepositories [DependencyAdditionalRepository!]! Number of additional repositories for this dependency
scripts [DependencyScript!]! List of on-chain scripts that for this dependency
scriptCount BigInt! Number of on-chain scripts for this dependency
script String Concatenated string of all scripts for this dependency
referenceWebsite String! Reference website for this dependency (e.g. https://p5js.org)
dependencyRegistry DependencyRegistry! Dependency registry contract that this dependency is registered on
updatedAt BigInt! Timestamp of last update

# DependencyRegistry

Description: information about a dependency registry contract

Field Type Description
id Bytes! Unique identifier made up of dependency registry contract address
supportedCoreContracts [Contract!]! Core contracts that this registry can provide dependency overrides for
dependencies [Dependency!] List of dependencies that are registered on this registry contract
owner Bytes! Current owner of this contract
updatedAt BigInt! Timestamp of last update

# DependencyAdditionalCDN

Description: information about an additional CDN for a dependency

Field Type Description
id ID! Unique identifier made up of dependency id and index
dependency Dependency! Dependency this additional CDN belongs to
cdn String! URL of the CDN
index BigInt! Index of this additional CDN

# DependencyAdditionalRepository

Description: information about an additional repository for a dependency

Field Type Description
id ID! Unique identifier made up of dependency id and index
dependency Dependency! Dependency this additional repository belongs to
repository String! URL of the repository
index BigInt! Index of this additional repository

# DependencyScript

Description: information about a script for a dependency

Field Type Description
id ID! Unique identifier made up of dependency id and index
dependency Dependency! Dependency this script belongs to
index BigInt! Index of this script
script String! Contents of script
address Bytes! Address of the bytecode storage contract for this script