Tally API Reference
Welcome to the party!
Terms of Service
API Endpoints
https://api.tally.xyz/query
Headers
# A Tally API token
Api-key: c729e271cf024ab464bb7d94f6c617605a6da149d86e83faa340ca6c71d3737b
Important thing 1
Some important stuff we wanted you to know. Supports markdown
Queries
account
Description
Returns Account
given a chain scoped AccountID
.
Response
Returns an Account!
Arguments
Name | Description |
---|---|
id - AccountID!
|
Example
Query
query Account($id: AccountID!) {
account(id: $id) {
id
address
identities {
ens
twitter
}
name
bio
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Variables
{"id": AccountID}
Response
{
"data": {
"account": {
"id": 4,
"address": Address,
"identities": Identities,
"name": "abc123",
"bio": "abc123",
"participations": [Participation],
"features": [FeatureState],
"picture": "xyz789",
"activity": [Proposal],
"organizations": [Organization]
}
}
}
accountByEns
Description
Returns Account
by given an ENS name.
Example
Query
query AccountByEns($ens: String!) {
accountByEns(ens: $ens) {
id
address
identities {
ens
twitter
}
name
bio
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Variables
{"ens": "xyz789"}
Response
{
"data": {
"accountByEns": {
"id": 4,
"address": Address,
"identities": Identities,
"name": "abc123",
"bio": "abc123",
"participations": [Participation],
"features": [FeatureState],
"picture": "abc123",
"activity": [Proposal],
"organizations": [Organization]
}
}
}
accounts
Response
Returns [Account!]!
Arguments
Name | Description |
---|---|
ids - [AccountID!]
|
Example
Query
query Accounts($ids: [AccountID!]) {
accounts(ids: $ids) {
id
address
identities {
ens
twitter
}
name
bio
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Variables
{"ids": [AccountID]}
Response
{
"data": {
"accounts": [
{
"id": "4",
"address": Address,
"identities": Identities,
"name": "xyz789",
"bio": "xyz789",
"participations": [Participation],
"features": [FeatureState],
"picture": "abc123",
"activity": [Proposal],
"organizations": [Organization]
}
]
}
}
address
Response
Returns an AddressInfo!
Arguments
Name | Description |
---|---|
address - Address!
|
Example
Query
query Address($address: Address!) {
address(address: $address) {
address
ethAccount {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
accounts {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
}
}
Variables
{"address": Address}
Response
{
"data": {
"address": {
"address": Address,
"ethAccount": Account,
"activity": [Proposal],
"accounts": [Account],
"participations": [Participation]
}
}
}
block
Description
Returns the Block
including an actual or estimated timestamp given a BlockID
.
chains
Response
Returns [Chain]!
Example
Query
query Chains {
chains {
id
name
mediumName
shortName
blockTime
isTestnet
svg
nativeCurrency {
name
symbol
decimals
}
chain
blockExplorerURL
tenderlySupport
}
}
Response
{
"data": {
"chains": [
{
"id": ChainID,
"name": "abc123",
"mediumName": "abc123",
"shortName": "xyz789",
"blockTime": 123.45,
"isTestnet": true,
"svg": "abc123",
"nativeCurrency": NativeCurrency,
"chain": "abc123",
"blockExplorerURL": "xyz789",
"tenderlySupport": false
}
]
}
}
createProposalSimulation
Response
Returns [Simulation!]!
Arguments
Name | Description |
---|---|
governanceID - AccountID!
|
|
executableCalls - [GovernorExecutableCallInput!]!
|
|
value - BigInt
|
Example
Query
query CreateProposalSimulation(
$governanceID: AccountID!,
$executableCalls: [GovernorExecutableCallInput!]!,
$value: BigInt
) {
createProposalSimulation(
governanceID: $governanceID,
executableCalls: $executableCalls,
value: $value
) {
id
status
raw
}
}
Variables
{
"governanceID": AccountID,
"executableCalls": [GovernorExecutableCallInput],
"value": {}
}
Response
{
"data": {
"createProposalSimulation": [
{
"id": "4",
"status": "success",
"raw": "xyz789"
}
]
}
}
delegationsIn
Response
Returns [Delegation!]
Arguments
Name | Description |
---|---|
addresses - [Address!]
|
|
pagination - Pagination
|
Example
Query
query DelegationsIn(
$addresses: [Address!],
$pagination: Pagination
) {
delegationsIn(
addresses: $addresses,
pagination: $pagination
) {
token {
id
type
address
name
symbol
supply
lastBlock
decimals
}
weight
delegator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
from {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
to {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
block {
id
number
timestamp
}
}
}
Variables
{
"addresses": [Address],
"pagination": Pagination
}
Response
{
"data": {
"delegationsIn": [
{
"token": Token,
"weight": {},
"delegator": Account,
"from": Account,
"to": Account,
"block": Block
}
]
}
}
features
Response
Returns a FeatureConnection!
Arguments
Name | Description |
---|---|
after - Cursor
|
Returns the elements in the list that come after the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
before - Cursor
|
Returns the elements in the list that come before the specified cursor. |
last - Int
|
Returns the last n elements from the list. |
orderBy - FeatureOrder
|
Example
Query
query Features(
$after: Cursor,
$first: Int,
$before: Cursor,
$last: Int,
$orderBy: FeatureOrder
) {
features(
after: $after,
first: $first,
before: $before,
last: $last,
orderBy: $orderBy
) {
edges {
node {
...FeatureFragment
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount
}
}
Variables
{
"after": Cursor,
"first": 987,
"before": Cursor,
"last": 987,
"orderBy": FeatureOrder
}
Response
{
"data": {
"features": {
"edges": [FeatureEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
gnosisSafe
Description
Returns any GnosisSafe
's info given a chain scoped AccountID
.
Response
Returns a GnosisSafe!
Arguments
Name | Description |
---|---|
id - AccountID!
|
Example
Query
query GnosisSafe($id: AccountID!) {
gnosisSafe(id: $id) {
name
id
nonce
threshold
owners {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
version
balance {
totalUSDValue
tokens {
...TokenBalanceFragment
}
}
collectibles {
address
tokenName
tokenSymbol
logoURI
ID
uri
name
description
imageURI
metadata
}
}
}
Variables
{"id": AccountID}
Response
{
"data": {
"gnosisSafe": {
"name": "xyz789",
"id": AccountID,
"nonce": 987,
"threshold": 987,
"owners": [Account],
"version": "abc123",
"balance": Treasury,
"collectibles": [Collectible]
}
}
}
gnosisSafeTransaction
Response
Returns a GnosisSafeTransaction!
Arguments
Name | Description |
---|---|
safeTxHashID - HashID!
|
Example
Query
query GnosisSafeTransaction($safeTxHashID: HashID!) {
gnosisSafeTransaction(safeTxHashID: $safeTxHashID) {
id
safeID
block {
id
number
timestamp
}
txHashID
safeTxHashID
signatures
nonce
confirmations {
owner {
...AccountFragment
}
submissionDate
signature
signatureType
}
statusChanges {
type
timestamp
}
call {
target
method
data
value
recipe
memo
media
parameters {
...DecodedParameterFragment
}
simulations {
...SimulationFragment
}
}
}
}
Variables
{"safeTxHashID": HashID}
Response
{
"data": {
"gnosisSafeTransaction": {
"id": HashID,
"safeID": AccountID,
"block": Block,
"txHashID": HashID,
"safeTxHashID": HashID,
"signatures": Bytes,
"nonce": {},
"confirmations": [Confirmation],
"statusChanges": [GnosisStatusChange],
"call": ExecutableCall
}
}
}
gnosisSafeTransactions
Description
Returns a list of multisig tranasctions given a safe AccountID
. Pagniation
defaults to a limit of 20 transactions if no limit is provided. There are a number of filters and ordering settings we can support, please reach out to discuss.
Response
Returns [GnosisSafeTransaction!]!
Arguments
Name | Description |
---|---|
gnosisSafeId - AccountID!
|
|
pagination - Pagination
|
Pagniation defaults to a limit of 20 transactions if no limit is provided.
|
Example
Query
query GnosisSafeTransactions(
$gnosisSafeId: AccountID!,
$pagination: Pagination
) {
gnosisSafeTransactions(
gnosisSafeId: $gnosisSafeId,
pagination: $pagination
) {
id
safeID
block {
id
number
timestamp
}
txHashID
safeTxHashID
signatures
nonce
confirmations {
owner {
...AccountFragment
}
submissionDate
signature
signatureType
}
statusChanges {
type
timestamp
}
call {
target
method
data
value
recipe
memo
media
parameters {
...DecodedParameterFragment
}
simulations {
...SimulationFragment
}
}
}
}
Variables
{
"gnosisSafeId": AccountID,
"pagination": Pagination
}
Response
{
"data": {
"gnosisSafeTransactions": [
{
"id": HashID,
"safeID": AccountID,
"block": Block,
"txHashID": HashID,
"safeTxHashID": HashID,
"signatures": Bytes,
"nonce": {},
"confirmations": [Confirmation],
"statusChanges": [GnosisStatusChange],
"call": ExecutableCall
}
]
}
}
gnosisSafes
Description
This will return a list of GnosisSafe
s related to a DAO along with GnosisSafe
info similar to the governances query.
Response
Returns [GnosisSafe!]!
Arguments
Name | Description |
---|---|
organizationIds - [ID!]
|
Example
Query
query GnosisSafes($organizationIds: [ID!]) {
gnosisSafes(organizationIds: $organizationIds) {
name
id
nonce
threshold
owners {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
version
balance {
totalUSDValue
tokens {
...TokenBalanceFragment
}
}
collectibles {
address
tokenName
tokenSymbol
logoURI
ID
uri
name
description
imageURI
metadata
}
}
}
Variables
{"organizationIds": ["4"]}
Response
{
"data": {
"gnosisSafes": [
{
"name": "abc123",
"id": AccountID,
"nonce": 987,
"threshold": 987,
"owners": [Account],
"version": "abc123",
"balance": Treasury,
"collectibles": [Collectible]
}
]
}
}
governance
Response
Returns a Governance!
Arguments
Name | Description |
---|---|
id - AccountID!
|
Example
Query
query Governance($id: AccountID!) {
governance(id: $id) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{"id": AccountID}
Response
{
"data": {
"governance": {
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": false,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "xyz789",
"delegatedVotingPower": {},
"balance": {},
"slug": "xyz789"
}
}
}
governanceBySlug
Response
Returns a Governance!
Arguments
Name | Description |
---|---|
slug - String!
|
Example
Query
query GovernanceBySlug($slug: String!) {
governanceBySlug(slug: $slug) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{"slug": "xyz789"}
Response
{
"data": {
"governanceBySlug": {
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": true,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "abc123",
"delegatedVotingPower": {},
"balance": {},
"slug": "abc123"
}
}
}
governanceSyncs
Response
Returns [GovernanceSync!]
Arguments
Name | Description |
---|---|
chainIds - [ChainID!]
|
Example
Query
query GovernanceSyncs($chainIds: [ChainID!]) {
governanceSyncs(chainIds: $chainIds) {
id
start
type
tokenId
}
}
Variables
{"chainIds": [ChainID]}
Response
{
"data": {
"governanceSyncs": [
{
"id": AccountID,
"start": {},
"type": "GOVERNORALPHA",
"tokenId": AssetID
}
]
}
}
governanceTypes
Response
Returns [GovernanceTypeData!]
Example
Query
query GovernanceTypes {
governanceTypes {
type
name
}
}
Response
{
"data": {
"governanceTypes": [
{
"type": "GOVERNORALPHA",
"name": "xyz789"
}
]
}
}
governances
Response
Returns [Governance!]!
Arguments
Name | Description |
---|---|
chainIds - [ChainID!]
|
|
ids - [AccountID!]
|
|
organizationIds - [ID!]
|
|
includeInactive - Boolean
|
|
pagination - Pagination
|
|
sort - GovernanceSort
|
Example
Query
query Governances(
$chainIds: [ChainID!],
$ids: [AccountID!],
$organizationIds: [ID!],
$includeInactive: Boolean,
$pagination: Pagination,
$sort: GovernanceSort
) {
governances(
chainIds: $chainIds,
ids: $ids,
organizationIds: $organizationIds,
includeInactive: $includeInactive,
pagination: $pagination,
sort: $sort
) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{
"chainIds": [ChainID],
"ids": [AccountID],
"organizationIds": [4],
"includeInactive": true,
"pagination": Pagination,
"sort": GovernanceSort
}
Response
{
"data": {
"governances": [
{
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": true,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "abc123",
"delegatedVotingPower": {},
"balance": {},
"slug": "abc123"
}
]
}
}
legacyAccount
Description
[Deprecated] Returns Account
given a legacy indentity id.
Example
Query
query LegacyAccount($id: String!) {
legacyAccount(id: $id) {
id
address
identities {
ens
twitter
}
name
bio
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"legacyAccount": {
"id": 4,
"address": Address,
"identities": Identities,
"name": "abc123",
"bio": "xyz789",
"participations": [Participation],
"features": [FeatureState],
"picture": "xyz789",
"activity": [Proposal],
"organizations": [Organization]
}
}
}
me
Response
Returns an Account!
Example
Query
query Me {
me {
id
address
identities {
ens
twitter
}
name
bio
participations {
governance {
...GovernanceFragment
}
votes {
...VoteFragment
}
proposals {
...ProposalFragment
}
stats {
...ParticipationStatsFragment
}
delegationsIn {
...DelegationFragment
}
delegationOut {
...DelegationFragment
}
weightChanges {
...DelegationWeightChangeFragment
}
}
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Response
{
"data": {
"me": {
"id": 4,
"address": Address,
"identities": Identities,
"name": "xyz789",
"bio": "abc123",
"participations": [Participation],
"features": [FeatureState],
"picture": "xyz789",
"activity": [Proposal],
"organizations": [Organization]
}
}
}
node
Description
Fetches an object given its ID.
nodes
Description
Lookup nodes by a list of IDs.
organization
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
query Organization($id: ID!) {
organization(id: $id) {
id
slug
name
website
description
visual {
icon
color
}
socialProfiles {
Discord
Telegram
Twitter
Others {
...OtherLinkFragment
}
}
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"organization": {
"id": "4",
"slug": "xyz789",
"name": "xyz789",
"website": "xyz789",
"description": "xyz789",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": false,
"adminData": OrganizationAdminData
}
}
}
organizationSlugToId
organizations
Response
Returns [Organization!]!
Arguments
Name | Description |
---|---|
ids - [ID!]
|
|
names - [String!]
|
|
websites - [String!]
|
|
members - [OrgMember!]
|
|
sort - OrganizationSort
|
|
pagination - Pagination
|
Example
Query
query Organizations(
$ids: [ID!],
$names: [String!],
$websites: [String!],
$members: [OrgMember!],
$sort: OrganizationSort,
$pagination: Pagination
) {
organizations(
ids: $ids,
names: $names,
websites: $websites,
members: $members,
sort: $sort,
pagination: $pagination
) {
id
slug
name
website
description
visual {
icon
color
}
socialProfiles {
Discord
Telegram
Twitter
Others {
...OtherLinkFragment
}
}
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{
"ids": ["4"],
"names": ["abc123"],
"websites": ["abc123"],
"members": [OrgMember],
"sort": OrganizationSort,
"pagination": Pagination
}
Response
{
"data": {
"organizations": [
{
"id": "4",
"slug": "xyz789",
"name": "xyz789",
"website": "abc123",
"description": "xyz789",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": false,
"adminData": OrganizationAdminData
}
]
}
}
poll
Example
Query
query Poll($id: ID!) {
poll(id: $id) {
id
createdAt
start
end
startTs
endTs
snapshot
quorum
author {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
status
tallyProposal {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
votes {
id
createdAt
support
reason
weight
voter {
...AccountFragment
}
}
voteStats {
support
weight
votes
percent
}
pollVoteStats {
support
weight
votes
percent
}
myVotingPower
}
}
Variables
{"id": 4}
Response
{
"data": {
"poll": {
"id": "4",
"createdAt": 1592577642,
"start": {},
"end": {},
"startTs": 1592577642,
"endTs": 1592577642,
"snapshot": {},
"quorum": {},
"author": Account,
"status": "DRAFT",
"tallyProposal": TallyProposal,
"votes": [PollVote],
"voteStats": [VoteStat],
"pollVoteStats": [PollVoteStat],
"myVotingPower": {}
}
}
}
polls
Response
Returns [Poll!]!
Arguments
Name | Description |
---|---|
governanceId - AccountID
|
|
organizationId - String
|
|
pagination - Pagination
|
Example
Query
query Polls(
$governanceId: AccountID,
$organizationId: String,
$pagination: Pagination
) {
polls(
governanceId: $governanceId,
organizationId: $organizationId,
pagination: $pagination
) {
id
createdAt
start
end
startTs
endTs
snapshot
quorum
author {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
status
tallyProposal {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
votes {
id
createdAt
support
reason
weight
voter {
...AccountFragment
}
}
voteStats {
support
weight
votes
percent
}
pollVoteStats {
support
weight
votes
percent
}
myVotingPower
}
}
Variables
{
"governanceId": AccountID,
"organizationId": "abc123",
"pagination": Pagination
}
Response
{
"data": {
"polls": [
{
"id": 4,
"createdAt": 1592577642,
"start": {},
"end": {},
"startTs": 1592577642,
"endTs": 1592577642,
"snapshot": {},
"quorum": {},
"author": Account,
"status": "DRAFT",
"tallyProposal": TallyProposal,
"votes": [PollVote],
"voteStats": [VoteStat],
"pollVoteStats": [PollVoteStat],
"myVotingPower": {}
}
]
}
}
proposal
Response
Returns a Proposal!
Arguments
Name | Description |
---|---|
governanceId - AccountID!
|
|
proposalId - ID!
|
Example
Query
query Proposal(
$governanceId: AccountID!,
$proposalId: ID!
) {
proposal(
governanceId: $governanceId,
proposalId: $proposalId
) {
id
title
description
start {
id
number
timestamp
}
end {
id
number
timestamp
}
eta
block {
id
number
timestamp
}
governanceId
governance {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
executable {
callDatas
signatures
targets
values
}
proposer {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
voteStats {
support
weight
votes
percent
}
statusChanges {
type
blockNumber
blockTimestamp
txHash
}
votes {
id
voter {
...AccountFragment
}
hash
support
weight
block {
...BlockFragment
}
reason
proposal {
...ProposalFragment
}
}
hash
tallyProposal {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
votingPower
}
}
Variables
{
"governanceId": AccountID,
"proposalId": "4"
}
Response
{
"data": {
"proposal": {
"id": "4",
"title": "abc123",
"description": "xyz789",
"start": Block,
"end": Block,
"eta": {},
"block": Block,
"governanceId": AccountID,
"governance": Governance,
"executable": Executable,
"proposer": Account,
"voteStats": [VoteStat],
"statusChanges": [StatusChange],
"votes": [Vote],
"hash": "abc123",
"tallyProposal": TallyProposal,
"votingPower": {}
}
}
}
proposalActionAttempt
Response
Returns a ProposalActionAttempt!
Arguments
Name | Description |
---|---|
proposalId - ID!
|
|
governanceId - AccountID!
|
|
actionType - ProposalActionType!
|
Example
Query
query ProposalActionAttempt(
$proposalId: ID!,
$governanceId: AccountID!,
$actionType: ProposalActionType!
) {
proposalActionAttempt(
proposalId: $proposalId,
governanceId: $governanceId,
actionType: $actionType
) {
actionUser {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
txID
proposal {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
actionType
createdAt
}
}
Variables
{
"proposalId": 4,
"governanceId": AccountID,
"actionType": "QUEUE"
}
Response
{
"data": {
"proposalActionAttempt": {
"actionUser": Account,
"txID": HashID,
"proposal": Proposal,
"actionType": "QUEUE",
"createdAt": 1592577642
}
}
}
proposals
Response
Returns [Proposal!]!
Arguments
Name | Description |
---|---|
chainId - ChainID!
|
|
proposerIds - [AccountID!]
|
|
governanceIds - [AccountID!]
|
|
proposalIds - [ID!]
|
|
sort - ProposalSort
|
|
pagination - Pagination
|
Example
Query
query Proposals(
$chainId: ChainID!,
$proposerIds: [AccountID!],
$governanceIds: [AccountID!],
$proposalIds: [ID!],
$sort: ProposalSort,
$pagination: Pagination
) {
proposals(
chainId: $chainId,
proposerIds: $proposerIds,
governanceIds: $governanceIds,
proposalIds: $proposalIds,
sort: $sort,
pagination: $pagination
) {
id
title
description
start {
id
number
timestamp
}
end {
id
number
timestamp
}
eta
block {
id
number
timestamp
}
governanceId
governance {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
executable {
callDatas
signatures
targets
values
}
proposer {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
voteStats {
support
weight
votes
percent
}
statusChanges {
type
blockNumber
blockTimestamp
txHash
}
votes {
id
voter {
...AccountFragment
}
hash
support
weight
block {
...BlockFragment
}
reason
proposal {
...ProposalFragment
}
}
hash
tallyProposal {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
votingPower
}
}
Variables
{
"chainId": ChainID,
"proposerIds": [AccountID],
"governanceIds": [AccountID],
"proposalIds": [4],
"sort": ProposalSort,
"pagination": Pagination
}
Response
{
"data": {
"proposals": [
{
"id": 4,
"title": "abc123",
"description": "xyz789",
"start": Block,
"end": Block,
"eta": {},
"block": Block,
"governanceId": AccountID,
"governance": Governance,
"executable": Executable,
"proposer": Account,
"voteStats": [VoteStat],
"statusChanges": [StatusChange],
"votes": [Vote],
"hash": "abc123",
"tallyProposal": TallyProposal,
"votingPower": {}
}
]
}
}
tallyProposal
Response
Returns a TallyProposal!
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
query TallyProposal($id: ID!) {
tallyProposal(id: $id) {
id
onChainId
createdAt
title
description
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
status
hash
executableCalls {
target
method
data
value
recipe
memo
media
parameters {
...DecodedParameterFragment
}
simulations {
...SimulationFragment
}
}
governorProposal {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
governance {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
poll {
id
createdAt
start
end
startTs
endTs
snapshot
quorum
author {
...AccountFragment
}
status
tallyProposal {
...TallyProposalFragment
}
votes {
...PollVoteFragment
}
voteStats {
...VoteStatFragment
}
pollVoteStats {
...PollVoteStatFragment
}
myVotingPower
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
choices
}
}
Variables
{"id": "4"}
Response
{
"data": {
"tallyProposal": {
"id": "4",
"onChainId": 4,
"createdAt": 1592577642,
"title": "xyz789",
"description": "abc123",
"creator": Account,
"status": "DRAFT",
"hash": "xyz789",
"executableCalls": [ExecutableCall],
"governorProposal": Proposal,
"governance": Governance,
"poll": Poll,
"organization": Organization,
"choices": ["xyz789"]
}
}
}
tallyProposals
Response
Returns [TallyProposal!]!
Arguments
Name | Description |
---|---|
ids - [ID!]
|
|
creatorIds - [AccountID!]
|
|
governanceIds - [AccountID!]
|
|
organizationIds - [String!]
|
|
sort - TallyProposalSort
|
|
pagination - Pagination
|
Example
Query
query TallyProposals(
$ids: [ID!],
$creatorIds: [AccountID!],
$governanceIds: [AccountID!],
$organizationIds: [String!],
$sort: TallyProposalSort,
$pagination: Pagination
) {
tallyProposals(
ids: $ids,
creatorIds: $creatorIds,
governanceIds: $governanceIds,
organizationIds: $organizationIds,
sort: $sort,
pagination: $pagination
) {
id
onChainId
createdAt
title
description
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
status
hash
executableCalls {
target
method
data
value
recipe
memo
media
parameters {
...DecodedParameterFragment
}
simulations {
...SimulationFragment
}
}
governorProposal {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
governance {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
poll {
id
createdAt
start
end
startTs
endTs
snapshot
quorum
author {
...AccountFragment
}
status
tallyProposal {
...TallyProposalFragment
}
votes {
...PollVoteFragment
}
voteStats {
...VoteStatFragment
}
pollVoteStats {
...PollVoteStatFragment
}
myVotingPower
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
choices
}
}
Variables
{
"ids": [4],
"creatorIds": [AccountID],
"governanceIds": [AccountID],
"organizationIds": ["abc123"],
"sort": TallyProposalSort,
"pagination": Pagination
}
Response
{
"data": {
"tallyProposals": [
{
"id": "4",
"onChainId": 4,
"createdAt": 1592577642,
"title": "abc123",
"description": "abc123",
"creator": Account,
"status": "DRAFT",
"hash": "xyz789",
"executableCalls": [ExecutableCall],
"governorProposal": Proposal,
"governance": Governance,
"poll": Poll,
"organization": Organization,
"choices": ["xyz789"]
}
]
}
}
tokenSyncs
Response
Returns [TokenSync!]
Arguments
Name | Description |
---|---|
chainIds - [ChainID!]
|
Example
Query
query TokenSyncs($chainIds: [ChainID!]) {
tokenSyncs(chainIds: $chainIds) {
id
start
}
}
Variables
{"chainIds": [ChainID]}
Response
{"data": {"tokenSyncs": [{"id": AssetID, "start": {}}]}}
voteAttempt
Description
Fetches the last vote attempt from a given user on a proposal.
Response
Returns a VoteAttempt!
Arguments
Name | Description |
---|---|
voter - AccountID!
|
|
governanceId - AccountID!
|
|
proposalId - ID!
|
Example
Query
query VoteAttempt(
$voter: AccountID!,
$governanceId: AccountID!,
$proposalId: ID!
) {
voteAttempt(
voter: $voter,
governanceId: $governanceId,
proposalId: $proposalId
) {
voter {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
txID
proposal {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
createdAt
support
}
}
Variables
{
"voter": AccountID,
"governanceId": AccountID,
"proposalId": "4"
}
Response
{
"data": {
"voteAttempt": {
"voter": Account,
"txID": HashID,
"proposal": Proposal,
"createdAt": 1592577642,
"support": "ABSTAIN"
}
}
}
weightChanges
Response
Returns [DelegationWeightChange!]
Arguments
Name | Description |
---|---|
accoundIDs - [AccountID!]
|
|
sort - DelegationWeightChangeSort
|
|
pagination - Pagination
|
Example
Query
query WeightChanges(
$accoundIDs: [AccountID!],
$sort: DelegationWeightChangeSort,
$pagination: Pagination
) {
weightChanges(
accoundIDs: $accoundIDs,
sort: $sort,
pagination: $pagination
) {
token {
id
type
address
name
symbol
supply
lastBlock
decimals
}
delegate {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
prevBalance
newBalance
netChange
hash
block {
id
number
timestamp
}
timestamp
}
}
Variables
{
"accoundIDs": [AccountID],
"sort": DelegationWeightChangeSort,
"pagination": Pagination
}
Response
{
"data": {
"weightChanges": [
{
"token": Token,
"delegate": Account,
"prevBalance": {},
"newBalance": {},
"netChange": {},
"hash": Bytes32,
"block": Block,
"timestamp": 1592577642
}
]
}
}
Mutations
analyticsBackfill
Response
Returns a Boolean!
Example
Query
mutation AnalyticsBackfill {
analyticsBackfill
}
Response
{"data": {"analyticsBackfill": false}}
createAPIUser
Description
Creates an API User and returns a key that can be used to access the API
createGovernance
Description
Creates a Governance on Tally associated with an Organization. If the Governance is already indexed it only updates the Organization.
Response
Returns a Boolean!
Example
Query
mutation CreateGovernance(
$address: Address!,
$chainId: ChainID!,
$organization: ID!,
$type: GovernanceType!,
$start: Long!,
$tokenId: AssetID!,
$name: String,
$slug: String
) {
createGovernance(
address: $address,
chainId: $chainId,
organization: $organization,
type: $type,
start: $start,
tokenId: $tokenId,
name: $name,
slug: $slug
)
}
Variables
{
"address": Address,
"chainId": ChainID,
"organization": "4",
"type": "GOVERNORALPHA",
"start": {},
"tokenId": AssetID,
"name": "xyz789",
"slug": "abc123"
}
Response
{"data": {"createGovernance": true}}
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
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{
"orgArgs": OrganizationArgs,
"tokenArgs": TokenArgs,
"governanceArgs": GovernanceArgs
}
Response
{
"data": {
"createGovernorOrganization": {
"id": 4,
"slug": "xyz789",
"name": "xyz789",
"website": "abc123",
"description": "abc123",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": true,
"adminData": OrganizationAdminData
}
}
}
createGroupOrganization
Description
Creates an organization for a group. Adds a demo proposal for that group.
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
orgArgs - OrganizationArgs!
|
Example
Query
mutation CreateGroupOrganization($orgArgs: OrganizationArgs!) {
createGroupOrganization(orgArgs: $orgArgs) {
id
slug
name
website
description
visual {
icon
color
}
socialProfiles {
Discord
Telegram
Twitter
Others {
...OtherLinkFragment
}
}
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{"orgArgs": OrganizationArgs}
Response
{
"data": {
"createGroupOrganization": {
"id": "4",
"slug": "xyz789",
"name": "abc123",
"website": "abc123",
"description": "abc123",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": false,
"adminData": OrganizationAdminData
}
}
}
createOrganization
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
name - String!
|
|
orgUxVersion - OrgUxVersion!
|
|
description - String
|
|
website - String
|
|
icon - String
|
|
color - String
|
|
contact - ContactInformationInput
|
|
socialProfiles - SocialProfilesInput
|
Example
Query
mutation CreateOrganization(
$name: String!,
$orgUxVersion: OrgUxVersion!,
$description: String,
$website: String,
$icon: String,
$color: String,
$contact: ContactInformationInput,
$socialProfiles: SocialProfilesInput
) {
createOrganization(
name: $name,
orgUxVersion: $orgUxVersion,
description: $description,
website: $website,
icon: $icon,
color: $color,
contact: $contact,
socialProfiles: $socialProfiles
) {
id
slug
name
website
description
visual {
icon
color
}
socialProfiles {
Discord
Telegram
Twitter
Others {
...OtherLinkFragment
}
}
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{
"name": "xyz789",
"orgUxVersion": "governor",
"description": "abc123",
"website": "abc123",
"icon": "xyz789",
"color": "xyz789",
"contact": ContactInformationInput,
"socialProfiles": SocialProfilesInput
}
Response
{
"data": {
"createOrganization": {
"id": "4",
"slug": "xyz789",
"name": "abc123",
"website": "xyz789",
"description": "abc123",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": false,
"adminData": OrganizationAdminData
}
}
}
createPoll
createProposal
Description
Creates a TallyProposal
. Returns a TallyProposal ID.
Response
Returns an ID!
Arguments
Name | Description |
---|---|
governanceId - AccountID!
|
|
title - String!
|
|
description - String!
|
|
choices - [String!]
|
|
governorExecutableCalls - [GovernorExecutableCallInput!]!
|
|
txHash - String
|
|
simulationValue - BigInt
|
Example
Query
mutation CreateProposal(
$governanceId: AccountID!,
$title: String!,
$description: String!,
$choices: [String!],
$governorExecutableCalls: [GovernorExecutableCallInput!]!,
$txHash: String,
$simulationValue: BigInt
) {
createProposal(
governanceId: $governanceId,
title: $title,
description: $description,
choices: $choices,
governorExecutableCalls: $governorExecutableCalls,
txHash: $txHash,
simulationValue: $simulationValue
)
}
Variables
{
"governanceId": AccountID,
"title": "xyz789",
"description": "abc123",
"choices": ["abc123"],
"governorExecutableCalls": [
GovernorExecutableCallInput
],
"txHash": "abc123",
"simulationValue": {}
}
Response
{"data": {"createProposal": 4}}
createProposalActionAttempt
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
actionUser - AccountID!
|
|
proposalId - ID!
|
|
governanceId - AccountID!
|
|
txID - Bytes32!
|
|
actionType - ProposalActionType!
|
Example
Query
mutation CreateProposalActionAttempt(
$actionUser: AccountID!,
$proposalId: ID!,
$governanceId: AccountID!,
$txID: Bytes32!,
$actionType: ProposalActionType!
) {
createProposalActionAttempt(
actionUser: $actionUser,
proposalId: $proposalId,
governanceId: $governanceId,
txID: $txID,
actionType: $actionType
)
}
Variables
{
"actionUser": AccountID,
"proposalId": 4,
"governanceId": AccountID,
"txID": Bytes32,
"actionType": "QUEUE"
}
Response
{"data": {"createProposalActionAttempt": true}}
createProposalWithPoll
Description
Creates a TallyProposal
with a Poll
, which immediately begins voting. Returns a Poll ID.
Response
Returns an ID!
Arguments
Name | Description |
---|---|
governanceId - AccountID!
|
|
title - String!
|
|
description - String!
|
|
choices - [String!]
|
Example
Query
mutation CreateProposalWithPoll(
$governanceId: AccountID!,
$title: String!,
$description: String!,
$choices: [String!]
) {
createProposalWithPoll(
governanceId: $governanceId,
title: $title,
description: $description,
choices: $choices
)
}
Variables
{
"governanceId": AccountID,
"title": "xyz789",
"description": "abc123",
"choices": ["xyz789"]
}
Response
{"data": {"createProposalWithPoll": "4"}}
createProposalWithPollForGroup
Description
Creates a TallyProposal
with a Poll
for a Group. Returns a Poll ID.
Response
Returns an ID!
Example
Query
mutation CreateProposalWithPollForGroup(
$organizationId: ID!,
$title: String!,
$description: String!,
$choices: [String!]
) {
createProposalWithPollForGroup(
organizationId: $organizationId,
title: $title,
description: $description,
choices: $choices
)
}
Variables
{
"organizationId": 4,
"title": "xyz789",
"description": "xyz789",
"choices": ["abc123"]
}
Response
{
"data": {
"createProposalWithPollForGroup": "4"
}
}
createSafe
Description
Much like governors we can add a safe to an existing DAO. A DAO can have an unlimited amount of GnosisSafe
s.
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - AccountID!
|
|
name - String
|
|
organization - ID!
|
Example
Query
mutation CreateSafe(
$id: AccountID!,
$name: String,
$organization: ID!
) {
createSafe(
id: $id,
name: $name,
organization: $organization
)
}
Variables
{
"id": AccountID,
"name": "xyz789",
"organization": 4
}
Response
{"data": {"createSafe": false}}
createToken
createVoteAttempt
Description
Creates a VoteAttempt
with the user intended vote and support data
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
voter - AccountID!
|
|
governanceId - AccountID!
|
|
proposalId - ID!
|
|
txID - Bytes32!
|
|
support - SupportType!
|
Example
Query
mutation CreateVoteAttempt(
$voter: AccountID!,
$governanceId: AccountID!,
$proposalId: ID!,
$txID: Bytes32!,
$support: SupportType!
) {
createVoteAttempt(
voter: $voter,
governanceId: $governanceId,
proposalId: $proposalId,
txID: $txID,
support: $support
)
}
Variables
{
"voter": AccountID,
"governanceId": AccountID,
"proposalId": 4,
"txID": Bytes32,
"support": "ABSTAIN"
}
Response
{"data": {"createVoteAttempt": false}}
deleteSync
joinOrganization
Description
Adds the authenticated user to the organization.
linkGovernance
Description
Links a Governance to an Organization if it is unlinked. Fails if Governance doesn't exist or isn't indexed.
Response
Returns a Governance!
Arguments
Name | Description |
---|---|
organizationId - ID!
|
|
id - AccountID!
|
Example
Query
mutation LinkGovernance(
$organizationId: ID!,
$id: AccountID!
) {
linkGovernance(
organizationId: $organizationId,
id: $id
) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{"organizationId": 4, "id": AccountID}
Response
{
"data": {
"linkGovernance": {
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": true,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "abc123",
"delegatedVotingPower": {},
"balance": {},
"slug": "xyz789"
}
}
}
login
Example
Query
mutation Login(
$message: String!,
$signature: String!
) {
login(
message: $message,
signature: $signature
)
}
Variables
{
"message": "xyz789",
"signature": "abc123"
}
Response
{"data": {"login": "abc123"}}
logout
Response
Returns a Boolean!
Example
Query
mutation Logout {
logout
}
Response
{"data": {"logout": true}}
runProposalSimulation
Response
Returns [Simulation!]!
Example
Query
mutation RunProposalSimulation(
$proposalID: ID!,
$value: BigInt
) {
runProposalSimulation(
proposalID: $proposalID,
value: $value
) {
id
status
raw
}
}
Variables
{"proposalID": "4", "value": {}}
Response
{
"data": {
"runProposalSimulation": [
{
"id": 4,
"status": "success",
"raw": "xyz789"
}
]
}
}
unlinkGnosisSafe
Description
Unlinks a Safe from it's Organization for linking to other Organizations
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - AccountID!
|
Example
Query
mutation UnlinkGnosisSafe($id: AccountID!) {
unlinkGnosisSafe(id: $id)
}
Variables
{"id": AccountID}
Response
{"data": {"unlinkGnosisSafe": false}}
unlinkGovernance
Description
Unlinks a Governance from it's Organization for linking to other Organizations
Response
Returns a Governance!
Arguments
Name | Description |
---|---|
id - AccountID!
|
Example
Query
mutation UnlinkGovernance($id: AccountID!) {
unlinkGovernance(id: $id) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{"id": AccountID}
Response
{
"data": {
"unlinkGovernance": {
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": true,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "xyz789",
"delegatedVotingPower": {},
"balance": {},
"slug": "xyz789"
}
}
}
updateAccount
Description
Updates tally stored Account
metadata (name, bio, picture, identity providers, etc)
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
name - String
|
|
bio - String
|
|
picture - String
|
|
identities - IdentitiesInput
|
Example
Query
mutation UpdateAccount(
$name: String,
$bio: String,
$picture: String,
$identities: IdentitiesInput
) {
updateAccount(
name: $name,
bio: $bio,
picture: $picture,
identities: $identities
)
}
Variables
{
"name": "xyz789",
"bio": "xyz789",
"picture": "xyz789",
"identities": IdentitiesInput
}
Response
{"data": {"updateAccount": false}}
updateChain
Response
Returns a Chain!
Example
Query
mutation UpdateChain(
$id: ChainID!,
$rpcURL: String,
$blockExplorerURL: String
) {
updateChain(
id: $id,
rpcURL: $rpcURL,
blockExplorerURL: $blockExplorerURL
) {
id
name
mediumName
shortName
blockTime
isTestnet
svg
nativeCurrency {
name
symbol
decimals
}
chain
blockExplorerURL
tenderlySupport
}
}
Variables
{
"id": ChainID,
"rpcURL": "xyz789",
"blockExplorerURL": "xyz789"
}
Response
{
"data": {
"updateChain": {
"id": ChainID,
"name": "abc123",
"mediumName": "xyz789",
"shortName": "xyz789",
"blockTime": 987.65,
"isTestnet": true,
"svg": "abc123",
"nativeCurrency": NativeCurrency,
"chain": "abc123",
"blockExplorerURL": "xyz789",
"tenderlySupport": false
}
}
}
updateFeature
Response
Returns a FeatureState!
Example
Query
mutation UpdateFeature(
$name: String!,
$value: Boolean!,
$governanceID: AccountID,
$accountID: AccountID,
$organizationID: ID
) {
updateFeature(
name: $name,
value: $value,
governanceID: $governanceID,
accountID: $accountID,
organizationID: $organizationID
) {
name
enabled
governance {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
account {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
}
}
Variables
{
"name": "xyz789",
"value": true,
"governanceID": AccountID,
"accountID": AccountID,
"organizationID": 4
}
Response
{
"data": {
"updateFeature": {
"name": "abc123",
"enabled": false,
"governance": Governance,
"account": Account,
"organization": Organization
}
}
}
updateGovernance
Description
Updates a Governance data using the given input parameters
Response
Returns a Governance!
Arguments
Name | Description |
---|---|
id - AccountID!
|
|
active - Boolean
|
|
name - String
|
|
slug - String
|
Example
Query
mutation UpdateGovernance(
$id: AccountID!,
$active: Boolean,
$name: String,
$slug: String
) {
updateGovernance(
id: $id,
active: $active,
name: $name,
slug: $slug
) {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
id
title
description
start {
...BlockFragment
}
end {
...BlockFragment
}
eta
block {
...BlockFragment
}
governanceId
governance {
...GovernanceFragment
}
executable {
...ExecutableFragment
}
proposer {
...AccountFragment
}
voteStats {
...VoteStatFragment
}
statusChanges {
...StatusChangeFragment
}
votes {
...VoteFragment
}
hash
tallyProposal {
...TallyProposalFragment
}
votingPower
}
tallyProposals {
id
onChainId
createdAt
title
description
creator {
...AccountFragment
}
status
hash
executableCalls {
...ExecutableCallFragment
}
governorProposal {
...ProposalFragment
}
governance {
...GovernanceFragment
}
poll {
...PollFragment
}
organization {
...OrganizationFragment
}
choices
}
stats {
proposals {
...ProposalStatsFragment
}
tokens {
...GovernanceTokenStatsFragment
}
}
organization {
id
slug
name
website
description
visual {
...VisualFragment
}
socialProfiles {
...SocialProfilesFragment
}
creator {
...AccountFragment
}
myRole
features {
...FeatureStateFragment
}
uxVersion
members {
...MemberFragment
}
governances {
...GovernanceFragment
}
votingParameters {
...VotingParametersFragment
}
requiresPasswordToJoin
adminData {
...OrganizationAdminDataFragment
}
}
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
chainId
delegates {
address
account {
...AccountFragment
}
participation {
...ParticipationFragment
}
}
active
quorum
timelockId
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
tokens {
id
type
address
name
symbol
supply
lastBlock
decimals
}
name
delegatedVotingPower
balance
slug
}
}
Variables
{
"id": AccountID,
"active": true,
"name": "abc123",
"slug": "abc123"
}
Response
{
"data": {
"updateGovernance": {
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": false,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "abc123",
"delegatedVotingPower": {},
"balance": {},
"slug": "abc123"
}
}
}
updateOrganization
Response
Returns an Organization!
Arguments
Name | Description |
---|---|
id - ID!
|
|
name - String
|
|
description - String
|
|
website - String
|
|
icon - String
|
|
color - String
|
|
contact - ContactInformationInput
|
|
socialProfiles - SocialProfilesInput
|
|
slug - String
|
Example
Query
mutation UpdateOrganization(
$id: ID!,
$name: String,
$description: String,
$website: String,
$icon: String,
$color: String,
$contact: ContactInformationInput,
$socialProfiles: SocialProfilesInput,
$slug: String
) {
updateOrganization(
id: $id,
name: $name,
description: $description,
website: $website,
icon: $icon,
color: $color,
contact: $contact,
socialProfiles: $socialProfiles,
slug: $slug
) {
id
slug
name
website
description
visual {
icon
color
}
socialProfiles {
Discord
Telegram
Twitter
Others {
...OtherLinkFragment
}
}
creator {
id
address
identities {
...IdentitiesFragment
}
name
bio
participations {
...ParticipationFragment
}
features {
...FeatureStateFragment
}
picture
activity {
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
}
organizations {
...OrganizationFragment
}
}
myRole
features {
name
enabled
governance {
...GovernanceFragment
}
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
}
uxVersion
members {
id
account {
...AccountFragment
}
organization {
...OrganizationFragment
}
role
pollVotesCount
}
governances {
id
parameters {
... on GovernorAlphaParameters {
...GovernorAlphaParametersFragment
}
... on GovernorBravoParameters {
...GovernorBravoParametersFragment
}
... on OpenZeppelinGovernorParameters {
...OpenZeppelinGovernorParametersFragment
}
}
proposals {
...ProposalFragment
}
tallyProposals {
...TallyProposalFragment
}
stats {
...GovernanceStatsFragment
}
organization {
...OrganizationFragment
}
contracts {
...ContractsFragment
}
chainId
delegates {
...DelegateFragment
}
active
quorum
timelockId
features {
...FeatureStateFragment
}
tokens {
...TokenFragment
}
name
delegatedVotingPower
balance
slug
}
votingParameters {
votingPeriod
bigVotingPeriod
requiredRole
quorum
proposalThreshold
}
requiresPasswordToJoin
adminData {
contact {
...ContactInformationFragment
}
password
}
}
}
Variables
{
"id": 4,
"name": "xyz789",
"description": "abc123",
"website": "abc123",
"icon": "xyz789",
"color": "xyz789",
"contact": ContactInformationInput,
"socialProfiles": SocialProfilesInput,
"slug": "xyz789"
}
Response
{
"data": {
"updateOrganization": {
"id": 4,
"slug": "xyz789",
"name": "abc123",
"website": "abc123",
"description": "abc123",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": false,
"adminData": OrganizationAdminData
}
}
}
updateOrganizationAdmins
Description
Updates the admins of organization. remove
should be a list of member IDs.
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - ID!
|
|
add - [AddAdmin!]
|
|
remove - [ID!]
|
Example
Query
mutation UpdateOrganizationAdmins(
$id: ID!,
$add: [AddAdmin!],
$remove: [ID!]
) {
updateOrganizationAdmins(
id: $id,
add: $add,
remove: $remove
)
}
Variables
{
"id": 4,
"add": [AddAdmin],
"remove": ["4"]
}
Response
{"data": {"updateOrganizationAdmins": false}}
updateOrganizationPassword
Description
Updates the organization password.
Example
Query
mutation UpdateOrganizationPassword(
$id: ID!,
$password: String!
) {
updateOrganizationPassword(
id: $id,
password: $password
)
}
Variables
{"id": 4, "password": "abc123"}
Response
{"data": {"updateOrganizationPassword": false}}
updateOrganizationVotingParameters
Description
Updates the voting parameters of organization.
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - ID!
|
|
parameters - UpdateVoteParameters!
|
Example
Query
mutation UpdateOrganizationVotingParameters(
$id: ID!,
$parameters: UpdateVoteParameters!
) {
updateOrganizationVotingParameters(
id: $id,
parameters: $parameters
)
}
Variables
{
"id": "4",
"parameters": UpdateVoteParameters
}
Response
{"data": {"updateOrganizationVotingParameters": false}}
updateParametersOZ
Response
Returns a Boolean!
Example
Query
mutation UpdateParametersOZ {
updateParametersOZ
}
Response
{"data": {"updateParametersOZ": false}}
updateProposal
Description
Updates a TallyProposal
.
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
proposalId - ID!
|
|
governanceId - AccountID!
|
|
update - UpdateProposalInput!
|
Example
Query
mutation UpdateProposal(
$proposalId: ID!,
$governanceId: AccountID!,
$update: UpdateProposalInput!
) {
updateProposal(
proposalId: $proposalId,
governanceId: $governanceId,
update: $update
)
}
Variables
{
"proposalId": "4",
"governanceId": AccountID,
"update": UpdateProposalInput
}
Response
{"data": {"updateProposal": false}}
updateSafe
Description
We are able to use updateSafe to change a gnosis safe name.
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - AccountID!
|
|
name - String!
|
Example
Query
mutation UpdateSafe(
$id: AccountID!,
$name: String!
) {
updateSafe(
id: $id,
name: $name
)
}
Variables
{
"id": AccountID,
"name": "abc123"
}
Response
{"data": {"updateSafe": true}}
upload
Response
Returns a File!
Arguments
Name | Description |
---|---|
file - UploadFile!
|
Example
Query
mutation Upload($file: UploadFile!) {
upload(file: $file) {
id
name
url
contentType
metadata {
thumbnail
url
}
}
}
Variables
{"file": UploadFile}
Response
{
"data": {
"upload": {
"id": "abc123",
"name": "abc123",
"url": "abc123",
"contentType": "xyz789",
"metadata": Image
}
}
}
vote
Response
Returns a Boolean!
Example
Query
mutation Vote(
$pollId: ID!,
$choice: String,
$support: String,
$reason: String,
$message: String!,
$signature: String!
) {
vote(
pollId: $pollId,
choice: $choice,
support: $support,
reason: $reason,
message: $message,
signature: $signature
)
}
Variables
{
"pollId": 4,
"choice": "abc123",
"support": "xyz789",
"reason": "xyz789",
"message": "abc123",
"signature": "xyz789"
}
Response
{"data": {"vote": false}}
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 |
identities - Identities
|
Linked Identities: i.e. ENS, Twitter stored in Tally |
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
|
|
features - [FeatureState!]
|
Feature flags |
picture - String
|
Picture URL |
activity - [ActivityItem!]
|
AccountActivity (votes, proposals created, etc). Currently only supports on chain governance. |
Arguments |
|
organizations - [Organization!]
|
Organizations the Account is a member of. Can be filtered to get only specific roles. |
Arguments |
Example
{
"id": "4",
"address": Address,
"identities": Identities,
"name": "xyz789",
"bio": "abc123",
"participations": [Participation],
"features": [FeatureState],
"picture": "xyz789",
"activity": [Proposal],
"organizations": [Organization]
}
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
AccountID
ActivityItem
AddAdmin
Fields
Input Field | Description |
---|---|
address - String!
|
|
role - OrganizationRole!
|
Example
{"address": "xyz789", "role": "SUPERADMIN"}
Address
Description
Address is a 20 byte Ethereum address, represented as 0x-prefixed hexadecimal.
Example
Address
AddressInfo
Fields
Field Name | Description |
---|---|
address - Address!
|
|
ethAccount - Account!
|
Account used for SIWE (auth). |
activity - [ActivityItem!]
|
Returns a list of AddressInfo Activity for a given address across all chains supported by Tally. Currently only supports on chain governances. |
Arguments |
|
accounts - [Account!]!
|
|
participations - [Participation!]!
|
|
Arguments
|
Example
{
"address": Address,
"ethAccount": Account,
"activity": [Proposal],
"accounts": [Account],
"participations": [Participation]
}
AssetID
Description
AssetID is a CAIP-19 compliant asset id.
Example
AssetID
BigInt
Description
BigInt is a large integer represented as a string.
Example
{}
Block
Fields
Field Name | Description |
---|---|
id - ID!
|
|
number - Long!
|
|
timestamp - Timestamp!
|
Example
{
"id": "4",
"number": {},
"timestamp": 1592577642
}
BlockID
Boolean
Description
The Boolean
scalar type represents true
or false
.
Bytes
Description
Bytes is an arbitrary length binary string, represented as 0x-prefixed hexadecimal.
Example
Bytes
Bytes32
Description
Bytes32 is a 32 byte binary string, represented as 0x-prefixed hexadecimal.
Example
Bytes32
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 |
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. |
svg - String
|
Icon SVG of the chain logo. |
nativeCurrency - NativeCurrency!
|
Data from chain native currency. |
chain - String!
|
Chain as parameter found in the eip. |
blockExplorerURL - String!
|
API url of the block explorer |
tenderlySupport - Boolean!
|
Boolean true if Tenderly supports simulations. |
Example
{
"id": ChainID,
"name": "abc123",
"mediumName": "abc123",
"shortName": "xyz789",
"blockTime": 123.45,
"isTestnet": false,
"svg": "abc123",
"nativeCurrency": NativeCurrency,
"chain": "xyz789",
"blockExplorerURL": "abc123",
"tenderlySupport": false
}
ChainID
Description
ChainID is a CAIP-2 compliant chain id.
Example
ChainID
Collectible
Example
{
"address": "xyz789",
"tokenName": "abc123",
"tokenSymbol": "xyz789",
"logoURI": "abc123",
"ID": "4",
"uri": "xyz789",
"name": "abc123",
"description": "xyz789",
"imageURI": "xyz789",
"metadata": "abc123"
}
Confirmation
Fields
Field Name | Description |
---|---|
owner - Account!
|
|
submissionDate - Timestamp!
|
|
signature - Bytes!
|
|
signatureType - String!
|
Example
{
"owner": Account,
"submissionDate": 1592577642,
"signature": Bytes,
"signatureType": "xyz789"
}
ContactInformation
ContactInformationInput
Contracts
Fields
Field Name | Description |
---|---|
governor - GovernorContract!
|
|
tokens - [TokenContract!]!
|
Example
{
"governor": GovernorContract,
"tokens": [TokenContract]
}
Cursor
Description
Define a Relay Cursor type: https://relay.dev/graphql/connections.htm#sec-Cursor
Example
Cursor
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": "xyz789",
"type": "xyz789",
"value": Bytes,
"calls": [ExecutableCall]
}
Delegate
Fields
Field Name | Description |
---|---|
address - Address!
|
|
account - Account!
|
|
participation - Participation!
|
Example
{
"address": Address,
"account": Account,
"participation": Participation
}
DelegateSort
Fields
Input Field | Description |
---|---|
field - DelegateSortField
|
|
order - SortOrder
|
Example
{"field": "CREATED", "order": "ASC"}
DelegateSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
"CREATED"
Delegation
DelegationWeightChange
Example
{
"token": Token,
"delegate": Account,
"prevBalance": {},
"newBalance": {},
"netChange": {},
"hash": Bytes32,
"block": Block,
"timestamp": 1592577642
}
DelegationWeightChangeSort
Fields
Input Field | Description |
---|---|
field - DelegationWeightChangeSortField
|
|
order - SortOrder
|
Example
{"field": "CREATED", "order": "ASC"}
DelegationWeightChangeSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"CREATED"
DelegationWeightStats
Executable
Fields
Field Name | Description |
---|---|
callDatas - [Bytes!]!
|
|
signatures - [Bytes!]!
|
|
targets - [Address!]!
|
|
values - [BigInt!]!
|
Example
{
"callDatas": [Bytes],
"signatures": [Bytes],
"targets": [Address],
"values": [{}]
}
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 - BigInt
|
Amount of native asset that will be sent to the target contract & method. |
recipe - Recipe
|
Tally Recipe that was used to create this call. |
memo - String
|
Transfer recipe memo |
media - String
|
Media context i.e. invoice file |
parameters - [DecodedParameter!]
|
DecodedParameter s sent to the method on the target contract.
|
simulations - [Simulation!]
|
Example
{
"target": AccountID,
"method": "xyz789",
"data": Bytes,
"value": {},
"recipe": "CUSTOM",
"memo": "xyz789",
"media": "xyz789",
"parameters": [DecodedParameter],
"simulations": [Simulation]
}
Feature
FeatureConnection
Description
A connection to a list of featues.
Fields
Field Name | Description |
---|---|
edges - [FeatureEdge]
|
A list of edges. |
pageInfo - PageInfo!
|
Information to aid in pagination. |
totalCount - Int!
|
Identifies the total count of features in the connection. |
Example
{
"edges": [FeatureEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
FeatureEdge
FeatureOrder
Fields
Input Field | Description |
---|---|
direction - OrderDirection!
|
|
field - FeatureOrderField
|
Example
{"direction": "ASC", "field": "NAME"}
FeatureOrderField
Values
Enum Value | Description |
---|---|
|
Example
"NAME"
FeatureState
Fields
Field Name | Description |
---|---|
name - String!
|
|
enabled - Boolean!
|
|
governance - Governance
|
|
account - Account
|
|
organization - Organization
|
Example
{
"name": "xyz789",
"enabled": false,
"governance": Governance,
"account": Account,
"organization": Organization
}
File
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
GnosisSafe
Fields
Field Name | Description |
---|---|
name - String
|
GnosisSafe name to help distinguish it. |
id - AccountID!
|
GnosisSafe smart contract AccountID. |
nonce - Int!
|
A counter of the amount of transactions executed on the safe. |
threshold - Int!
|
The amount of confirmations (owner signatures) that are required to execute a transaction. |
owners - [Account!]!
|
A list of owner Accounts. The Account includes participations, but we haven't included gnosis safe owners or signers in the participations yet. |
version - String!
|
GnosisSafe smart contract version. |
balance - Treasury
|
Values of all Tokens in this Gnosis Safe |
collectibles - [Collectible]
|
Example
{
"name": "xyz789",
"id": AccountID,
"nonce": 123,
"threshold": 987,
"owners": [Account],
"version": "abc123",
"balance": Treasury,
"collectibles": [Collectible]
}
GnosisSafeTransaction
Description
A transaction can be SUBMITTED
or EXECUTED
. An EXECUTED
transaction will include a block and an on chain txHashID.
Fields
Field Name | Description |
---|---|
id - HashID!
|
Chain scoped safeTxHash- https://github.com/safe-global/safe-contracts/blob/da66b45ec87d2fb6da7dfd837b29eacdb9a604c5/contracts/GnosisSafe.sol#L353-L394. |
safeID - AccountID!
|
GnosisSafe smart contract AccountID.
|
block - Block
|
Block at which this safe transaction was executed.
|
txHashID - HashID
|
Ethereum transaction hash of the executed transaction. |
safeTxHashID - HashID
|
Chain scoped safeTxHash- https://github.com/safe-global/safe-contracts/blob/da66b45ec87d2fb6da7dfd837b29eacdb9a604c5/contracts/GnosisSafe.sol#L353-L394. |
signatures - Bytes
|
Executed transaction verified signatures. |
nonce - BigInt
|
Current counter of multisig transactions executed on this safe. No two transactions on this contract will have the same nonce . |
confirmations - [Confirmation!]!
|
All the owners that have signed the transaction. |
statusChanges - [GnosisStatusChange!]!
|
A list of all states the transaction has been through with a timestamp. A transaction can be SUBMITTED or EXECUTED . Similar to a governor proposal. |
call - ExecutableCall
|
Describes what happens if it is executed. This includes a target smart contract address as well as the method and input data being used to make the call. 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. Each call includes a recipe placeholder if the call was created on Tally. |
Example
{
"id": HashID,
"safeID": AccountID,
"block": Block,
"txHashID": HashID,
"safeTxHashID": HashID,
"signatures": Bytes,
"nonce": {},
"confirmations": [Confirmation],
"statusChanges": [GnosisStatusChange],
"call": ExecutableCall
}
GnosisStatusChange
Fields
Field Name | Description |
---|---|
type - GnosisStatusChangeType!
|
|
timestamp - Timestamp!
|
Example
{"type": "SUBMITTED", "timestamp": 1592577642}
GnosisStatusChangeType
Values
Enum Value | Description |
---|---|
|
|
|
Example
"SUBMITTED"
Governance
Fields
Field Name | Description |
---|---|
id - AccountID!
|
|
parameters - GovernanceParameters!
|
|
proposals - [Proposal!]!
|
|
Arguments |
|
tallyProposals - [TallyProposal!]!
|
|
Arguments |
|
stats - GovernanceStats!
|
|
organization - Organization!
|
|
contracts - Contracts!
|
|
chainId - ChainID!
|
|
delegates - [Delegate!]!
|
|
Arguments
|
|
active - Boolean!
|
|
quorum - BigInt!
|
|
timelockId - AccountID
|
|
features - [FeatureState!]
|
|
tokens - [Token!]!
|
|
name - String!
|
|
delegatedVotingPower - BigInt!
|
|
Arguments
|
|
balance - BigInt!
|
|
Arguments
|
|
slug - String!
|
Example
{
"id": AccountID,
"parameters": GovernorAlphaParameters,
"proposals": [Proposal],
"tallyProposals": [TallyProposal],
"stats": GovernanceStats,
"organization": Organization,
"contracts": Contracts,
"chainId": ChainID,
"delegates": [Delegate],
"active": false,
"quorum": {},
"timelockId": AccountID,
"features": [FeatureState],
"tokens": [Token],
"name": "xyz789",
"delegatedVotingPower": {},
"balance": {},
"slug": "abc123"
}
GovernanceArgs
Fields
Input Field | Description |
---|---|
id - AccountID!
|
|
type - GovernanceType!
|
|
start - Long!
|
Example
{"id": AccountID, "type": "GOVERNORALPHA", "start": {}}
GovernanceParameters
Types
Union Types |
---|
Example
GovernorAlphaParameters
GovernanceSort
Fields
Input Field | Description |
---|---|
field - GovernanceSortField
|
|
order - SortOrder
|
Example
{"field": "TOTAL_PROPOSALS", "order": "ASC"}
GovernanceSortField
Values
Enum Value | Description |
---|---|
|
|
|
Example
"TOTAL_PROPOSALS"
GovernanceStats
Fields
Field Name | Description |
---|---|
proposals - ProposalStats!
|
|
tokens - GovernanceTokenStats!
|
Example
{
"proposals": ProposalStats,
"tokens": GovernanceTokenStats
}
GovernanceSync
Fields
Field Name | Description |
---|---|
id - AccountID!
|
|
start - Long!
|
|
type - GovernanceType!
|
|
tokenId - AssetID!
|
Example
{
"id": AccountID,
"start": {},
"type": "GOVERNORALPHA",
"tokenId": AssetID
}
GovernanceTokenStats
GovernanceType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"GOVERNORALPHA"
GovernanceTypeData
Fields
Field Name | Description |
---|---|
type - GovernanceType!
|
|
name - String!
|
Example
{"type": "GOVERNORALPHA", "name": "xyz789"}
GovernorAlphaParameters
Example
{
"quorumVotes": {},
"proposalThreshold": {},
"votingDelay": {},
"votingPeriod": {},
"quorumNumerator": {},
"quorumDenominator": {}
}
GovernorBravoParameters
Example
{
"quorumVotes": {},
"proposalThreshold": {},
"votingDelay": {},
"votingPeriod": {},
"quorumNumerator": {},
"quorumDenominator": {}
}
GovernorContract
Fields
Field Name | Description |
---|---|
address - Address!
|
|
type - GovernanceType!
|
|
lastBlock - Long!
|
Example
{
"address": Address,
"type": "GOVERNORALPHA",
"lastBlock": {}
}
GovernorExecutableCallInput
Fields
Input Field | 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 - BigInt!
|
Amount of native asset that will be sent to the target contract & method. |
recipe - Recipe!
|
Tally Recipe that was used to create this call. |
memo - String
|
Transfer recipe memo |
media - String
|
Media context i.e. invoice file |
Example
{
"target": AccountID,
"method": "abc123",
"data": Bytes,
"value": {},
"recipe": "CUSTOM",
"memo": "abc123",
"media": "abc123"
}
HashID
Description
HashID is a ChainID scoped identifier for identifying transactions across chains. Ex: eip155:1:0xDEAD.
Example
HashID
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
Identities
IdentitiesInput
Fields
Input Field | Description |
---|---|
twitter - TwitterIdentity
|
Example
{"twitter": TwitterIdentity}
Image
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
Long
Description
Long is a 64 bit unsigned integer.
Example
{}
Member
Fields
Field Name | Description |
---|---|
id - ID!
|
|
account - Account!
|
|
organization - Organization!
|
|
role - OrganizationRole!
|
|
pollVotesCount - Int!
|
Number of polls the member has voted on. |
Example
{
"id": "4",
"account": Account,
"organization": Organization,
"role": "SUPERADMIN",
"pollVotesCount": 123
}
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
An object with an ID. Follows the Relay Global Object Identification Specification
Fields
Field Name | Description |
---|---|
id - ID!
|
The id of the object. |
Possible Types
Node Types |
---|
Example
{"id": 4}
OpenZeppelinGovernorParameters
Example
{
"quorumVotes": {},
"proposalThreshold": {},
"votingDelay": {},
"votingPeriod": {},
"quorumNumerator": {},
"quorumDenominator": {}
}
OrderDirection
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ASC"
OrgMember
Fields
Input Field | Description |
---|---|
id - AccountID!
|
|
role - OrganizationRole
|
Example
{"id": AccountID, "role": "SUPERADMIN"}
OrgUxVersion
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
|
|
myRole - OrganizationRole
|
|
features - [FeatureState!]
|
|
uxVersion - OrgUxVersion!
|
Organization type, for UX purposes only. |
members - [Member!]!
|
Returns members of the organization, optional roles filter. |
Arguments |
|
governances - [Governance!]!
|
|
Arguments
|
|
votingParameters - VotingParameters
|
|
requiresPasswordToJoin - Boolean!
|
|
adminData - OrganizationAdminData
|
Can only be accessed by a TallyAdmin or Organization Admin |
Example
{
"id": 4,
"slug": "abc123",
"name": "xyz789",
"website": "abc123",
"description": "xyz789",
"visual": Visual,
"socialProfiles": SocialProfiles,
"creator": Account,
"myRole": "SUPERADMIN",
"features": [FeatureState],
"uxVersion": "governor",
"members": [Member],
"governances": [Governance],
"votingParameters": VotingParameters,
"requiresPasswordToJoin": true,
"adminData": OrganizationAdminData
}
OrganizationAdminData
Fields
Field Name | Description |
---|---|
contact - ContactInformation
|
|
password - String
|
Example
{
"contact": ContactInformation,
"password": "xyz789"
}
OrganizationArgs
OrganizationRole
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"SUPERADMIN"
OrganizationSort
Fields
Input Field | Description |
---|---|
field - OrganizationSortField
|
|
order - SortOrder
|
Example
{"field": "ID", "order": "ASC"}
OrganizationSortField
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ID"
OtherLink
OtherLinkInput
PageInfo
Fields
Field Name | Description |
---|---|
hasNextPage - Boolean!
|
When paginating forwards, are there more items? |
hasPreviousPage - Boolean!
|
When paginating backwards, are there more items? |
startCursor - Cursor
|
When paginating backwards, the cursor to continue. |
endCursor - Cursor
|
When paginating forwards, the cursor to continue. |
Example
{
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": Cursor,
"endCursor": Cursor
}
Pagination
Participation
Fields
Field Name | Description |
---|---|
governance - Governance!
|
|
votes - [Vote!]!
|
|
Arguments
|
|
proposals - [Proposal!]!
|
|
Arguments
|
|
stats - ParticipationStats!
|
|
delegationsIn - [Delegation!]!
|
|
delegationOut - Delegation
|
|
weightChanges - [DelegationWeightChange!]!
|
|
Arguments
|
Example
{
"governance": Governance,
"votes": [Vote],
"proposals": [Proposal],
"stats": ParticipationStats,
"delegationsIn": [Delegation],
"delegationOut": Delegation,
"weightChanges": [DelegationWeightChange]
}
ParticipationDelegationStats
Fields
Field Name | Description |
---|---|
total - Int!
|
Example
{"total": 123}
ParticipationProposalStats
Fields
Field Name | Description |
---|---|
total - Int!
|
Example
{"total": 123}
ParticipationRate
ParticipationStats
Fields
Field Name | Description |
---|---|
delegations - ParticipationDelegationStats!
|
|
weight - ParticipationWeightStats!
|
|
proposals - ParticipationProposalStats!
|
|
participationRate - ParticipationRate!
|
|
votes - ParticipationVoteStats!
|
Example
{
"delegations": ParticipationDelegationStats,
"weight": ParticipationWeightStats,
"proposals": ParticipationProposalStats,
"participationRate": ParticipationRate,
"votes": ParticipationVoteStats
}
ParticipationVoteStats
Fields
Field Name | Description |
---|---|
total - Int!
|
Example
{"total": 123}
ParticipationWeightStats
Fields
Field Name | Description |
---|---|
total - BigInt!
|
|
owned - BigInt!
|
|
delegations - DelegationWeightStats!
|
Example
{
"total": {},
"owned": {},
"delegations": DelegationWeightStats
}
Poll
Fields
Field Name | Description |
---|---|
id - ID!
|
|
createdAt - Timestamp!
|
|
start - BigInt!
|
|
end - BigInt!
|
|
startTs - Timestamp!
|
|
endTs - Timestamp!
|
|
snapshot - BigInt!
|
|
quorum - BigInt!
|
|
author - Account!
|
|
status - PollStatus!
|
|
tallyProposal - TallyProposal!
|
|
votes - [PollVote!]
|
|
Arguments
|
|
voteStats - [VoteStat!]
|
|
pollVoteStats - [PollVoteStat!]
|
|
myVotingPower - BigInt!
|
Example
{
"id": "4",
"createdAt": 1592577642,
"start": {},
"end": {},
"startTs": 1592577642,
"endTs": 1592577642,
"snapshot": {},
"quorum": {},
"author": Account,
"status": "DRAFT",
"tallyProposal": TallyProposal,
"votes": [PollVote],
"voteStats": [VoteStat],
"pollVoteStats": [PollVoteStat],
"myVotingPower": {}
}
PollStatus
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"DRAFT"
PollVote
PollVoteStat
Proposal
Fields
Field Name | Description |
---|---|
id - ID!
|
|
title - String!
|
|
description - String!
|
|
start - Block!
|
|
end - Block!
|
|
eta - BigInt
|
|
block - Block!
|
|
governanceId - AccountID!
|
|
governance - Governance!
|
|
executable - Executable!
|
|
proposer - Account!
|
|
voteStats - [VoteStat!]
|
|
statusChanges - [StatusChange!]
|
|
votes - [Vote!]
|
|
Arguments |
|
hash - String!
|
|
tallyProposal - TallyProposal
|
|
votingPower - BigInt!
|
|
Arguments
|
Example
{
"id": 4,
"title": "xyz789",
"description": "xyz789",
"start": Block,
"end": Block,
"eta": {},
"block": Block,
"governanceId": AccountID,
"governance": Governance,
"executable": Executable,
"proposer": Account,
"voteStats": [VoteStat],
"statusChanges": [StatusChange],
"votes": [Vote],
"hash": "abc123",
"tallyProposal": TallyProposal,
"votingPower": {}
}
ProposalActionAttempt
Description
The ProposalActionAttempt
type represents the stored attempt of a user attempting an action on a Proposal
.
Fields
Field Name | Description |
---|---|
actionUser - Account!
|
|
txID - HashID!
|
|
proposal - Proposal!
|
|
actionType - ProposalActionType!
|
|
createdAt - Timestamp!
|
Example
{
"actionUser": Account,
"txID": HashID,
"proposal": Proposal,
"actionType": "QUEUE",
"createdAt": 1592577642
}
ProposalActionType
Description
The ProposalActionType
type represents the attempted action on a Proposal
as part of a ProposalActionAttempt
.
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"QUEUE"
ProposalSort
Fields
Input Field | Description |
---|---|
field - ProposalSortField
|
|
order - SortOrder
|
Example
{"field": "START_BLOCK", "order": "ASC"}
ProposalSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"START_BLOCK"
ProposalStats
ProposalStatusType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"PENDING"
Recipe
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
"CUSTOM"
Role
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ADMIN"
Simulation
Fields
Field Name | Description |
---|---|
id - ID!
|
|
status - SimulationStatus!
|
|
raw - String!
|
Example
{
"id": 4,
"status": "success",
"raw": "abc123"
}
SimulationStatus
Values
Enum Value | Description |
---|---|
|
|
|
Example
"success"
SocialProfiles
Fields
Field Name | Description |
---|---|
Discord - String
|
|
Telegram - String
|
|
Twitter - String
|
|
Others - [OtherLink]
|
Example
{
"Discord": "abc123",
"Telegram": "xyz789",
"Twitter": "xyz789",
"Others": [OtherLink]
}
SocialProfilesInput
Fields
Input Field | Description |
---|---|
Discord - String
|
|
Telegram - String
|
|
Twitter - String
|
|
Others - [OtherLinkInput]
|
Example
{
"Discord": "abc123",
"Telegram": "abc123",
"Twitter": "abc123",
"Others": [OtherLinkInput]
}
SortOrder
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ASC"
StatusChange
Fields
Field Name | Description |
---|---|
type - ProposalStatusType!
|
|
blockNumber - Long!
|
|
blockTimestamp - Timestamp!
|
|
txHash - String
|
Example
{
"type": "PENDING",
"blockNumber": {},
"blockTimestamp": 1592577642,
"txHash": "xyz789"
}
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"
SupportType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"ABSTAIN"
TallyProposal
Fields
Field Name | Description |
---|---|
id - ID!
|
|
onChainId - ID
|
|
createdAt - Timestamp!
|
|
title - String!
|
|
description - String!
|
|
creator - Account!
|
|
status - TallyProposalStatus!
|
|
hash - String
|
|
executableCalls - [ExecutableCall!]
|
|
governorProposal - Proposal
|
|
governance - Governance
|
|
poll - Poll
|
|
organization - Organization!
|
|
choices - [String!]
|
Example
{
"id": 4,
"onChainId": 4,
"createdAt": 1592577642,
"title": "abc123",
"description": "xyz789",
"creator": Account,
"status": "DRAFT",
"hash": "abc123",
"executableCalls": [ExecutableCall],
"governorProposal": Proposal,
"governance": Governance,
"poll": Poll,
"organization": Organization,
"choices": ["abc123"]
}
TallyProposalSort
Fields
Input Field | Description |
---|---|
field - TallyProposalSortField
|
|
order - SortOrder
|
Example
{"field": "CREATED_AT", "order": "ASC"}
TallyProposalSortField
Values
Enum Value | Description |
---|---|
|
Example
"CREATED_AT"
TallyProposalStatus
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"DRAFT"
TimeInterval
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ALL"
Timestamp
Description
Timestamp is a RFC3339 string.
Example
1592577642
Token
Example
{
"id": 4,
"type": "ERC20",
"address": Address,
"name": "abc123",
"symbol": "abc123",
"supply": {},
"lastBlock": {},
"decimals": 123
}
TokenArgs
TokenBalance
TokenContract
Fields
Field Name | Description |
---|---|
address - Address!
|
|
lastBlock - Long!
|
|
type - TokenType!
|
Example
{"address": Address, "lastBlock": {}, "type": "ERC20"}
TokenSync
TokenType
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ERC20"
Treasury
Fields
Field Name | Description |
---|---|
totalUSDValue - String!
|
|
tokens - [TokenBalance!]!
|
Example
{
"totalUSDValue": "abc123",
"tokens": [TokenBalance]
}
TwitterIdentity
UpdateProposalInput
Fields
Input Field | Description |
---|---|
status - TallyProposalStatus
|
|
txHash - String
|
Example
{"status": "DRAFT", "txHash": "xyz789"}
UpdateVoteParameters
Fields
Input Field | Description |
---|---|
quorum - BigInt
|
|
votingPeriod - Int
|
|
role - OrganizationRole
|
|
proposalThreshold - BigInt
|
Example
{
"quorum": {},
"votingPeriod": 987,
"role": "SUPERADMIN",
"proposalThreshold": {}
}
Upload
Description
The Upload
scalar type represents a multipart file upload.
Example
Upload
UploadFile
Visual
Vote
Example
{
"id": "4",
"voter": Account,
"hash": Bytes32,
"support": "ABSTAIN",
"weight": {},
"block": Block,
"reason": "xyz789",
"proposal": Proposal
}
VoteAttempt
Description
The VoteAttempt
type represents the stored attempt of a user that tried voting on a given proposal.
Fields
Field Name | Description |
---|---|
voter - Account!
|
|
txID - HashID!
|
|
proposal - Proposal!
|
|
createdAt - Timestamp!
|
|
support - SupportType!
|
Example
{
"voter": Account,
"txID": HashID,
"proposal": Proposal,
"createdAt": 1592577642,
"support": "ABSTAIN"
}
VoteSort
Fields
Input Field | Description |
---|---|
field - VoteSortField
|
|
order - SortOrder
|
Example
{"field": "CREATED", "order": "ASC"}
VoteSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"CREATED"
VoteStat
Fields
Field Name | Description |
---|---|
support - SupportType!
|
|
weight - BigInt!
|
|
votes - BigInt!
|
|
percent - Float!
|
Example
{"support": "ABSTAIN", "weight": {}, "votes": {}, "percent": 987.65}
VotingParameters
Fields
Field Name | Description |
---|---|
votingPeriod - Long!
|
Voting period defined in s, defaults to 172800 (2 days). |
bigVotingPeriod - BigInt!
|
|
requiredRole - OrganizationRole!
|
Role user needs to have to update the voting parameters. |
quorum - BigInt
|
|
proposalThreshold - BigInt
|
Example
{
"votingPeriod": {},
"bigVotingPeriod": {},
"requiredRole": "SUPERADMIN",
"quorum": {},
"proposalThreshold": {}
}