Tally API Reference

Welcome to Tally's public API docs. These API endpoints make it easy to pull data about Governor contracts, their proposals, and accounts that participate in on-chain DAOs.

Contact

API Support

support@tally.xyz

License

An Apache 2.0 covers these API docs

https://www.apache.org/licenses/LICENSE-2.0.html

API Endpoints
https://api.tally.xyz/query
Headers
# A Tally API token
Api-Key: YOUR_KEY_HERE

Getting started

To get started, you'll need an API key. Create by signing in to Tally and requesting on your user settings page. You'll need to include the API key as an HTTP header with every request.

Graphql Playgound

Once you have an API key, you can test out these endpoints with the Graphql API Playground. Add your API key under the "Request Headers" section, like this {"Api-Key":"YOUR_KEY_HERE"} Note that the playground also includes undocumented endpoints. Using them is not recommended for production apps, because they are subject to change without notice.

Quickstart Example

To see an exmaple app that uses the API, clone this quickstart example. This React app uses the Tally API to list Governors and their Proposals.

Rate limits

Because the API is free, we have a fairly low rate limit to keep costs down. If you're interested in increasing your rate limit, reach out to us at support@tally.xyz.

Queries

accounts

Response

Returns [Account!]!

Arguments
Name Description
ids - [AccountID!]
addresses - [Address!]

Example

Query
query Accounts(
  $ids: [AccountID!],
  $addresses: [Address!]
) {
  accounts(
    ids: $ids,
    addresses: $addresses
  ) {
    id
    address
    ens
    twitter
    name
    bio
    participations {
      account {
        ...AccountFragment
      }
      governor {
        ...GovernorFragment
      }
      votes {
        ...VoteFragment
      }
      proposals {
        ...ProposalFragment
      }
      stats {
        ...ParticipationStatsFragment
      }
      delegationsIn {
        ...DelegationFragment
      }
      delegationOut {
        ...DelegationFragment
      }
      weightChanges {
        ...DelegationWeightChangeFragment
      }
      votingPowerChanges {
        ...VotingPowerChangeFragment
      }
    }
    picture
    activity {
      ... on Proposal {
        ...ProposalFragment
      }
      ... on Vote {
        ...VoteFragment
      }
    }
    safes
    type
    meta {
      name
      ens
      twitter
      bio
      picture
      type
    }
    votes
  }
}
Variables
{
  "ids": [
    "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
  ],
  "addresses": [
    "0x1234567800000000000000000000000000000abc"
  ]
}
Response
{
  "data": {
    "accounts": [
      {
        "id": 4,
        "address": "0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "ens": "tallyxyz.eth",
        "twitter": "@tallyxyz",
        "name": "Tally",
        "bio": "Now accepting delegations!",
        "participations": [Participation],
        "picture": "https://static.tally.xyz/logo.png",
        "activity": [Proposal],
        "safes": [
          "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
        ],
        "type": "EOA",
        "meta": AccountMeta,
        "votes": 10987654321
      }
    ]
  }
}

chains

Response

Returns [Chain]!

Example

Query
query Chains {
  chains {
    id
    layer1Id
    name
    mediumName
    shortName
    blockTime
    isTestnet
    nativeCurrency {
      name
      symbol
      decimals
    }
    chain
    blockExplorerAPI
    blockExplorerURL
    useLayer1VotingPeriod
    gnosisServiceURL
    cowswapSupport
    milkmanContract
    envExplorerArg
    envRPCArg
  }
}
Response
{
  "data": {
    "chains": [
      {
        "id": "eip155:1",
        "layer1Id": "eip155:1",
        "name": "Ethereum Mainnet",
        "mediumName": "Ethereum",
        "shortName": "eth",
        "blockTime": 12,
        "isTestnet": false,
        "nativeCurrency": "ETH",
        "chain": "ETH",
        "blockExplorerAPI": "https://api.etherscan.io/api",
        "blockExplorerURL": "https://etherscan.io/",
        "useLayer1VotingPeriod": false,
        "gnosisServiceURL": "xyz789",
        "cowswapSupport": true,
        "milkmanContract": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "envExplorerArg": "xyz789",
        "envRPCArg": "abc123"
      }
    ]
  }
}

delegates

Description

Returns a paginated list of delegates that match the provided filters.

Response

Returns a PaginatedOutput!

Arguments
Name Description
input - DelegatesInput!

Example

Query
query Delegates($input: DelegatesInput!) {
  delegates(input: $input) {
    nodes {
      ... on Delegate {
        ...DelegateFragment
      }
      ... on OrganizationV2 {
        ...OrganizationV2Fragment
      }
      ... on Member {
        ...MemberFragment
      }
    }
    pageInfo {
      firstCursor
      lastCursor
      count
    }
  }
}
Variables
{"input": DelegatesInput}
Response
{
  "data": {
    "delegates": {
      "nodes": [Delegate],
      "pageInfo": PageInfo
    }
  }
}

governors

Description

Returns a list of governors that match the provided filters. Note: Tally may deactivate governors from time to time. If you wish to include those set includeInactive to true.

Response

Returns [Governor!]!

Arguments
Name Description
chainIds - [ChainID!]
addresses - [Address!] Ethereum 0x governor addresses
ids - [AccountID!] Chain scoped governor addresses
includeInactive - Boolean Tally may deactivate governors from time to time. If you wish to include those set includeInactive to true
pagination - Pagination
sort - GovernorSort
includeUnlinked - Boolean

Example

Query
query Governors(
  $chainIds: [ChainID!],
  $addresses: [Address!],
  $ids: [AccountID!],
  $includeInactive: Boolean,
  $pagination: Pagination,
  $sort: GovernorSort,
  $includeUnlinked: Boolean
) {
  governors(
    chainIds: $chainIds,
    addresses: $addresses,
    ids: $ids,
    includeInactive: $includeInactive,
    pagination: $pagination,
    sort: $sort,
    includeUnlinked: $includeUnlinked
  ) {
    id
    type
    parameters {
      ... on GovernorAlphaParameters {
        ...GovernorAlphaParametersFragment
      }
      ... on GovernorBravoParameters {
        ...GovernorBravoParametersFragment
      }
      ... on OpenZeppelinGovernorParameters {
        ...OpenZeppelinGovernorParametersFragment
      }
      ... on GovernorAaveParameters {
        ...GovernorAaveParametersFragment
      }
      ... on NounsForkGovernorParameters {
        ...NounsForkGovernorParametersFragment
      }
    }
    lastIndexedBlock {
      id
      number
      timestamp
      ts
    }
    proposals {
      id
      title
      description
      start {
        ...BlockFragment
      }
      end {
        ...BlockFragment
      }
      eta
      block {
        ...BlockFragment
      }
      governanceId
      governor {
        ...GovernorFragment
      }
      executable {
        ...ExecutableFragment
      }
      proposer {
        ...AccountFragment
      }
      voteStats {
        ...VoteStatFragment
      }
      statusChanges {
        ...StatusChangeFragment
      }
      createdTransaction {
        ...TransactionFragment
      }
      votes {
        ...VoteFragment
      }
      votingPower
    }
    proposalStats {
      total
      active
      failed
      passed
    }
    delegates {
      account {
        ...AccountFragment
      }
      governor {
        ...GovernorFragment
      }
      votes {
        ...VoteFragment
      }
      proposals {
        ...ProposalFragment
      }
      stats {
        ...ParticipationStatsFragment
      }
      delegationsIn {
        ...DelegationFragment
      }
      delegationOut {
        ...DelegationFragment
      }
      weightChanges {
        ...DelegationWeightChangeFragment
      }
      votingPowerChanges {
        ...VotingPowerChangeFragment
      }
    }
    quorum
    timelockId
    tokens {
      id
      type
      address
      name
      symbol
      supply
      lastBlock
      lastIndexedBlock {
        ...BlockFragment
      }
      decimals
      eligibility {
        ...EligibilityFragment
      }
      stats {
        ...GovernorTokenStatsFragment
      }
      isIndexing
    }
    name
    delegatedVotingPower
    balance
    slug
    organization {
      id
      slug
      name
      website
      description
      visual {
        ...VisualFragment
      }
      socialProfiles {
        ...SocialProfilesFragment
      }
      creator {
        ...AccountFragment
      }
      members {
        ...MemberFragment
      }
      issues {
        ...OrganizationIssueFragment
      }
    }
    organizationV2 {
      id
      slug
      name
      metadata {
        ...OrganizationMetadataFragment
      }
      creator {
        ...AccountFragment
      }
    }
  }
}
Variables
{
  "chainIds": ["eip155:1"],
  "addresses": [
    "0x1234567800000000000000000000000000000abc"
  ],
  "ids": [
    "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
  ],
  "includeInactive": false,
  "pagination": Pagination,
  "sort": GovernorSort,
  "includeUnlinked": true
}
Response
{
  "data": {
    "governors": [
      {
        "id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "type": "GOVERNORALPHA",
        "parameters": GovernorAlphaParameters,
        "lastIndexedBlock": Block,
        "proposals": [Proposal],
        "proposalStats": ProposalStats,
        "delegates": [Participation],
        "quorum": 10987654321,
        "timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "tokens": [Token],
        "name": "Uniswap",
        "delegatedVotingPower": 10987654321,
        "balance": 10987654321,
        "slug": "uniswap",
        "organization": Organization,
        "organizationV2": OrganizationV2
      }
    ]
  }
}

governorsV2

Response

Returns [Governor!]!

Arguments
Name Description
chainIds - [ChainID!]
addresses - [Address!] Ethereum 0x governor addresses
ids - [AccountID!] Chain scoped governor addresses
includeInactive - Boolean Tally may deactivate governors from time to time. If you wish to include those set includeInactive to true
pagination - Pagination
sort - GovernorSort
includeUnlinked - Boolean

Example

Query
query GovernorsV2(
  $chainIds: [ChainID!],
  $addresses: [Address!],
  $ids: [AccountID!],
  $includeInactive: Boolean,
  $pagination: Pagination,
  $sort: GovernorSort,
  $includeUnlinked: Boolean
) {
  governorsV2(
    chainIds: $chainIds,
    addresses: $addresses,
    ids: $ids,
    includeInactive: $includeInactive,
    pagination: $pagination,
    sort: $sort,
    includeUnlinked: $includeUnlinked
  ) {
    id
    type
    parameters {
      ... on GovernorAlphaParameters {
        ...GovernorAlphaParametersFragment
      }
      ... on GovernorBravoParameters {
        ...GovernorBravoParametersFragment
      }
      ... on OpenZeppelinGovernorParameters {
        ...OpenZeppelinGovernorParametersFragment
      }
      ... on GovernorAaveParameters {
        ...GovernorAaveParametersFragment
      }
      ... on NounsForkGovernorParameters {
        ...NounsForkGovernorParametersFragment
      }
    }
    lastIndexedBlock {
      id
      number
      timestamp
      ts
    }
    proposals {
      id
      title
      description
      start {
        ...BlockFragment
      }
      end {
        ...BlockFragment
      }
      eta
      block {
        ...BlockFragment
      }
      governanceId
      governor {
        ...GovernorFragment
      }
      executable {
        ...ExecutableFragment
      }
      proposer {
        ...AccountFragment
      }
      voteStats {
        ...VoteStatFragment
      }
      statusChanges {
        ...StatusChangeFragment
      }
      createdTransaction {
        ...TransactionFragment
      }
      votes {
        ...VoteFragment
      }
      votingPower
    }
    proposalStats {
      total
      active
      failed
      passed
    }
    delegates {
      account {
        ...AccountFragment
      }
      governor {
        ...GovernorFragment
      }
      votes {
        ...VoteFragment
      }
      proposals {
        ...ProposalFragment
      }
      stats {
        ...ParticipationStatsFragment
      }
      delegationsIn {
        ...DelegationFragment
      }
      delegationOut {
        ...DelegationFragment
      }
      weightChanges {
        ...DelegationWeightChangeFragment
      }
      votingPowerChanges {
        ...VotingPowerChangeFragment
      }
    }
    quorum
    timelockId
    tokens {
      id
      type
      address
      name
      symbol
      supply
      lastBlock
      lastIndexedBlock {
        ...BlockFragment
      }
      decimals
      eligibility {
        ...EligibilityFragment
      }
      stats {
        ...GovernorTokenStatsFragment
      }
      isIndexing
    }
    name
    delegatedVotingPower
    balance
    slug
    organization {
      id
      slug
      name
      website
      description
      visual {
        ...VisualFragment
      }
      socialProfiles {
        ...SocialProfilesFragment
      }
      creator {
        ...AccountFragment
      }
      members {
        ...MemberFragment
      }
      issues {
        ...OrganizationIssueFragment
      }
    }
    organizationV2 {
      id
      slug
      name
      metadata {
        ...OrganizationMetadataFragment
      }
      creator {
        ...AccountFragment
      }
    }
  }
}
Variables
{
  "chainIds": ["eip155:1"],
  "addresses": [
    "0x1234567800000000000000000000000000000abc"
  ],
  "ids": [
    "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
  ],
  "includeInactive": false,
  "pagination": Pagination,
  "sort": GovernorSort,
  "includeUnlinked": true
}
Response
{
  "data": {
    "governorsV2": [
      {
        "id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "type": "GOVERNORALPHA",
        "parameters": GovernorAlphaParameters,
        "lastIndexedBlock": Block,
        "proposals": [Proposal],
        "proposalStats": ProposalStats,
        "delegates": [Participation],
        "quorum": 10987654321,
        "timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "tokens": [Token],
        "name": "Uniswap",
        "delegatedVotingPower": 10987654321,
        "balance": 10987654321,
        "slug": "uniswap",
        "organization": Organization,
        "organizationV2": OrganizationV2
      }
    ]
  }
}

proposals

Response

Returns [Proposal!]!

Arguments
Name Description
chainId - ChainID!
proposers - [Address!]
governors - [Address!]
proposalIds - [ID!]
sort - ProposalSort
pagination - Pagination

Example

Query
query Proposals(
  $chainId: ChainID!,
  $proposers: [Address!],
  $governors: [Address!],
  $proposalIds: [ID!],
  $sort: ProposalSort,
  $pagination: Pagination
) {
  proposals(
    chainId: $chainId,
    proposers: $proposers,
    governors: $governors,
    proposalIds: $proposalIds,
    sort: $sort,
    pagination: $pagination
  ) {
    id
    title
    description
    start {
      id
      number
      timestamp
      ts
    }
    end {
      id
      number
      timestamp
      ts
    }
    eta
    block {
      id
      number
      timestamp
      ts
    }
    governanceId
    governor {
      id
      type
      parameters {
        ... on GovernorAlphaParameters {
          ...GovernorAlphaParametersFragment
        }
        ... on GovernorBravoParameters {
          ...GovernorBravoParametersFragment
        }
        ... on OpenZeppelinGovernorParameters {
          ...OpenZeppelinGovernorParametersFragment
        }
        ... on GovernorAaveParameters {
          ...GovernorAaveParametersFragment
        }
        ... on NounsForkGovernorParameters {
          ...NounsForkGovernorParametersFragment
        }
      }
      lastIndexedBlock {
        ...BlockFragment
      }
      proposals {
        ...ProposalFragment
      }
      proposalStats {
        ...ProposalStatsFragment
      }
      delegates {
        ...ParticipationFragment
      }
      quorum
      timelockId
      tokens {
        ...TokenFragment
      }
      name
      delegatedVotingPower
      balance
      slug
      organization {
        ...OrganizationFragment
      }
      organizationV2 {
        ...OrganizationV2Fragment
      }
    }
    executable {
      callDatas
      signatures
      targets
      values
    }
    proposer {
      id
      address
      ens
      twitter
      name
      bio
      participations {
        ...ParticipationFragment
      }
      picture
      activity {
        ... on Proposal {
          ...ProposalFragment
        }
        ... on Vote {
          ...VoteFragment
        }
      }
      safes
      type
      meta {
        ...AccountMetaFragment
      }
      votes
    }
    voteStats {
      support
      weight
      votes
      percent
    }
    statusChanges {
      type
      blockNumber
      blockTimestamp
      block {
        ...BlockFragment
      }
      txHash
      transaction {
        ...TransactionFragment
      }
    }
    createdTransaction {
      id
      block {
        ...BlockFragment
      }
    }
    votes {
      id
      voter {
        ...AccountFragment
      }
      hash
      support
      weight
      transaction {
        ...TransactionFragment
      }
      block {
        ...BlockFragment
      }
      reason
      proposal {
        ...ProposalFragment
      }
    }
    votingPower
  }
}
Variables
{
  "chainId": "eip155:1",
  "proposers": [
    "0x1234567800000000000000000000000000000abc"
  ],
  "governors": [
    "0x1234567800000000000000000000000000000abc"
  ],
  "proposalIds": ["4"],
  "sort": ProposalSort,
  "pagination": Pagination
}
Response
{
  "data": {
    "proposals": [
      {
        "id": 4,
        "title": "Fund the Grants Program",
        "description": "Here's why it's a good idea to fund the Grants Program",
        "start": Block,
        "end": Block,
        "eta": 1675437793,
        "block": Block,
        "governanceId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
        "governor": Governor,
        "executable": Executable,
        "proposer": Account,
        "voteStats": [VoteStat],
        "statusChanges": [StatusChange],
        "createdTransaction": Transaction,
        "votes": [Vote],
        "votingPower": 10987654321
      }
    ]
  }
}

Mutations

createGovernorOrganization

Description

Creates an organization with a governor and token.

Response

Returns an Organization!

Arguments
Name Description
orgArgs - OrganizationArgs!
tokenArgs - TokenArgs!
governanceArgs - GovernanceArgs!

Example

Query
mutation CreateGovernorOrganization(
  $orgArgs: OrganizationArgs!,
  $tokenArgs: TokenArgs!,
  $governanceArgs: GovernanceArgs!
) {
  createGovernorOrganization(
    orgArgs: $orgArgs,
    tokenArgs: $tokenArgs,
    governanceArgs: $governanceArgs
  ) {
    id
    slug
    name
    website
    description
    visual {
      icon
      color
    }
    socialProfiles {
      Discord
      Telegram
      Twitter
      Others {
        ...OtherLinkFragment
      }
    }
    creator {
      id
      address
      ens
      twitter
      name
      bio
      participations {
        ...ParticipationFragment
      }
      picture
      activity {
        ... on Proposal {
          ...ProposalFragment
        }
        ... on Vote {
          ...VoteFragment
        }
      }
      safes
      type
      meta {
        ...AccountMetaFragment
      }
      votes
    }
    members {
      id
      account {
        ...AccountFragment
      }
      organization {
        ...OrganizationFragment
      }
      organizationV2 {
        ...OrganizationV2Fragment
      }
    }
    issues {
      id
      organizationId
      name
      description
    }
  }
}
Variables
{
  "orgArgs": OrganizationArgs,
  "tokenArgs": TokenArgs,
  "governanceArgs": GovernanceArgs
}
Response
{
  "data": {
    "createGovernorOrganization": {
      "id": "4",
      "slug": "xyz789",
      "name": "abc123",
      "website": "abc123",
      "description": "xyz789",
      "visual": Visual,
      "socialProfiles": SocialProfiles,
      "creator": Account,
      "members": [Member],
      "issues": [OrganizationIssue]
    }
  }
}

createGovernorOrganizationV2

Description

Creates an organization with a governor and token.

Response

Returns an OrganizationV2!

Arguments
Name Description
input - CreateGovernorOrganizationInput!

Example

Query
mutation CreateGovernorOrganizationV2($input: CreateGovernorOrganizationInput!) {
  createGovernorOrganizationV2(input: $input) {
    id
    slug
    name
    metadata {
      color
      contact {
        ...ContactFragment
      }
      description
      icon
      socials {
        ...SocialsFragment
      }
    }
    creator {
      id
      address
      ens
      twitter
      name
      bio
      participations {
        ...ParticipationFragment
      }
      picture
      activity {
        ... on Proposal {
          ...ProposalFragment
        }
        ... on Vote {
          ...VoteFragment
        }
      }
      safes
      type
      meta {
        ...AccountMetaFragment
      }
      votes
    }
  }
}
Variables
{"input": CreateGovernorOrganizationInput}
Response
{
  "data": {
    "createGovernorOrganizationV2": {
      "id": 987,
      "slug": "xyz789",
      "name": "abc123",
      "metadata": OrganizationMetadata,
      "creator": Account
    }
  }
}

Types

Account

Description

A Blockchain Account with its associated metadata, participations and activity.

Fields
Field Name Description
id - ID!
address - Address! EVM Address for this Account
ens - String Ethereum Name Service Name
twitter - String Twitter handle
name - String! Account name set on Tally
bio - String! Account bio set on Tally
participations - [Participation!]! Governances where an Account has a token balance or delegations along with Account Participation: votes, proposals, stats, delegations, etc.
Arguments
governanceIds - [AccountID!]
includeInactive - Boolean
pagination - Pagination
picture - String Picture URL
activity - [ActivityItem!] AccountActivity (votes, proposals created, etc). Currently only supports on chain governance.
Arguments
governanceIds - [AccountID!]
pagination - Pagination
safes - [AccountID!]
type - AccountType!
meta - AccountMeta!
votes - Uint256!
Arguments
governorId - AccountID!
Example
{
  "id": "4",
  "address": "0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "ens": "tallyxyz.eth",
  "twitter": "@tallyxyz",
  "name": "Tally",
  "bio": "Now accepting delegations!",
  "participations": [Participation],
  "picture": "https://static.tally.xyz/logo.png",
  "activity": [Proposal],
  "safes": [
    "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
  ],
  "type": "EOA",
  "meta": AccountMeta,
  "votes": 10987654321
}

AccountActivitySort

Fields
Input Field Description
field - AccountActivitySortField
order - SortOrder
Example
{"field": "BLOCK_TIMESTAMP", "order": "ASC"}

AccountActivitySortField

Values
Enum Value Description

BLOCK_TIMESTAMP

Example
"BLOCK_TIMESTAMP"

AccountID

Description

AccountID is a CAIP-10 compliant account id.

Example
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"

AccountMeta

Fields
Field Name Description
name - String Account name set on Tally
ens - String Ethereum Name Service Name
twitter - String Twitter handle
bio - String Account bio set on Tally
picture - String Picture URL
type - AccountType!
Example
{
  "name": "Tally",
  "ens": "tallyxyz.eth",
  "twitter": "@tallyxyz",
  "bio": "Now accepting delegations!",
  "picture": "https://static.tally.xyz/logo.png",
  "type": "EOA"
}

AccountType

Values
Enum Value Description

EOA

SAFE

Example
"EOA"

ActivityItem

Types
Union Types

Proposal

Vote

Example
Proposal

Address

Description

Address is a 20 byte Ethereum address, represented as 0x-prefixed hexadecimal.

Example
"0x1234567800000000000000000000000000000abc"

AssetID

Description

AssetID is a CAIP-19 compliant asset id.

Example
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"

Block

Fields
Field Name Description
id - BlockID!
number - Int!
timestamp - Timestamp!
ts - Timestamp!
Example
{
  "id": BlockID,
  "number": 1553735115537351,
  "timestamp": 1663224162,
  "ts": 1663224162
}

BlockID

Description

BlockID is a ChainID scoped identifier for identifying blocks across chains. Ex: eip155:1:15672.

Example
BlockID

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Bytes

Description

Bytes is an arbitrary length binary string, represented as 0x-prefixed hexadecimal.

Example
"0x4321abcd"

Bytes32

Description

Bytes32 is a 32 byte binary string, represented as 0x-prefixed hexadecimal.

Example
"0x0987abcd00000000000000000000000000000000000000000000000000004321"

Chain

Description

Chain data in the models are only loaded on server startup. If changed please restart the api servers.

Fields
Field Name Description
id - ChainID! The id in eip155:chain_id
layer1Id - ChainID If chain is an L2, the L1 id in format eip155:chain_id
name - String! Chain name as found in eip lists. e.g.: Ethereum Testnet Rinkeby
mediumName - String! Chain name with removed redundancy and unnecessary words. e.g.: Ethereum Rinkeby
shortName - String! Chain short name as found in eip lists. The Acronym of it. e.g.: rin
blockTime - Float! Average block time in seconds.
isTestnet - Boolean! Boolean true if it is a testnet, false if it's not.
nativeCurrency - NativeCurrency! Data from chain native currency.
chain - String! Chain as parameter found in the eip.
blockExplorerAPI - String! API url of the block explorer
blockExplorerURL - String! Url of the block explorer
useLayer1VotingPeriod - Boolean! Boolean true if L2 depends on L1 for voting period, false if it doesn't.
gnosisServiceURL - String gnosisServiceURL of the chain, can be empty or an string
cowswapSupport - Boolean! Boolean true if Cowswap supports the chain, false if it doesn't.
milkmanContract - AccountID Contract address of Milkman (for Cowswap proposals).
envExplorerArg - String Env Explorer Arg, which can be nil, is the env arg name of the key that we will use in the FE
envRPCArg - String Env RPC Arg, which can be nil, is the env arg name of the RPC endpoint that we will use in the FE
Example
{
  "id": "eip155:1",
  "layer1Id": "eip155:1",
  "name": "Ethereum Mainnet",
  "mediumName": "Ethereum",
  "shortName": "eth",
  "blockTime": 12,
  "isTestnet": false,
  "nativeCurrency": "ETH",
  "chain": "ETH",
  "blockExplorerAPI": "https://api.etherscan.io/api",
  "blockExplorerURL": "https://etherscan.io/",
  "useLayer1VotingPeriod": false,
  "gnosisServiceURL": "xyz789",
  "cowswapSupport": false,
  "milkmanContract": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "envExplorerArg": "abc123",
  "envRPCArg": "abc123"
}

ChainID

Description

ChainID is a CAIP-2 compliant chain id.

Example
"eip155:1"

Contact

Fields
Field Name Description
name - String!
email - String!
twitter - String!
discord - String!
Example
{
  "name": "xyz789",
  "email": "xyz789",
  "twitter": "abc123",
  "discord": "xyz789"
}

ContactInput

Fields
Input Field Description
name - String!
email - String!
twitter - String!
discord - String!
Example
{
  "name": "xyz789",
  "email": "xyz789",
  "twitter": "abc123",
  "discord": "xyz789"
}

CreateGovernorOrganizationInput

Fields
Input Field Description
governor - OrganizationGovernorInput!
organization - CreateOrganizationInput!
token - OrganizationTokenInput!
Example
{
  "governor": OrganizationGovernorInput,
  "organization": CreateOrganizationInput,
  "token": OrganizationTokenInput
}

CreateOrganizationInput

Fields
Input Field Description
name - String!
metadata - OrganizationMetadataInput
slug - String
uxVersion - OrgUxVersionV2
Example
{
  "name": "xyz789",
  "metadata": OrganizationMetadataInput,
  "slug": "abc123",
  "uxVersion": "governor"
}

DecodedParameter

Description

A single parameter used in a method.

Fields
Field Name Description
name - String!
type - String!
value - Bytes!
calls - [ExecutableCall!] Decoded calls in the case of a transactions parameter on multisend contract or similar.
Example
{
  "name": "targets",
  "type": "address[]",
  "value": "0x4321abcd",
  "calls": [ExecutableCall]
}

Delegate

Fields
Field Name Description
id - Int!
account - Account!
delegatorsCount - Int!
proposalsCount - Int
tokenId - AssetID!
votesCount - Uint256!
statement - DelegateStatement
Arguments
governanceId - AccountID!
voteChanges - [VotingPowerChange!]!
address - Address use account.Address
participation - Participation! use stats
Example
{
  "id": 123,
  "account": Account,
  "delegatorsCount": 123,
  "proposalsCount": 123,
  "tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
  "votesCount": 10987654321,
  "statement": DelegateStatement,
  "voteChanges": [VotingPowerChange],
  "address": "0x1234567800000000000000000000000000000abc",
  "participation": Participation
}

DelegateFilter

Fields
Input Field Description
field - DelegateFilterField
issueID - String
Example
{
  "field": "SEEKING_DELEGATIONS",
  "issueID": "abc123"
}

DelegateFilterField

Values
Enum Value Description

SEEKING_DELEGATIONS

Example
"SEEKING_DELEGATIONS"

DelegateSort

Fields
Input Field Description
field - DelegateSortField
order - SortOrder
Example
{"field": "CREATED", "order": "ASC"}

DelegateSortField

Values
Enum Value Description

CREATED

UPDATED

TOKENS_OWNED

VOTING_WEIGHT

DELEGATIONS

HAS_ENS

HAS_DELEGATE_STATEMENT

PROPOSALS_CREATED

VOTES_CAST

Example
"CREATED"

DelegateStatement

Fields
Field Name Description
id - ID!
delegateAddress - Address!
organizationID - Int!
delegateStatement - String!
delegateStatementSummary - String
dataSource - DelegateStatementSource!
dataSourceURL - String
discourseUserName - String
discourseProfileLink - String
seekingDelegations - Boolean
issues - [OrganizationIssue!]
Example
{
  "id": 4,
  "delegateAddress": "0x1234567800000000000000000000000000000abc",
  "organizationID": 123,
  "delegateStatement": "abc123",
  "delegateStatementSummary": "abc123",
  "dataSource": "USER",
  "dataSourceURL": "abc123",
  "discourseUserName": "xyz789",
  "discourseProfileLink": "abc123",
  "seekingDelegations": false,
  "issues": [OrganizationIssue]
}

DelegateStatementSource

Values
Enum Value Description

USER

SCRIPT

Example
"USER"

DelegatesFiltersInput

Fields
Input Field Description
governanceId - AccountID!
isSeekingDelegation - Boolean
issueIds - [Int!]
Example
{
  "governanceId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "isSeekingDelegation": false,
  "issueIds": [123]
}

DelegatesInput

Fields
Input Field Description
filters - DelegatesFiltersInput!
page - PageInput
sort - DelegatesSortInput
Example
{
  "filters": DelegatesFiltersInput,
  "page": PageInput,
  "sort": DelegatesSortInput
}

DelegatesSortBy

Values
Enum Value Description

RANDOM

The default sorting method. It sorts by date.

VOTES

Sorts by voting power.

DELEGATORS

Sorts by total delegators.
Example
"RANDOM"

DelegatesSortInput

Fields
Input Field Description
isDescending - Boolean!
sortBy - DelegatesSortBy!
Example
{"isDescending": false, "sortBy": "RANDOM"}

Delegation

Fields
Field Name Description
token - Token! Token contract where this Delegation was created
votingPower - Uint256! Voting Power delegated at time of delegation
delegator - Account! Actor who is delegating their voting power
from - Account! The Account this voting power was delegated to before this Delegation event
to - Account! The Account to whom the voting power is not delegated
block - Block! The Block when the Delegation took place
Example
{
  "token": Token,
  "votingPower": 1000,
  "delegator": Account,
  "from": Account,
  "to": Account,
  "block": Block
}

DelegationWeightChange

Fields
Field Name Description
token - Token!
delegate - Account!
prevBalance - Uint256!
newBalance - Uint256!
netChange - Uint256!
hash - Bytes32
block - Block
timestamp - Timestamp!
Example
{
  "token": Token,
  "delegate": Account,
  "prevBalance": 1000,
  "newBalance": 900,
  "netChange": -100,
  "hash": "0x0987abcd00000000000000000000000000000000000000000000000000004321",
  "block": Block,
  "timestamp": 1663224162
}

DelegationWeightChangeSort

Fields
Input Field Description
field - DelegationWeightChangeSortField
order - SortOrder
Example
{"field": "CREATED", "order": "ASC"}

DelegationWeightChangeSortField

Values
Enum Value Description

CREATED

NEW_BALANCE

OLD_BALANCE

NET_CHANGE

Example
"CREATED"

DelegationWeightStats

Fields
Field Name Description
in - Uint256!
out - Uint256!
Example
{"in": 10987654321, "out": 10987654321}

Eligibility

Fields
Field Name Description
status - EligibilityStatus! Whether the account is eligible to claim
proof - [String!]
amount - Uint256 Amount the account can claim from this token
tx - HashID
Example
{
  "status": "NOTELIGIBLE",
  "proof": ["xyz789"],
  "amount": 10987654321,
  "tx": "eip155:1:0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
}

EligibilityStatus

Values
Enum Value Description

NOTELIGIBLE

ELIGIBLE

CLAIMED

Example
"NOTELIGIBLE"

Executable

Description

Executable payload of a proposal. This is contains four arrays each of which contain an element for each action included.

Fields
Field Name Description
callDatas - [Bytes!]! Call data sent
signatures - [Bytes!]! Method signatures for the target. Only set in Alpha and Bravo style Governors.
targets - [Address!]! Contract targets
values - [Uint256!]! Amount of native asset to be transferred
Example
{
  "callDatas": ["0x4321abcd"],
  "signatures": ["0x4321abcd"],
  "targets": [
    "0x1234567800000000000000000000000000000abc"
  ],
  "values": [10987654321]
}

ExecutableCall

Description

Describes what happens if a given Proposal or GnosisSafeTransaction is executed. A call can have an unlimited amount of nested parameters which can have their own calls in the case of a common initial call to a multisend contract.

Fields
Field Name Description
target - AccountID! AccountID of contract that will be called.
method - String Method to be called on the target smart contract.
data - Bytes Input data that will be sent to the target method. Individual parameters derived from this data are available on the parameters field if decoding succeeds.
value - Uint256 Amount of native asset that will be sent to the target contract & method.
parameters - [DecodedParameter!] DecodedParameters sent to the method on the target contract.
Example
{
  "target": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "method": "transfer(address,uint256)",
  "data": "0xa9059cbb00000000000000000000000091c32893216de3ea0a55abb9851f581d4503d39b0000000000000000000000000000000000000000000000bdbc41e0348b3000000",
  "value": 0,
  "parameters": [DecodedParameter]
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

GovernanceArgs

Fields
Input Field Description
id - AccountID!
type - GovernanceType!
start - Int! The block height at which the Governor contract was originally deployed.
Example
{
  "id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "type": "GOVERNORALPHA",
  "start": 987
}

GovernanceType

Values
Enum Value Description

GOVERNORALPHA

GOVERNORBRAVO

OPENZEPPELINGOVERNOR

AAVE

NOUNSFORK

Example
"GOVERNORALPHA"

Governor

Description

Core type that describes an onchain Governor contract

Fields
Field Name Description
id - AccountID!
type - GovernorType! Governor contract type
parameters - GovernorParameters!
lastIndexedBlock - Block! Last block that Tally has indexed. Sometimes our indexer needs to catch up. Our indexer is usually ~1min behind depending on chain so we don't serve data that might later be reorged.
proposals - [Proposal!]! Proposals created using this Governor contract
Arguments
proposers - [Address!]
proposalIds - [ID!]
sort - ProposalSort
pagination - Pagination
proposalStats - ProposalStats! Counts of total, active, failed, and passed proosals.
delegates - [Participation!]! List of users that can currently create proposals and vote.
Arguments
filter - DelegateFilter
sort - DelegateSort
pagination - Pagination
quorum - Uint256! The minumum amount of votes (total or for depending on type) that are currently required to pass a proposal.
timelockId - AccountID Chain scoped address of the timelock contract for this governor if it exists.
tokens - [Token!]! List of related tokens used to operate this contract. Most governors only have one.
name - String! Tally name of the governor contract
delegatedVotingPower - Uint256! Current voting power of a particular address
Arguments
id - AccountID!
blockNumber - Int
balance - Uint256! Current tokens owned by a particular address
Arguments
id - AccountID!
slug - String! Tally slug used for this goverance: tally.xyz/gov/[slug]
organization - Organization!
organizationV2 - OrganizationV2
Example
{
  "id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "type": "GOVERNORALPHA",
  "parameters": GovernorAlphaParameters,
  "lastIndexedBlock": Block,
  "proposals": [Proposal],
  "proposalStats": ProposalStats,
  "delegates": [Participation],
  "quorum": 10987654321,
  "timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "tokens": [Token],
  "name": "Uniswap",
  "delegatedVotingPower": 10987654321,
  "balance": 10987654321,
  "slug": "uniswap",
  "organization": Organization,
  "organizationV2": OrganizationV2
}

GovernorAaveParameters

Fields
Field Name Description
quorumVotes - Uint256 Amount of votes needed for a proposal to qualify for passing
proposalThreshold - Uint256! Amount of votes needed to create a proposal
votingDelay - Uint256! Amount of blocks before a proposal can be voted on
votingPeriod - Uint256! Amount of blocks a proposal remains active
quorumNumerator - Uint256 If the governor supports fractional quorum the numerator of the quorum fraction
quorumDenominator - Uint256 If the governor supports fractional quorum the denominatior of the quorum fraction
Example
{
  "quorumVotes": 10000,
  "proposalThreshold": 500,
  "votingDelay": 0,
  "votingPeriod": 14400,
  "quorumNumerator": 5,
  "quorumDenominator": 100
}

GovernorAlphaParameters

Fields
Field Name Description
quorumVotes - Uint256 Amount of votes needed for a proposal to qualify for passing
proposalThreshold - Uint256! Amount of votes needed to create a proposal
votingDelay - Uint256! Amount of blocks before a proposal can be voted on
votingPeriod - Uint256! Amount of blocks a proposal remains active
quorumNumerator - Uint256 If the governor supports fractional quorum the numerator of the quorum fraction
quorumDenominator - Uint256 If the governor supports fractional quorum the denominatior of the quorum fraction
Example
{
  "quorumVotes": 10000,
  "proposalThreshold": 500,
  "votingDelay": 0,
  "votingPeriod": 14400,
  "quorumNumerator": 5,
  "quorumDenominator": 100
}

GovernorBravoParameters

Fields
Field Name Description
quorumVotes - Uint256 Amount of votes needed for a proposal to qualify for passing
proposalThreshold - Uint256! Amount of votes needed to create a proposal
votingDelay - Uint256! Amount of blocks before a proposal can be voted on
votingPeriod - Uint256! Amount of blocks a proposal remains active
quorumNumerator - Uint256 If the governor supports fractional quorum the numerator of the quorum fraction
quorumDenominator - Uint256 If the governor supports fractional quorum the denominatior of the quorum fraction
Example
{
  "quorumVotes": 10000,
  "proposalThreshold": 500,
  "votingDelay": 0,
  "votingPeriod": 14400,
  "quorumNumerator": 5,
  "quorumDenominator": 100
}

GovernorParameters

GovernorSort

Fields
Input Field Description
field - GovernorSortField
order - SortOrder
Example
{"field": "TOTAL_PROPOSALS", "order": "ASC"}

GovernorSortField

Values
Enum Value Description

TOTAL_PROPOSALS

ACTIVE_PROPOSALS

Example
"TOTAL_PROPOSALS"

GovernorTokenStats

Description

Current token stats

Fields
Field Name Description
owners - Int! Number of addresses with non-zero balances of this token derived from Transfer events
voters - Int! Number of addresses with non-zero voting power of this token derived from DelegateVotesChanged events
supply - Uint256! Supply derived from Transfer events
delegatedVotingPower - Uint256! Total delegated voting power from DelegateVotesChanged events
Example
{
  "owners": 123,
  "voters": 123,
  "supply": 10987654321,
  "delegatedVotingPower": 10987654321
}

GovernorType

Description

Governor contract type

Values
Enum Value Description

GOVERNORALPHA

GOVERNORBRAVO

OPENZEPPELINGOVERNOR

AAVE

NOUNSFORK

Example
"GOVERNORALPHA"

HashID

Description

HashID is a ChainID scoped identifier for identifying transactions across chains. Ex: eip155:1:0xDEAD.

Example
"eip155:1:0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

Member

Fields
Field Name Description
id - ID!
account - Account!
organization - Organization!
organizationV2 - OrganizationV2!
Example
{
  "id": 4,
  "account": Account,
  "organization": Organization,
  "organizationV2": OrganizationV2
}

MemberSort

Fields
Input Field Description
field - MemberSortField!
order - SortOrder!
Example
{"field": "POLLS_VOTE_COUNT", "order": "ASC"}

MemberSortField

Values
Enum Value Description

POLLS_VOTE_COUNT

Example
"POLLS_VOTE_COUNT"

NativeCurrency

Fields
Field Name Description
name - String! Name of the Currency. e.g.: Ether
symbol - String! Symbol of the Currency. e.g.: ETH
decimals - Int! Decimals of the Currency. e.g.: 18
Example
{
  "name": "xyz789",
  "symbol": "xyz789",
  "decimals": 123
}

Node

Description

Union of all node types that are paginated.

Types
Union Types

Delegate

OrganizationV2

Member

Example
Delegate

NounsForkGovernorParameters

Fields
Field Name Description
quorumVotes - Uint256 Amount of votes needed for a proposal to qualify for passing
proposalThreshold - Uint256! Amount of votes needed to create a proposal
votingDelay - Uint256! Amount of blocks before a proposal can be voted on
votingPeriod - Uint256! Amount of blocks a proposal remains active
Example
{
  "quorumVotes": 10000,
  "proposalThreshold": 500,
  "votingDelay": 0,
  "votingPeriod": 14400
}

OpenZeppelinGovernorParameters

Fields
Field Name Description
quorumVotes - Uint256 Amount of votes needed for a proposal to qualify for passing
proposalThreshold - Uint256! Amount of votes needed to create a proposal
votingDelay - Uint256! Amount of blocks before a proposal can be voted on
votingPeriod - Uint256! Amount of blocks a proposal remains active
quorumNumerator - Uint256 If the governor supports fractional quorum the numerator of the quorum fraction
quorumDenominator - Uint256 If the governor supports fractional quorum the denominatior of the quorum fraction
Example
{
  "quorumVotes": 10000,
  "proposalThreshold": 500,
  "votingDelay": 0,
  "votingPeriod": 14400,
  "quorumNumerator": 5,
  "quorumDenominator": 100
}

OrgUxVersionV2

Values
Enum Value Description

governor

tokenless

Example
"governor"

Organization

Fields
Field Name Description
id - ID!
slug - String!
name - String!
website - String
description - String
visual - Visual!
socialProfiles - SocialProfiles
creator - Account
members - [Member!]! Returns members of the organization, optional roles filter.
Arguments
pagination - Pagination
sort - MemberSort
issues - [OrganizationIssue!]
Example
{
  "id": "4",
  "slug": "abc123",
  "name": "abc123",
  "website": "xyz789",
  "description": "abc123",
  "visual": Visual,
  "socialProfiles": SocialProfiles,
  "creator": Account,
  "members": [Member],
  "issues": [OrganizationIssue]
}

OrganizationArgs

Fields
Input Field Description
name - String!
description - String
Example
{
  "name": "abc123",
  "description": "xyz789"
}

OrganizationGovernorInput

Fields
Input Field Description
id - AccountID!
type - GovernorType!
start - Int! The block height at which the Governor contract was originally deployed.
Example
{
  "id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "type": "GOVERNORALPHA",
  "start": 123
}

OrganizationIssue

Fields
Field Name Description
id - ID
organizationId - Int
name - String
description - String
Example
{
  "id": 4,
  "organizationId": 987,
  "name": "xyz789",
  "description": "abc123"
}

OrganizationMetadata

Fields
Field Name Description
color - String
contact - Contact
description - String
icon - String
socials - Socials
Example
{
  "color": "abc123",
  "contact": Contact,
  "description": "xyz789",
  "icon": "abc123",
  "socials": Socials
}

OrganizationMetadataInput

Fields
Input Field Description
color - String
contact - ContactInput
description - String
icon - String
socials - SocialsInput
Example
{
  "color": "xyz789",
  "contact": ContactInput,
  "description": "xyz789",
  "icon": "abc123",
  "socials": SocialsInput
}

OrganizationTokenInput

Fields
Input Field Description
id - AssetID!
start - Int! The block height at which the Token contract was originally deployed.
Example
{
  "id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
  "start": 123
}

OrganizationV2

Fields
Field Name Description
id - Int!
slug - String!
name - String!
metadata - OrganizationMetadata
creator - Account
Example
{
  "id": 987,
  "slug": "abc123",
  "name": "abc123",
  "metadata": OrganizationMetadata,
  "creator": Account
}

OtherLinkInput

Fields
Input Field Description
label - String!
value - String!
Example
{
  "label": "xyz789",
  "value": "xyz789"
}

PageInfo

Description

Page metadata including pagination cursors and total count

Fields
Field Name Description
firstCursor - String Cursor of the first item in the page
lastCursor - String Cursor of the last item in the page
count - Int Total number of items across all pages. FYI, this is not yet implemented so the value will always be 0
Example
{
  "firstCursor": "xyz789",
  "lastCursor": "abc123",
  "count": 987
}

PageInput

Description

Input to specify cursor based pagination parameters. Depending on which page is being fetched, between afterCursor & beforeCursor, only one's value needs to be provided

Fields
Input Field Description
afterCursor - String Cursor to start pagination after to fetch the next page
beforeCursor - String Cursor to start pagination before to fetch the previous page
limit - Int Maximum number of items per page 20 is the hard limit set on the backend
Example
{
  "afterCursor": "xyz789",
  "beforeCursor": "abc123",
  "limit": 987
}

PaginatedOutput

Description

Wraps a list of nodes and the pagination info

Fields
Field Name Description
nodes - [Node!]! List of nodes for the page
pageInfo - PageInfo! Pagination information
Example
{
  "nodes": [Delegate],
  "pageInfo": PageInfo
}

Pagination

Fields
Input Field Description
limit - Int
offset - Int
Example
{"limit": 20, "offset": 0}

Participation

Description

Convenience type representing the activity a particular Account has in a Governor contract or it's related Token contract.

Fields
Field Name Description
account - Account!
governor - Governor!
votes - [Vote!]! Votes made by the account on the governor
Arguments
sort - VoteSort
pagination - Pagination
proposals - [Proposal!]! Proposals created by this account
Arguments
sort - ProposalSort
pagination - Pagination
stats - ParticipationStats! Aggregations of account activity in this governor
delegationsIn - [Delegation!]! Delegations of voting power made to this account
Arguments
pagination - Pagination
delegationOut - Delegation Delegation of voting power of this account to another account. An account can delegate to itself and often that is required in order for voting power to be counted.
weightChanges - [DelegationWeightChange!]! votingPowerChanges is a better name
Arguments
pagination - Pagination
interval - TimeInterval
earliest - Timestamp
votingPowerChanges - [VotingPowerChange!]! Query voting power changes for this account on this governor. You can request all changes or aggregate over an interval using the interval parameter.
Arguments
pagination - Pagination
interval - TimeInterval
earliest - Timestamp
Example
{
  "account": Account,
  "governor": Governor,
  "votes": [Vote],
  "proposals": [Proposal],
  "stats": ParticipationStats,
  "delegationsIn": [Delegation],
  "delegationOut": Delegation,
  "weightChanges": [DelegationWeightChange],
  "votingPowerChanges": [VotingPowerChange]
}

ParticipationDelegationStats

Fields
Field Name Description
total - Int! Total count of delegations to this Account including self-delegation if present
Example
{"total": 123}

ParticipationProposalStats

Fields
Field Name Description
total - Int! Number of proposals created by this `Account
Example
{"total": 123}

ParticipationRate

Description

Number of votes on the last 10 proposals if there are at least ten made on this contract. If there are not 10 proposals the amount of proposals is provided as recentProposalCount.

Fields
Field Name Description
recentVoteCount - Int! Number of votes on the last 10 proposals on this Governor
recentProposalCount - Int! 10 or the number of proposals on this Governor if less than 10
Example
{"recentVoteCount": 987, "recentProposalCount": 123}

ParticipationStats

Description

Statistics about an Account's participation in a Governor

Fields
Field Name Description
votingPower - ParticipationVotingPowerStats! Current voting power information including total in & out
delegationCount - Int! Current overall number of delegations include those that delegate zero voting power
activeDelegationCount - Int! Current overall number of delegations that delegate non-zero voting power
createdProposalsCount - Int! Number of proposals created by this `Account
voteCount - Int! Number of votes made by this Account
recentParticipationRate - ParticipationRate! Number of votes on the last 10 proposals if there are at least ten made on this contract. If there are not at least 10 proposals the amount of proposals is provided as recentProposalCount.
tokenBalance - Uint256! Current number of tokens owned by this Account
delegations - ParticipationDelegationStats! use delegationCount or activeDelegationCount instead.
Arguments
excludeZeroWeight - Boolean
weight - ParticipationWeightStats! use votingPower instead.
proposals - ParticipationProposalStats! use createdProposalsCount instead.
participationRate - ParticipationRate! use recentParticipationRate instead.
votes - ParticipationVoteStats! use voteCount instead.
Example
{
  "votingPower": ParticipationVotingPowerStats,
  "delegationCount": 987,
  "activeDelegationCount": 123,
  "createdProposalsCount": 987,
  "voteCount": 123,
  "recentParticipationRate": ParticipationRate,
  "tokenBalance": 10987654321,
  "delegations": ParticipationDelegationStats,
  "weight": ParticipationWeightStats,
  "proposals": ParticipationProposalStats,
  "participationRate": ParticipationRate,
  "votes": ParticipationVoteStats
}

ParticipationVoteStats

Fields
Field Name Description
total - Int! Number of votes made by this Account
Example
{"total": 987}

ParticipationVotingPowerStats

Fields
Field Name Description
net - Uint256! Total current voting power for this Account
in - Uint256! Total current voting power delegated to this Account including self-delegation if present
out - Uint256! Total voting power delegated to another Account
Example
{"net": 10987654321, "in": 10987654321, "out": 10987654321}

ParticipationWeightStats

Fields
Field Name Description
total - Uint256! Total current voting power for this Account
owned - Uint256! Current number of tokens owned by this Account
delegations - DelegationWeightStats! Total current voting power delegated in/out of this Account
Example
{
  "total": 10987654321,
  "owned": 10987654321,
  "delegations": DelegationWeightStats
}

Proposal

Description

Core type that describes a proposal created by an onchain Governor contract

Fields
Field Name Description
id - ID! Chain Scoped onchain Proposal ID
title - String! Proposal title: usually first line of description
description - String! Proposal description onchain
start - Block! First block when you can cast a vote, also the time when quorum is established
end - Block! Last block when you can cast a vote
eta - Uint256 Time at which a proposal can be executed
block - Block! Block at proposal creation selector createdTransaction contains the creation block
governanceId - AccountID! Governor contract AccountID selector Governor contains governor contract id
governor - Governor! Governor contract details
executable - Executable! Payload that can be executed after the proposal passes
proposer - Account! Account that created this proposal
voteStats - [VoteStat!] Summary of voting by vote choice
statusChanges - [StatusChange!] List of state transitions for this proposal. The last StatusChange is the current state.
createdTransaction - Transaction! Transaction that created this proposal
votes - [Vote!] List of votes on this proposal
Arguments
voters - [Address!]
sort - VoteSort
pagination - Pagination
votingPower - Uint256! Voting power of a given address on this proposal
Arguments
id - AccountID!
Example
{
  "id": 4,
  "title": "Fund the Grants Program",
  "description": "Here's why it's a good idea to fund the Grants Program",
  "start": Block,
  "end": Block,
  "eta": 1675437793,
  "block": Block,
  "governanceId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
  "governor": Governor,
  "executable": Executable,
  "proposer": Account,
  "voteStats": [VoteStat],
  "statusChanges": [StatusChange],
  "createdTransaction": Transaction,
  "votes": [Vote],
  "votingPower": 10987654321
}

ProposalSort

Fields
Input Field Description
field - ProposalSortField
order - SortOrder
Example
{"field": "START_BLOCK", "order": "ASC"}

ProposalSortField

Values
Enum Value Description

START_BLOCK

END_BLOCK

EXECUTION_ETA

CREATED_AT

Example
"START_BLOCK"

ProposalStats

Fields
Field Name Description
total - Int! Total count of proposals
active - Int! Total count of active proposals
failed - Int! Total count of failed proposals including quorum not reached
passed - Int! Total count of passed proposals
Example
{"total": 987, "active": 987, "failed": 123, "passed": 123}

ProposalStatusType

Values
Enum Value Description

PENDING

Proposal has been created, but voting has not started. An address can still accumulate voting power.

ACTIVE

Voting is in progress.

SUCCEEDED

Proposal has succeeded, it can now be queued or executed.

DEFEATED

Proposal has been defeated. This proposal cannot be queued or excuted. This is a final status.

QUEUED

Proposal has queued into a timelock. This proposal can be excuted.

EXECUTED

Proposal has been executed. This is a final status.

CANCELED

Proposal has been canceled. This is a final status.

EXPIRED

Proposal has expired. This is a final status.
Example
"PENDING"

Role

Values
Enum Value Description

ADMIN

USER

Example
"ADMIN"

SocialProfiles

Fields
Field Name Description
Discord - String
Telegram - String
Twitter - String
Others - [OtherLink]
Example
{
  "Discord": "abc123",
  "Telegram": "abc123",
  "Twitter": "xyz789",
  "Others": [OtherLink]
}

Socials

Fields
Field Name Description
discord - String
telegram - String
twitter - String
website - String
others - [OtherLink]
Example
{
  "discord": "xyz789",
  "telegram": "xyz789",
  "twitter": "xyz789",
  "website": "xyz789",
  "others": [OtherLink]
}

SocialsInput

Fields
Input Field Description
discord - String
telegram - String
twitter - String
website - String
others - [OtherLinkInput]
Example
{
  "discord": "xyz789",
  "telegram": "xyz789",
  "twitter": "abc123",
  "website": "abc123",
  "others": [OtherLinkInput]
}

SortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

StatusChange

Fields
Field Name Description
type - ProposalStatusType! Proposal State
blockNumber - Int! Block Number of this state transition selector block contains the block number
blockTimestamp - Timestamp! Timestamp of this state transition selector block contains the block timestamp
block - Block! Transaction hash of this state transition if applicable. Computed states do not have an associated transaction.
txHash - String
transaction - Transaction
Example
{
  "type": "PENDING",
  "blockNumber": 123,
  "blockTimestamp": 1663224162,
  "block": Block,
  "txHash": "abc123",
  "transaction": Transaction
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

SupportType

Description

Vote Choice

Values
Enum Value Description

ABSTAIN

AGAINST

FOR

Example
"ABSTAIN"

TimeInterval

Values
Enum Value Description

ALL

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

Example
"ALL"

Timestamp

Description

Timestamp is a RFC3339 string.

Example
1663224162

Token

Description

Core type that describes an onchain Token contract

Fields
Field Name Description
id - AssetID!
type - TokenType! Token contract type
address - Address! EVM Address on chain. See id for chain id selector id has more context
name - String! Onchain name
symbol - String! Onchain symbol
supply - Uint256! supply derived from Transfer events
lastBlock - Int! Last block that Tally has indexed. Sometimes our indexer needs to catch up. Our indexer is usually ~1min behind depending on chain so we don't serve data that might later be reorged. new selector lastIndexedBlock has more context
lastIndexedBlock - Block! Last block that Tally has indexed. Sometimes our indexer needs to catch up. Our indexer is usually ~1min behind depending on chain so we don't serve data that might later be reorged.
decimals - Int! Number of decimal places included in Uint256 values
eligibility - Eligibility! Eligibility of an account to claim this token
Arguments
id - AccountID!
stats - GovernorTokenStats! Counts of owners, voters as well as total supply and delegated voting power.
isIndexing - Boolean!
Example
{
  "id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
  "type": "ERC20",
  "address": "0x1234567800000000000000000000000000000abc",
  "name": "abc123",
  "symbol": "abc123",
  "supply": 10987654321,
  "lastBlock": 123,
  "lastIndexedBlock": Block,
  "decimals": 987,
  "eligibility": Eligibility,
  "stats": GovernorTokenStats,
  "isIndexing": true
}

TokenArgs

Fields
Input Field Description
id - AssetID!
start - Int! The block height at which the Token contract was originally deployed.
Example
{
  "id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
  "start": 123
}

TokenType

Values
Enum Value Description

ERC20

ERC721

ERC20AAVE

Example
"ERC20"

Transaction

Fields
Field Name Description
id - HashID!
block - Block!
Example
{
  "id": "eip155:1:0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855",
  "block": Block
}

Uint256

Description

Uint256 is a large unsigned integer represented as a string.

Example
10987654321

Visual

Fields
Field Name Description
icon - String
color - String
Example
{
  "icon": "abc123",
  "color": "xyz789"
}

Vote

Description

Votes cast in a Governor proposal

Fields
Field Name Description
id - ID! Proposal and voter concatenated id.
voter - Account! Voter that cast the vote.
hash - Bytes32! Hash of Transaction in which the vote cast. selector transaction contains the creation transaction hash
support - SupportType! Vote choice made by voter.
weight - Uint256! Weight of the vote. Typically total delegated voting power of voter at proposal voting start block.
transaction - Transaction! Transaction vote was cast in.
block - Block! Block vote was cast in. selector transaction contains the creation block
reason - String Optional reason for vote choice provided by the voter.
proposal - Proposal! Proposal on which vote was cast.
Example
{
  "id": 4,
  "voter": Account,
  "hash": "0x0987abcd00000000000000000000000000000000000000000000000000004321",
  "support": "ABSTAIN",
  "weight": 10987654321,
  "transaction": Transaction,
  "block": Block,
  "reason": "abc123",
  "proposal": Proposal
}

VoteSort

Fields
Input Field Description
field - VoteSortField
order - SortOrder
Example
{"field": "CREATED", "order": "ASC"}

VoteSortField

Values
Enum Value Description

CREATED

WEIGHT

BLOCK

Example
"CREATED"

VoteStat

Description

Voting Summary per Choice

Fields
Field Name Description
support - SupportType! Vote Choice
weight - Uint256! Total weight (voting power) for this Choice/SupportType
votes - Uint256! Number of distinct votes cast for this Choice/SupportType
percent - Float! Percent of total weight cast in this Proposal
Example
{
  "support": "ABSTAIN",
  "weight": 10987654321,
  "votes": 10987654321,
  "percent": 123.45
}

VotingPowerChange

Description

Represents a voting power change over an interval or triggered by an event.

Fields
Field Name Description
token - Token!
delegate - Account! The delegate address whose voting power is changing
prevBalance - Uint256! Voting power prior to this event or interval
newBalance - Uint256! Voting power after this event or interval
netChange - Uint256! Net change in voting power caused by this event
timestamp - Timestamp! Timestamp of event or beginging of the interval this voting power change represents
transaction - Transaction Transaction that triggered this voting change, unset if this is an interval
Example
{
  "token": Token,
  "delegate": Account,
  "prevBalance": 10987654321,
  "newBalance": 10987654321,
  "netChange": 10987654321,
  "timestamp": 1663224162,
  "transaction": Transaction
}

VotingPowerChangeSort

Fields
Input Field Description
field - VotingPowerChangeSortField
order - SortOrder
Example
{"field": "CREATED", "order": "ASC"}

VotingPowerChangeSortField

Values
Enum Value Description

CREATED

NEW_BALANCE

OLD_BALANCE

NET_CHANGE

Example
"CREATED"