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
picture
safes
type
votes
proposalsCreatedCount
}
}
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!",
"picture": "https://static.tally.xyz/logo.png",
"safes": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"type": "EOA",
"votes": 10987654321,
"proposalsCreatedCount": 123
}
]
}
}
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": "abc123",
"envRPCArg": "abc123"
}
]
}
}
delegate
Description
Returns delegate information by an address for an organization or governor.
Response
Returns a Delegate
Arguments
Name | Description |
---|---|
input - DelegateInput!
|
Example
Query
query Delegate($input: DelegateInput!) {
delegate(input: $input) {
id
account {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
chainId
delegatorsCount
governor {
id
chainId
contracts {
...ContractsFragment
}
isIndexing
isBehind
isPrimary
kind
lastIndexedBlock {
...BlockFragment
}
name
organization {
...OrganizationFragment
}
proposalStats {
...ProposalStatsFragment
}
parameters {
...GovernorParametersFragment
}
quorum
slug
timelockId
tokenId
token {
...TokenFragment
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
...GovernorMetadataFragment
}
}
organization {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
statement {
id
address
organizationID
statement
statementSummary
dataSource
dataSourceURL
discourseUsername
discourseProfileLink
isSeekingDelegation
issues {
...IssueFragment
}
}
token {
id
type
name
symbol
supply
lastIndexedBlock {
...BlockFragment
}
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
votesCount
voteChanges {
token {
...TokenFragment
}
delegate {
...AccountFragment
}
prevBalance
newBalance
netChange
timestamp
transaction {
...TransactionFragment
}
}
}
}
Variables
{"input": DelegateInput}
Response
{
"data": {
"delegate": {
"id": 2207450143689540900,
"account": Account,
"chainId": "eip155:1",
"delegatorsCount": 987,
"governor": Governor,
"organization": Organization,
"statement": DelegateStatement,
"token": Token,
"votesCount": 10987654321,
"voteChanges": [VotingPowerChange]
}
}
}
delegatee
Description
Returns a delegatee of a user, to whom this user has delegated, for a governor
Response
Returns a Delegation
Arguments
Name | Description |
---|---|
input - DelegationInput!
|
Example
Query
query Delegatee($input: DelegationInput!) {
delegatee(input: $input) {
id
blockNumber
blockTimestamp
chainId
delegator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
delegate {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
organization {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
token {
id
type
name
symbol
supply
lastIndexedBlock {
...BlockFragment
}
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
votes
}
}
Variables
{"input": DelegationInput}
Response
{
"data": {
"delegatee": {
"id": 2207450143689540900,
"blockNumber": 123,
"blockTimestamp": 1663224162,
"chainId": "eip155:1",
"delegator": Account,
"delegate": Account,
"organization": Organization,
"token": Token,
"votes": 10987654321
}
}
}
delegatees
Description
Returns a paginated list of delegatees of a user, to whom this user has delegated, that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - DelegationsInput!
|
Example
Query
query Delegatees($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegationsInput}
Response
{
"data": {
"delegatees": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
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 Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegatesInput}
Response
{
"data": {
"delegates": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
delegators
Description
Returns a paginated list of delegators of a delegate that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - DelegationsInput!
|
Example
Query
query Delegators($input: DelegationsInput!) {
delegators(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegationsInput}
Response
{
"data": {
"delegators": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
governor
Description
Returns governor by ID or slug.
Response
Returns a Governor!
Arguments
Name | Description |
---|---|
input - GovernorInput!
|
Example
Query
query Governor($input: GovernorInput!) {
governor(input: $input) {
id
chainId
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
isIndexing
isBehind
isPrimary
kind
lastIndexedBlock {
id
number
timestamp
ts
}
name
organization {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
proposalStats {
total
active
failed
passed
}
parameters {
quorumVotes
proposalThreshold
votingDelay
votingPeriod
gracePeriod
quorumNumerator
quorumDenominator
clockMode
nomineeVettingDuration
fullWeightDuration
}
quorum
slug
timelockId
tokenId
token {
id
type
name
symbol
supply
lastIndexedBlock {
...BlockFragment
}
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
description
}
}
}
Variables
{"input": GovernorInput}
Response
{
"data": {
"governor": {
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"chainId": "eip155:1",
"contracts": Contracts,
"isIndexing": false,
"isBehind": true,
"isPrimary": true,
"kind": "single",
"lastIndexedBlock": Block,
"name": "Uniswap",
"organization": Organization,
"proposalStats": ProposalStats,
"parameters": GovernorParameters,
"quorum": 10987654321,
"slug": "uniswap",
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"token": Token,
"type": "governoralpha",
"delegatesCount": 987,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 987,
"metadata": GovernorMetadata
}
}
}
governors
Description
Returns a paginated 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 a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - GovernorsInput!
|
Example
Query
query Governors($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": GovernorsInput}
Response
{
"data": {
"governors": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
organization
Description
Returns organization by ID or slug.
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
input - OrganizationInput!
|
Example
Query
query Organization($input: OrganizationInput!) {
organization(input: $input) {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
color
contact {
...ContactFragment
}
description
icon
socials {
...SocialsFragment
}
karmaName
}
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
}
Variables
{"input": OrganizationInput}
Response
{
"data": {
"organization": {
"id": 2207450143689540900,
"slug": "abc123",
"name": "abc123",
"chainIds": ["eip155:1"],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": false,
"proposalsCount": 123,
"votersCount": 123,
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenHoldersCount": 987,
"tokenOwnersCount": 987
}
}
}
organizations
Description
Returns a paginated list of organizations that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - OrganizationsInput
|
Example
Query
query Organizations($input: OrganizationsInput) {
organizations(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": OrganizationsInput}
Response
{
"data": {
"organizations": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
proposal
Description
Returns a proposal by ID or onchainId + governorId. Also retruns latest draft version by ID.
Response
Returns a Proposal!
Arguments
Name | Description |
---|---|
input - ProposalInput!
|
Example
Query
query Proposal($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
block {
id
number
timestamp
ts
}
chainId
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
createdAt
delegateVotesCount
end {
... on Block {
...BlockFragment
}
... on BlocklessTimestamp {
...BlocklessTimestampFragment
}
}
events {
block {
...BlockFragment
}
chainId
createdAt
type
txHash
}
executableCalls {
calldata
chainId
index
offchaindata {
... on ExecutableCallSwap {
...ExecutableCallSwapFragment
}
... on ExecutableCallRewards {
...ExecutableCallRewardsFragment
}
}
signature
target
type
value
}
governor {
id
chainId
contracts {
...ContractsFragment
}
isIndexing
isBehind
isPrimary
kind
lastIndexedBlock {
...BlockFragment
}
name
organization {
...OrganizationFragment
}
proposalStats {
...ProposalStatsFragment
}
parameters {
...GovernorParametersFragment
}
quorum
slug
timelockId
tokenId
token {
...TokenFragment
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
...GovernorMetadataFragment
}
}
l1ChainId
metadata {
title
description
eta
ipfsHash
previousEnd
timelockId
txHash
discourseURL
snapshotURL
}
originalId
organization {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
participationType
proposer {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
quorum
status
start {
... on Block {
...BlockFragment
}
... on BlocklessTimestamp {
...BlocklessTimestampFragment
}
}
voteStats {
type
votesCount
votersCount
percent
}
}
}
Variables
{"input": ProposalInput}
Response
{
"data": {
"proposal": {
"id": 2207450143689540900,
"onchainId": "abc123",
"block": Block,
"chainId": "eip155:1",
"creator": Account,
"createdAt": 1663224162,
"delegateVotesCount": 10987654321,
"end": Block,
"events": [ProposalEvent],
"executableCalls": [ExecutableCall],
"governor": Governor,
"l1ChainId": "eip155:1",
"metadata": ProposalMetadata,
"originalId": 2207450143689540900,
"organization": Organization,
"participationType": "votedfor",
"proposer": Account,
"quorum": 10987654321,
"status": "active",
"start": Block,
"voteStats": [VoteStats]
}
}
}
proposals
Description
Returns a paginated list of proposals that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - ProposalsInput!
|
Example
Query
query Proposals($input: ProposalsInput!) {
proposals(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": ProposalsInput}
Response
{
"data": {
"proposals": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
token
Response
Returns a Token!
Arguments
Name | Description |
---|---|
input - TokenInput!
|
Example
Query
query Token($input: TokenInput!) {
token(input: $input) {
id
type
name
symbol
supply
lastIndexedBlock {
id
number
timestamp
ts
}
decimals
eligibility {
status
proof
amount
tx
}
isIndexing
isBehind
}
}
Variables
{"input": TokenInput}
Response
{
"data": {
"token": {
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"type": "ERC20",
"name": "abc123",
"symbol": "abc123",
"supply": 10987654321,
"lastIndexedBlock": Block,
"decimals": 123,
"eligibility": Eligibility,
"isIndexing": true,
"isBehind": true
}
}
}
tokenBalances
Description
Returns all token balances of an address for a governor or organization or token
Response
Returns [TokenBalance!]!
Arguments
Name | Description |
---|---|
input - TokenBalancesInput!
|
Example
Query
query TokenBalances($input: TokenBalancesInput!) {
tokenBalances(input: $input) {
token {
id
type
name
symbol
supply
lastIndexedBlock {
...BlockFragment
}
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
balance
}
}
Variables
{"input": TokenBalancesInput}
Response
{
"data": {
"tokenBalances": [
{"token": Token, "balance": 10987654321}
]
}
}
votes
Description
Returns a paginated list of votes that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name | Description |
---|---|
input - VotesInput!
|
Example
Query
query Votes($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": VotesInput}
Response
{
"data": {
"votes": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Mutations
createGovernors
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
input - CreateGovernorsInput!
|
Example
Query
mutation CreateGovernors($input: CreateGovernorsInput!) {
createGovernors(input: $input) {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
color
contact {
...ContactFragment
}
description
icon
socials {
...SocialsFragment
}
karmaName
}
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
}
Variables
{"input": CreateGovernorsInput}
Response
{
"data": {
"createGovernors": {
"id": 2207450143689540900,
"slug": "xyz789",
"name": "xyz789",
"chainIds": ["eip155:1"],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": true,
"proposalsCount": 123,
"votersCount": 987,
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenHoldersCount": 987,
"tokenOwnersCount": 123
}
}
}
createOrganization
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
input - CreateOrganizationInput!
|
Example
Query
mutation CreateOrganization($input: CreateOrganizationInput!) {
createOrganization(input: $input) {
id
slug
name
chainIds
governorIds
tokenIds
metadata {
color
contact {
...ContactFragment
}
description
icon
socials {
...SocialsFragment
}
karmaName
}
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
hasActiveProposals
proposalsCount
votersCount
delegatesCount
delegatesVotesCount
tokenHoldersCount
tokenOwnersCount
}
}
Variables
{"input": CreateOrganizationInput}
Response
{
"data": {
"createOrganization": {
"id": 2207450143689540900,
"slug": "xyz789",
"name": "abc123",
"chainIds": ["eip155:1"],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": false,
"proposalsCount": 123,
"votersCount": 123,
"delegatesCount": 987,
"delegatesVotesCount": 10987654321,
"tokenHoldersCount": 123,
"tokenOwnersCount": 987
}
}
}
Types
Account
Fields
Field Name | Description |
---|---|
id - ID!
|
|
address - Address!
|
|
ens - String
|
|
twitter - String
|
|
name - String!
|
|
bio - String!
|
|
picture - String
|
|
safes - [AccountID!]
|
|
type - AccountType!
|
|
votes - Uint256!
|
|
Arguments
|
|
proposalsCreatedCount - Int!
|
|
Arguments
|
Example
{
"id": "4",
"address": "0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"ens": "tallyxyz.eth",
"twitter": "@tallyxyz",
"name": "Tally",
"bio": "Now accepting delegations!",
"picture": "https://static.tally.xyz/logo.png",
"safes": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"type": "EOA",
"votes": 10987654321,
"proposalsCreatedCount": 123
}
AccountID
Description
AccountID is a CAIP-10 compliant account id.
Example
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
AccountType
Values
Enum Value | Description |
---|---|
|
|
|
Example
"EOA"
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
BlockOrTimestamp
Types
Union Types |
---|
Example
Block
BlocklessTimestamp
Fields
Field Name | Description |
---|---|
timestamp - Timestamp!
|
Example
{"timestamp": 1663224162}
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"
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": true,
"gnosisServiceURL": "xyz789",
"cowswapSupport": false,
"milkmanContract": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"envExplorerArg": "xyz789",
"envRPCArg": "xyz789"
}
ChainID
Description
ChainID is a CAIP-2 compliant chain id.
Example
"eip155:1"
Contact
ContactInput
Contracts
Fields
Field Name | Description |
---|---|
governor - GovernorContract!
|
|
tokens - [TokenContract!]!
|
Example
{
"governor": GovernorContract,
"tokens": [TokenContract]
}
CovalentData
CreateGovernorInput
Fields
Input Field | Description |
---|---|
id - AccountID!
|
|
name - String
|
|
slug - String
|
|
startBlock - Int!
|
The block height at which the Governor contract was originally deployed. |
type - GovernorType!
|
|
kind - GovernorKind
|
|
tokenId - AssetID!
|
|
metadata - GovernorMetadataInput
|
Example
{
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"name": "abc123",
"slug": "abc123",
"startBlock": 123,
"type": "governoralpha",
"kind": "single",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"metadata": GovernorMetadataInput
}
CreateGovernorsInput
Fields
Input Field | Description |
---|---|
governors - [CreateGovernorInput!]!
|
|
organizationId - IntID
|
Organization id is required when creating governors for an existing DAO |
organization - CreateOrganizationInput
|
Organization is required when creating a new DAO with govenors and tokens |
tokens - [CreateTokenInput!]
|
Tokens are required when creating a new DAO with govenors and tokens or when tokens for govenrors have not been created yet |
Example
{
"governors": [CreateGovernorInput],
"organizationId": 2207450143689540900,
"organization": CreateOrganizationInput,
"tokens": [CreateTokenInput]
}
CreateOrganizationInput
Fields
Input Field | Description |
---|---|
name - String!
|
|
metadata - OrganizationMetadataInput
|
|
uxVersion - OrgUxVersion
|
Example
{
"name": "xyz789",
"metadata": OrganizationMetadataInput,
"uxVersion": "governor"
}
CreateTokenInput
DataDecoded
Fields
Field Name | Description |
---|---|
method - String!
|
|
parameters - [Parameter!]!
|
Example
{
"method": "xyz789",
"parameters": [Parameter]
}
Delegate
Fields
Field Name | Description |
---|---|
id - IntID!
|
|
account - Account!
|
|
chainId - ChainID
|
|
delegatorsCount - Int!
|
|
governor - Governor
|
|
organization - Organization
|
|
statement - DelegateStatement
|
|
token - Token
|
|
votesCount - Uint256!
|
|
Arguments
|
|
voteChanges - [VotingPowerChange!]!
|
Example
{
"id": 2207450143689540900,
"account": Account,
"chainId": "eip155:1",
"delegatorsCount": 987,
"governor": Governor,
"organization": Organization,
"statement": DelegateStatement,
"token": Token,
"votesCount": 10987654321,
"voteChanges": [VotingPowerChange]
}
DelegateInput
DelegateStatement
Example
{
"id": 2207450143689540900,
"address": "0x1234567800000000000000000000000000000abc",
"organizationID": 2207450143689540900,
"statement": "abc123",
"statementSummary": "xyz789",
"dataSource": "user",
"dataSourceURL": "xyz789",
"discourseUsername": "xyz789",
"discourseProfileLink": "xyz789",
"isSeekingDelegation": true,
"issues": [Issue]
}
DelegateStatementSource
Values
Enum Value | Description |
---|---|
|
|
|
Example
"user"
DelegatesFiltersInput
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"hasVotes": true,
"hasDelegators": false,
"issueIds": [2207450143689540900],
"isSeekingDelegation": true,
"organizationId": 2207450143689540900
}
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. |
|
Sorts by DAO prioritization. |
Example
"id"
DelegatesSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - DelegatesSortBy!
|
Example
{"isDescending": false, "sortBy": "id"}
Delegation
Fields
Field Name | Description |
---|---|
id - IntID!
|
|
blockNumber - Int!
|
|
blockTimestamp - Timestamp!
|
|
chainId - ChainID!
|
|
delegator - Account!
|
|
delegate - Account!
|
|
organization - Organization!
|
|
token - Token!
|
|
votes - Uint256!
|
Example
{
"id": 2207450143689540900,
"blockNumber": 987,
"blockTimestamp": 1663224162,
"chainId": "eip155:1",
"delegator": Account,
"delegate": Account,
"organization": Organization,
"token": Token,
"votes": 10987654321
}
DelegationInput
DelegationsFiltersInput
DelegationsInput
Fields
Input Field | Description |
---|---|
filters - DelegationsFiltersInput!
|
|
page - PageInput
|
|
sort - DelegationsSortInput
|
Example
{
"filters": DelegationsFiltersInput,
"page": PageInput,
"sort": DelegationsSortInput
}
DelegationsSortBy
Values
Enum Value | Description |
---|---|
|
The default sorting method. It sorts by date. |
|
Sorts by voting power. |
Example
"id"
DelegationsSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - DelegationsSortBy!
|
Example
{"isDescending": false, "sortBy": "id"}
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"
ExecutableCall
Fields
Field Name | Description |
---|---|
calldata - Bytes!
|
|
chainId - ChainID!
|
|
index - Int!
|
|
offchaindata - ExecutableCallOffchainData
|
|
signature - String
|
Target contract's function signature. |
target - Address!
|
|
type - ExecutableCallType
|
|
value - Uint256!
|
Example
{
"calldata": "0x4321abcd",
"chainId": "eip155:1",
"index": 123,
"offchaindata": ExecutableCallSwap,
"signature": "xyz789",
"target": "0x1234567800000000000000000000000000000abc",
"type": "custom",
"value": 10987654321
}
ExecutableCallOffchainData
Types
Union Types |
---|
Example
ExecutableCallSwap
ExecutableCallRewards
Fields
Field Name | Description |
---|---|
contributorFee - Int!
|
|
recipients - [String!]!
|
|
tallyFee - Int!
|
Example
{
"contributorFee": 987,
"recipients": ["abc123"],
"tallyFee": 987
}
ExecutableCallSwap
Fields
Field Name | Description |
---|---|
amountIn - Uint256!
|
Sell amount for the swap. |
buyToken - TokenData!
|
|
fee - Uint256
|
Tally fee |
order - SwapOrder
|
Order if the proposal is executed. |
priceChecker - PriceChecker!
|
|
quote - SwapQuote
|
Quote if no order exists yet. |
sellToken - TokenData!
|
|
to - AccountID!
|
Example
{
"amountIn": 10987654321,
"buyToken": TokenData,
"fee": 10987654321,
"order": SwapOrder,
"priceChecker": PriceChecker,
"quote": SwapQuote,
"sellToken": TokenData,
"to": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
}
ExecutableCallType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"custom"
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Governor
Fields
Field Name | Description |
---|---|
id - AccountID!
|
|
chainId - ChainID!
|
|
contracts - Contracts!
|
|
isIndexing - Boolean!
|
|
isBehind - Boolean!
|
|
isPrimary - Boolean!
|
|
kind - GovernorKind!
|
|
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. |
name - String!
|
Tally name of the governor contract |
organization - Organization!
|
|
proposalStats - ProposalStats!
|
|
parameters - GovernorParameters!
|
|
quorum - Uint256!
|
The minumum amount of votes (total or for depending on type) that are currently required to pass a proposal. |
slug - String!
|
Tally slug used for this goverance: tally.xyz/gov/[slug] |
timelockId - AccountID
|
Chain scoped address of the timelock contract for this governor if it exists. |
tokenId - AssetID!
|
|
token - Token!
|
|
type - GovernorType!
|
|
delegatesCount - Int!
|
|
delegatesVotesCount - Uint256!
|
|
tokenOwnersCount - Int!
|
|
metadata - GovernorMetadata
|
Example
{
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"chainId": "eip155:1",
"contracts": Contracts,
"isIndexing": false,
"isBehind": false,
"isPrimary": true,
"kind": "single",
"lastIndexedBlock": Block,
"name": "Uniswap",
"organization": Organization,
"proposalStats": ProposalStats,
"parameters": GovernorParameters,
"quorum": 10987654321,
"slug": "uniswap",
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"token": Token,
"type": "governoralpha",
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 123,
"metadata": GovernorMetadata
}
GovernorContract
Fields
Field Name | Description |
---|---|
address - Address!
|
|
type - GovernorType!
|
|
lastBlock - Int!
|
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"type": "governoralpha",
"lastBlock": 123
}
GovernorInput
GovernorKind
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"single"
GovernorMetadata
Fields
Field Name | Description |
---|---|
description - String
|
Example
{"description": "xyz789"}
GovernorMetadataInput
Fields
Input Field | Description |
---|---|
description - String
|
Example
{"description": "abc123"}
GovernorParameters
Example
{
"quorumVotes": 10987654321,
"proposalThreshold": 10987654321,
"votingDelay": 10987654321,
"votingPeriod": 10987654321,
"gracePeriod": 10987654321,
"quorumNumerator": 10987654321,
"quorumDenominator": 10987654321,
"clockMode": "xyz789",
"nomineeVettingDuration": 10987654321,
"fullWeightDuration": 10987654321
}
GovernorType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"governoralpha"
GovernorsFiltersInput
GovernorsInput
Fields
Input Field | Description |
---|---|
filters - GovernorsFiltersInput!
|
|
page - PageInput
|
|
sort - GovernorsSortInput
|
Example
{
"filters": GovernorsFiltersInput,
"page": PageInput,
"sort": GovernorsSortInput
}
GovernorsSortBy
Values
Enum Value | Description |
---|---|
|
The default sorting method. It sorts by date. |
Example
"id"
GovernorsSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - GovernorsSortBy!
|
Example
{"isDescending": true, "sortBy": "id"}
Hash
Description
Hash is for identifying transactions on a chain. Ex: 0xDEAD.
Example
"0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
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
IntID
Description
IntID is a 64bit integer as a string - this is larger than Javascript's number.
Example
2207450143689540900
Issue
Member
Fields
Field Name | Description |
---|---|
id - ID!
|
|
account - Account!
|
|
organization - Organization!
|
Example
{
"id": "4",
"account": Account,
"organization": Organization
}
NativeCurrency
Node
Description
Union of all node types that are paginated.
Types
Union Types |
---|
Example
Delegate
OrgUxVersion
Values
Enum Value | Description |
---|---|
|
|
|
Example
"governor"
Organization
Fields
Field Name | Description |
---|---|
id - IntID!
|
|
slug - String!
|
|
name - String!
|
|
chainIds - [ChainID!]!
|
|
governorIds - [AccountID!]!
|
|
tokenIds - [AssetID!]!
|
|
metadata - OrganizationMetadata
|
|
creator - Account
|
|
hasActiveProposals - Boolean!
|
|
proposalsCount - Int!
|
|
votersCount - Int!
|
use delegatesCount instead
|
delegatesCount - Int!
|
|
delegatesVotesCount - Uint256!
|
|
tokenHoldersCount - Int!
|
use tokenOwnersCount instead
|
tokenOwnersCount - Int!
|
Example
{
"id": 2207450143689540900,
"slug": "abc123",
"name": "xyz789",
"chainIds": ["eip155:1"],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": false,
"proposalsCount": 123,
"votersCount": 987,
"delegatesCount": 987,
"delegatesVotesCount": 10987654321,
"tokenHoldersCount": 123,
"tokenOwnersCount": 987
}
OrganizationInput
OrganizationMetadata
Example
{
"color": "abc123",
"contact": Contact,
"description": "abc123",
"icon": "abc123",
"socials": Socials,
"karmaName": "xyz789"
}
OrganizationMetadataInput
Fields
Input Field | Description |
---|---|
color - String
|
|
contact - ContactInput
|
|
description - String
|
|
icon - String
|
|
socials - SocialsInput
|
Example
{
"color": "abc123",
"contact": ContactInput,
"description": "xyz789",
"icon": "abc123",
"socials": SocialsInput
}
OrganizationsFiltersInput
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"chainId": "eip155:1",
"hasLogo": true,
"isMember": true
}
OrganizationsInput
Fields
Input Field | Description |
---|---|
filters - OrganizationsFiltersInput
|
|
page - PageInput
|
|
sort - OrganizationsSortInput
|
Example
{
"filters": OrganizationsFiltersInput,
"page": PageInput,
"sort": OrganizationsSortInput
}
OrganizationsSortBy
Values
Enum Value | Description |
---|---|
|
The default sorting method. It sorts by date. |
|
|
|
Sorts by live proposals and voters as on the Tally explore page. |
Example
"id"
OrganizationsSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - OrganizationsSortBy!
|
Example
{"isDescending": true, "sortBy": "id"}
OtherLink
OtherLinkInput
PageInfo
Description
Page metadata including pagination cursors and total count
Example
{
"firstCursor": "abc123",
"lastCursor": "abc123",
"count": 123
}
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": "xyz789",
"limit": 987
}
PaginatedOutput
Parameter
Fields
Field Name | Description |
---|---|
name - String!
|
|
type - String!
|
|
value - String!
|
|
valueDecoded - [ValueDecoded!]
|
Example
{
"name": "xyz789",
"type": "xyz789",
"value": "xyz789",
"valueDecoded": [ValueDecoded]
}
PriceChecker
Fields
Field Name | Description |
---|---|
slippage - Uint256!
|
|
tokenPath - [String!]!
|
|
feePath - [Uint256!]!
|
|
uniPoolPath - [String!]
|
List of Uniswap pool ids. |
Example
{
"slippage": 10987654321,
"tokenPath": ["xyz789"],
"feePath": [10987654321],
"uniPoolPath": ["abc123"]
}
Proposal
Fields
Field Name | Description |
---|---|
id - IntID!
|
|
onchainId - String
|
|
block - Block
|
|
chainId - ChainID!
|
|
creator - Account
|
Account that submitted this proposal onchain
|
createdAt - Timestamp!
|
|
delegateVotesCount - Uint256!
|
Delegated votes count of a given address on this proposal |
Arguments
|
|
end - BlockOrTimestamp!
|
Last block or timestamp when you can cast a vote |
events - [ProposalEvent!]!
|
List of state transitions for this proposal. The last ProposalEvent is the current state. |
executableCalls - [ExecutableCall!]
|
|
governor - Governor!
|
|
l1ChainId - ChainID
|
|
metadata - ProposalMetadata!
|
|
originalId - IntID
|
|
organization - Organization!
|
|
participationType - ProposalParticipationType!
|
|
Arguments
|
|
proposer - Account
|
Account that created this proposal offchain
|
quorum - Uint256
|
|
status - ProposalStatus!
|
|
start - BlockOrTimestamp!
|
First block when you can cast a vote, also the time when quorum is established |
voteStats - [VoteStats!]
|
Example
{
"id": 2207450143689540900,
"onchainId": "abc123",
"block": Block,
"chainId": "eip155:1",
"creator": Account,
"createdAt": 1663224162,
"delegateVotesCount": 10987654321,
"end": Block,
"events": [ProposalEvent],
"executableCalls": [ExecutableCall],
"governor": Governor,
"l1ChainId": "eip155:1",
"metadata": ProposalMetadata,
"originalId": 2207450143689540900,
"organization": Organization,
"participationType": "votedfor",
"proposer": Account,
"quorum": 10987654321,
"status": "active",
"start": Block,
"voteStats": [VoteStats]
}
ProposalEvent
Fields
Field Name | Description |
---|---|
block - Block
|
|
chainId - ChainID!
|
|
createdAt - Timestamp!
|
|
type - ProposalEventType!
|
|
txHash - Hash
|
Example
{
"block": Block,
"chainId": "eip155:1",
"createdAt": 1663224162,
"type": "activated",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
}
ProposalEventType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"activated"
ProposalInput
Example
{
"id": 2207450143689540900,
"onchainId": "xyz789",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"includeArchived": true,
"isLatest": true
}
ProposalMetadata
Fields
Field Name | Description |
---|---|
title - String!
|
Proposal title: usually first line of description |
description - String!
|
Proposal description onchain |
eta - Int
|
Time at which a proposal can be executed |
ipfsHash - String
|
|
previousEnd - Int
|
|
timelockId - AccountID
|
|
txHash - Hash
|
|
discourseURL - String
|
|
snapshotURL - String
|
Example
{
"title": "Fund the Grants Program",
"description": "Here's why it's a good idea to fund the Grants Program",
"eta": 1675437793,
"ipfsHash": "abc123",
"previousEnd": 987,
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855",
"discourseURL": "abc123",
"snapshotURL": "abc123"
}
ProposalParticipationType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"votedfor"
ProposalStats
Example
{"total": 987, "active": 987, "failed": 123, "passed": 123}
ProposalStatus
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"active"
ProposalsCreatedCountInput
ProposalsFiltersInput
Example
{
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"includeArchived": true,
"isDraft": false,
"organizationId": 2207450143689540900,
"proposer": "0x1234567800000000000000000000000000000abc"
}
ProposalsInput
Fields
Input Field | Description |
---|---|
filters - ProposalsFiltersInput!
|
|
page - PageInput
|
|
sort - ProposalsSortInput
|
Example
{
"filters": ProposalsFiltersInput,
"page": PageInput,
"sort": ProposalsSortInput
}
ProposalsSortBy
Values
Enum Value | Description |
---|---|
|
The default sorting method. It sorts by date. |
Example
"id"
ProposalsSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - ProposalsSortBy!
|
Example
{"isDescending": true, "sortBy": "id"}
Role
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ADMIN"
Socials
SocialsInput
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
"abc123"
SwapOrder
Fields
Field Name | Description |
---|---|
status - SwapOrderStatus!
|
Status of the order. |
address - String
|
Address of the order smart contract. |
id - String
|
CoW order id if status is fulfilled. |
buyAmount - Uint256
|
Buy amount if status is fulfilled. |
Example
{
"status": "PENDING_EXECUTION",
"address": "xyz789",
"id": "xyz789",
"buyAmount": 10987654321
}
SwapOrderStatus
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"PENDING_EXECUTION"
SwapQuote
Fields
Field Name | Description |
---|---|
buyAmount - Uint256!
|
|
buyTokenQuoteRate - Float
|
|
sellAmount - Uint256!
|
|
feeAmount - Uint256!
|
|
validTo - Timestamp!
|
Example
{
"buyAmount": 10987654321,
"buyTokenQuoteRate": 123.45,
"sellAmount": 10987654321,
"feeAmount": 10987654321,
"validTo": 1663224162
}
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 |
name - String!
|
Onchain name |
symbol - String!
|
Onchain symbol |
supply - Uint256!
|
supply derived from Transfer events |
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
|
|
isIndexing - Boolean!
|
|
isBehind - Boolean!
|
Example
{
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"type": "ERC20",
"name": "abc123",
"symbol": "abc123",
"supply": 10987654321,
"lastIndexedBlock": Block,
"decimals": 987,
"eligibility": Eligibility,
"isIndexing": true,
"isBehind": false
}
TokenBalance
TokenBalancesInput
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"governorID": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"organizationID": 2207450143689540900,
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
}
TokenContract
Fields
Field Name | Description |
---|---|
address - Address!
|
|
lastBlock - Int!
|
|
type - TokenType!
|
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"lastBlock": 123,
"type": "ERC20"
}
TokenData
Fields
Field Name | Description |
---|---|
id - AccountID!
|
|
data - CovalentData!
|
Example
{
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"data": CovalentData
}
TokenInput
Fields
Input Field | Description |
---|---|
id - AssetID!
|
Example
{
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
}
TokenType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"ERC20"
Transaction
Uint256
Description
Uint256 is a large unsigned integer represented as a string.
Example
10987654321
ValueDecoded
Fields
Field Name | Description |
---|---|
operation - Int!
|
|
to - String!
|
|
value - String!
|
|
data - String!
|
|
dataDecoded - DataDecoded
|
Example
{
"operation": 987,
"to": "abc123",
"value": "abc123",
"data": "abc123",
"dataDecoded": DataDecoded
}
Vote
Example
{
"id": 2207450143689540900,
"amount": 10987654321,
"block": Block,
"chainId": "eip155:1",
"isBridged": true,
"proposal": Proposal,
"reason": "xyz789",
"type": "abstain",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855",
"voter": Account
}
VoteStats
Description
Voting Summary per Choice
Example
{
"type": "abstain",
"votesCount": 10987654321,
"votersCount": 123,
"percent": 987.65
}
VoteType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"abstain"
VotesFiltersInput
VotesInput
Fields
Input Field | Description |
---|---|
filters - VotesFiltersInput!
|
|
page - PageInput
|
|
sort - VotesSortInput
|
Example
{
"filters": VotesFiltersInput,
"page": PageInput,
"sort": VotesSortInput
}
VotesSortInput
Fields
Input Field | Description |
---|---|
isDescending - Boolean!
|
|
sortBy - VotesSoryBy!
|
Example
{"isDescending": true, "sortBy": "id"}
VotesSoryBy
Values
Enum Value | Description |
---|---|
|
The default sorting method. It sorts by date. |
|
Example
"id"
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
}