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.
Terms of Service
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 |
|
picture - String
|
Picture URL |
activity - [ActivityItem!]
|
AccountActivity (votes, proposals created, etc). Currently only supports on chain governance. |
Arguments |
|
safes - [AccountID!]
|
|
type - AccountType!
|
|
meta - AccountMeta!
|
|
votes - Uint256!
|
|
Arguments
|
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 |
---|---|
|
Example
"BLOCK_TIMESTAMP"
AccountID
Description
AccountID is a CAIP-10 compliant account id.
Example
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
AccountMeta
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 |
---|---|
|
|
|
Example
"EOA"
ActivityItem
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
ContactInput
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
|
|
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 |
---|---|
|
Example
"SEEKING_DELEGATIONS"
DelegateSort
Fields
Input Field | Description |
---|---|
field - DelegateSortField
|
|
order - SortOrder
|
Example
{"field": "CREATED", "order": "ASC"}
DelegateSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
---|---|
|
|
|
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 |
---|---|
|
The default sorting method. It sorts by date. |
|
Sorts by voting power. |
|
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
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 |
---|---|
|
|
|
|
|
|
|
Example
"CREATED"
DelegationWeightStats
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 |
---|---|
|
|
|
|
|
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!]
|
DecodedParameter s 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 |
---|---|
|
|
|
|
|
|
|
|
|
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 |
|
proposalStats - ProposalStats!
|
Counts of total, active, failed, and passed proosals. |
delegates - [Participation!]!
|
List of users that can currently create proposals and vote. |
Arguments |
|
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
|
|
balance - Uint256!
|
Current tokens owned by a particular address |
Arguments
|
|
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
Example
GovernorAlphaParameters
GovernorSort
Fields
Input Field | Description |
---|---|
field - GovernorSortField
|
|
order - SortOrder
|
Example
{"field": "TOTAL_PROPOSALS", "order": "ASC"}
GovernorSortField
Values
Enum Value | Description |
---|---|
|
|
|
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 |
---|---|
|
|
|
|
|
|
|
|
|
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 |
---|---|
|
Example
"POLLS_VOTE_COUNT"
NativeCurrency
Node
Description
Union of all node types that are paginated.
Types
Union Types |
---|
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 |
---|---|
|
|
|
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
|
|
issues - [OrganizationIssue!]
|
Example
{
"id": "4",
"slug": "abc123",
"name": "abc123",
"website": "xyz789",
"description": "abc123",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"members": [Member],
"issues": [OrganizationIssue]
}
OrganizationArgs
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
OrganizationMetadata
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
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
}
OtherLink
OtherLinkInput
PageInfo
Description
Page metadata including pagination cursors and total count
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
Example
{
"afterCursor": "xyz789",
"beforeCursor": "abc123",
"limit": 987
}
PaginatedOutput
Pagination
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
|
|
proposals - [Proposal!]!
|
Proposals created by this account |
Arguments
|
|
stats - ParticipationStats!
|
Aggregations of account activity in this governor |
delegationsIn - [Delegation!]!
|
Delegations of voting power made to this account |
Arguments
|
|
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
|
|
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 |
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
.
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
|
|
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
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 |
|
votingPower - Uint256!
|
Voting power of a given address on this proposal |
Arguments
|
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 |
---|---|
|
|
|
|
|
|
|
Example
"START_BLOCK"
ProposalStats
Example
{"total": 987, "active": 987, "failed": 123, "passed": 123}
ProposalStatusType
Values
Enum Value | Description |
---|---|
|
Proposal has been created, but voting has not started. An address can still accumulate voting power. |
|
Voting is in progress. |
|
Proposal has succeeded, it can now be queued or executed. |
|
Proposal has been defeated. This proposal cannot be queued or excuted. This is a final status. |
|
Proposal has queued into a timelock. This proposal can be excuted. |
|
Proposal has been executed. This is a final status. |
|
Proposal has been canceled. This is a final status. |
|
Proposal has expired. This is a final status. |
Example
"PENDING"
Role
Values
Enum Value | Description |
---|---|
|
|
|
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 |
---|---|
|
|
|
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 |
---|---|
|
|
|
|
|
Example
"ABSTAIN"
TimeInterval
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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
TokenType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"ERC20"
Transaction
Uint256
Description
Uint256 is a large unsigned integer represented as a string.
Example
10987654321
Visual
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 |
---|---|
|
|
|
|
|
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 |
---|---|
|
|
|
|
|
|
|
Example
"CREATED"