Introduction
The Compound API input and output formats are specified by Protocol Buffers, known colloquially as protobufs. Unlike typical protobufs endpoints, the Compound endpoints support JSON for input and output in addition to the protobufs binary format. To use JSON in both the input and the output, specify the headers "Content-Type: application/json" and "Accept: application/json" in the request.
The Compound API no longer supports the Ethereum testnets.
It is a possibility that in the future, API keys will be required to access the API.
AccountService
The Account API retrieves information for various accounts which have interacted with Compound. You can use this API to pull data about a specific account by address, or alternatively, pull data for a list of unhealthy accounts (that is, accounts which are approaching under-collateralization).
// Retreives list of accounts and related supply and borrow balances.
fetch("https://api.compound.finance/api/v2/account");
// Returns details for given account
fetch("https://api.compound.finance/api/v2/account?addresses[]=0x00..");
GET: /account
AccountRequest
The request to the account API can specify a number filters, such as which addresses to retrieve information about or general health requirements. The following shows an example set of request parameters in JSON:
{
"addresses": [] // returns all accounts if empty or not included
"block_number": 0 // returns latest if given 0
"max_health": { "value": "10.0" }
"min_borrow_value_in_eth": { "value": "0.002" }
"page_number": 1
"page_size": 10
}
Type | Key | Description |
---|---|---|
bytes | addresses | List of account addresses to filter on, e.g.: ["0x...", ,"0x..."] (Optional) |
Precise | min_borrow_value_in_eth | Filter for accounts which total outstanding borrows exceeding given amount. (Optional) |
Precise | max_health | Filter for accounts where outstanding borrows divided by collateral value is less than the provided amount. If returned value is less than 1.0, for instance, the account is subject to liquidation. If provided, should be given as { "value": "...string formatted number..." } (Optional) |
uint32 | block_number | If provided, API returns data for given block number from our historical data. Otherwise, API defaults to returning the latest information. (Optional) |
uint32 | block_timestamp | If provided, API returns data for given timestamp from our historical data. Otherwise, API defaults to returning the latest information. (Optional) |
uint32 | page_size | Number of accounts to include in the response, default is 10 e.g. page_size=10 (Optional) |
uint32 | page_number | Pagination number for accounts in the response, default is 1 e.g. page_number=1 (Optional) |
AccountResponse
The account API returns an overall picture of accounts matching the filters on Compound.
Type | Key | Description | |
---|---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_PAGE_NUMBER = 2; INVALID_PAGE_SIZE = 3; | |
AccountRequest | request | The request parameters are echoed in the response. | |
PaginationSummary | pagination_summary | For example | { "page_number": 1, "page_size": 100, "total_entries": 83, "total_pages": 1 } |
Account | accounts | The list of accounts (see Account below) matching the requested filter, with the associated account and cToken data. |
Account
This includes a list of cTokens contextualized to each account.
{
"address": "0xbac065be2e8ca097e9ac924e94af000dd3a5663"
"health": { "value": "1.07264275673050348990755599431194797431802239523113293682619605751591901" }
"tokens": [
{
"address": "0xf5dce57282a584d2746faf1593d3121fcac444dc"
"borrow_balance_underlying": {"value": "131.4682716123015"}
"lifetime_borrow_interest_accrued": {"value": "0.44430505829286"}
"lifetime_supply_interest_accrued": {"value": "0.0000021671829864899976"}
"supply_balance_underlying": {"value": "0.0"}
}
],
"total_borrow_value_in_eth": {"value": "0.5100157047140227313856015174794473200000000000000000000000000000" }
"total_collateral_value_in_eth": {"value": "0.54706465148029978664135447293587201124121731200000000000000000000000000" }
}
Type | Key | Description |
---|---|---|
bytes | address | The public Ethereum address of the account |
Precise | total_collateral_value_in_eth | The value of all collateral supplied by the account. Calculated as cTokens held • exchange rate • collateral factor. Note: assets can be supplied and gain interest without being counted as collateral. |
Precise | total_borrow_value_in_eth | The value of all outstanding borrows with accumulated interest. |
Precise | health | total_collateral_value_in_eth / total_borrow_value_in_eth. If this value is less than 1.0, the account is subject to liquidation. |
int32 | block_updated | |
AccountCToken | tokens | A list of tokens held by this account, see AccountCToken below for details. |
AccountCToken
An account's supply, borrow, and interest information for a particular cToken.
{
"address": "0xf5dce57282a584d2746faf1593d3121fcac444dc"
"borrow_balance_underlying": {"value": "131.4682716123015"}
"lifetime_borrow_interest_accrued": {"value": "0.44430505829286"}
"lifetime_supply_interest_accrued": {"value": "0.0000021671829864899976"}
"supply_balance_underlying": {"value": "0.0"}
}
Type | Key | Description |
---|---|---|
bytes | address | The address of the cToken |
string | symbol | The symbol of the cToken |
Precise | supply_balance_underlying | The cToken balance converted to underlying tokenscTokens held • exchange rate |
Precise | borrow_balance_underlying | The borrow balance (this is denominated in the underlying token, not in cTokens) |
Precise | lifetime_supply_interest_accrued | The amount of supply interest accrued for the lifetime of this account-cToken pair. |
Precise | lifetime_borrow_interest_accrued | The amount of borrow interest accrued for the lifetime of this account-cToken pair. |
Precise | safe_withdraw_amount_underlying | The amount of supply that can be withdrawn such that the user's health remains at 1.25 or higher. |
CTokenService
GET: /ctoken
CTokenRequest
The request to the cToken API can specify a number filters, such as which tokens to retrieve information about or moment in time. The following shows an example set of request parameters in JSON:
{
"addresses": [] // returns all tokens if empty or not included
"block_timestamp": 0 // returns latest information if given 0
}
Type | Key | Description |
---|---|---|
bytes | addresses | List of token addresses to filter on, e.g.: ["0x...", ,"0x..."] (Optional) |
uint32 | block_number | Only one of block_number or block timestamp should be provided. If provided, API returns data for given block number from our historical data. Otherwise, API defaults to returning the latest information. (Optional) |
uint32 | block_timestamp | Only one of block_number or block timestamp should be provided. If provided, API returns data for given block timestamp from our historical data. Otherwise, API defaults to returning the latest information. (Optional) |
bool | meta | Pass true to get metadata for the token addresses specified. (Optional) |
CTokenResponse
The cToken API returns an overall picture of cTokens matching the filter.
Type | Key | Description |
---|---|---|
Error | error | |
CTokenRequest | request | The request parameters are echoed in the response. |
CToken | cToken | The list of cToken (see CToken below) matching the requested filter. |
CTokenMeta | meta | Metadata for all CTokens specified |
CToken
This includes a list of cTokens contextualized to the full market.
{
"cToken": [{
"borrow_rate": {"value": "0.051453109785093843"},
"cash": {"value": "514.078443"},
"collateral_factor": {"value": "0.80000000000000000"},
"exchange_rate": {"value": "0.020024242770802729"},
"interest_rate_model_address": "0x1a43bfd39b15dcf444e17ab408c4b5be32deb7f5",
"name": "Compound USD Coin",
"number_of_borrowers": 3,
"number_of_suppliers": 34,
"reserves": {"value": "0"},
"reserve_factor": {"value": "0.10000000000000000"},
"supply_rate": {"value": "0.013237112532748109"},
"symbol": "cUSDC",
"token_address": "0x5b281a6dda0b271e91ae35de655ad301c976edb1",
"total_borrows": {"value": "178.064546"},
"total_supply": {"value": "34565.25157651"},
"underlying_address": "0x4dbcdf9b62e891a7cec5a2568c3f4faf9e8abe2b",
"underlying_name": "USD Coin",
"underlying_price": {"value": "0.0041368287055953530000000000"},
"underlying_symbol":"USDC"
}],
"error": null,
"request": {
"addresses": ["0x5b281a6dda0b271e91ae35de655ad301c976edb1"],
"block_number": 4515576,
"block_timestamp": 0
}
}
Type | Key | Description |
---|---|---|
bytes | token_address | The public Ethereum address of the cToken |
Precise | total_supply | The number of cTokens in existence |
Precise | total_borrows | The amount of underlying tokens borrowed from the cToken |
Precise | reserves | The amount of underylying tokens held by reserves |
Precise | cash | The current liquidity of the cToken |
Precise | exchange_rate | The cToken / underlying exchange rate. This rate increases over time as supply interest accrues. |
Precise | supply_rate | The floating supply interest rate |
Precise | borrow_rate | The floating borrow interest rate |
Precise | collateral_factor | The amount of the value of the underlying token that will count as collateral. eg. cEth with collataral factor 0.75 means 1 eth of supply allows 0.75 eth of borrowing. |
uint32 | number_of_suppliers | The number of accounts holding this cToken |
uint32 | number_of_borrowers | The number of accounts with oustanding borrows |
Precise | underlying_price | The price of the underlying token in eth |
bytes | underlying_address | The address of the underlying token |
string | symbol | The symbol of the ctoken |
string | name | The name of the ctoken |
string | underlying_symbol | The symbol of the underlying token |
string | underlying_name | The name of the underlying token |
bytes | interest_rate_model_address | The address of the interest rate model |
Precise | reserve_factor | The amount of borrow interest that is converted into reserves |
Precise | comp_supply_apy | The floating comp apy for supplying this token |
Precise | comp_borrow_apy | The floating comp apy for borrowing this token |
Precise | borrow_cap | The maximum size of total borrows for this market, beyond which no new borrows will be given |
CTokenMeta
Type | Key | Description |
---|---|---|
uint32 | unique_suppliers | Number of non-duplicate suppliers between all specified markets |
uint32 | unique_borrowers | Number of non-duplicate borrowers between all specified markets |
MarketHistoryService
The market history service retrieves historical information about a market. You can use this API to find out the values of interest rates at a certain point in time. Its especially useful for making charts and graphs of the time-series values.
// Returns 10 buckets of market data
fetch("https://api.compound.finance/api/v2/market_history/graph?asset=0xf5dce57282a584d2746faf1593d3121fcac444dc&min_block_timestamp=1556747900&max_block_timestamp=1559339900&num_buckets=10");
GET: /graph
MarketHistoryGraphRequest
The market history graph API returns information about a market between two timestamps. The requestor can choose the asset and number of buckets to return within the range. For example:
{
"asset": "0xf5dce57282a584d2746faf1593d3121fcac444dc",
"min_block_timestamp": 1556747900,
"max_block_timestamp": 1559339900,
"num_buckets": 10
}
Type | Key | Description |
---|---|---|
bytes | asset | The requested asset |
uint32 | min_block_timestamp | Unix epoch time in seconds |
uint32 | max_block_timestamp | Unix epoch time in seconds |
uint32 | num_buckets | How many buckets to group data points in |
MarketHistoryGraphResponse
The market history graph API response contains the rates for both suppliers and borrowers, as well as the sequence of total supply and borrows for the given market.
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_REQUEST = 2 |
bytes | asset | The asset in question |
Rate | supply_rates | The historical interest rates for suppliers |
Rate | borrow_rates | The historical interest rates for borrowers |
MarketTotal | total_supply_history | The historical total supply amounts for the market |
MarketTotal | total_borrows_history | The historical total borrow amounts for the market |
Rate | exchange_rates | The historical exchange rate |
Price | prices_usd | The historical usd price of asset |
MarketTotal
Type | Key | Description |
---|---|---|
uint32 | block_number | The block number of the data point |
uint32 | block_timestamp | The timestamp of the block of the data point |
Precise | total | The total value of the asset in asset-WEI terms. |
Price
Type | Key | Description |
---|---|---|
uint32 | block_number | The block number of the data point |
uint32 | block_timestamp | The timestamp of the block of the data point |
Precise | price | The price of the underlying token in usd at that block number |
Rate
Type | Key | Description |
---|---|---|
uint32 | block_number | The block number of the data point |
uint32 | block_timestamp | The timestamp of the block of the data point |
double | rate | The rate as a value between 0 and 1 |
GovernanceService
The Governance Service includes three endpoints to retrieve information about COMP accounts, governance proposals, and proposal vote receipts. You can use the APIs below to pull data about the Compound governance system:
// Retreives a list of governance proposals
fetch("https://api.compound.finance/api/v2/governance/proposals");
// Retreives a list of governance proposal vote receipts
fetch("https://api.compound.finance/api/v2/governance/proposal_vote_receipts");
// Retreives a list of COMP accounts
fetch("https://api.compound.finance/api/v2/governance/accounts");
GET: /governance/proposals
ProposalRequest
The request to the Proposal API can specify a number of filters, such as which ids to retrieve information about or state of proposals.
Type | Key | Description |
---|---|---|
uint32 | proposal_ids | List of ids to filter on, e.g.: ?proposal_ids[]=23,25 (Optional) |
string | state | The state of the proposal to filter on, (e.g.: "pending", "active", "canceled", "defeated", "succeeded", "queued", "expired", "executed") (Optional) |
bool | with_detail | Set as true to include proposer and action data, default is false (Optional) |
uint32 | page_size | Number of proposals to include in the response, default is 10 e.g. page_size=10 (Optional) |
uint32 | page_number | Pagination number for proposals in the response, default is 1 e.g. page_number=1 (Optional) |
ProposalResponse
The Proposal API returns a list of proposals that match the given filters on the request in descending order by proposal_id.
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_PAGE_NUMBER = 2; INVALID_PAGE_SIZE = 3; INVALID_PROPOSAL_ID = 4; INVALID_PROPOSAL_STATE = 5; |
ProposalRequest | request | The request parameters are echoed in the response. |
PaginationSummary | pagination_summary | For example: { "page_number": 1, "page_size": 100, "total_entries": 83, "total_pages": 1 } |
Proposal | proposals | The list of proposals matching the requested filter |
DisplayCompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
Proposal
Type | Key | Description |
---|---|---|
uint32 | id | Unique ID for looking up a proposal |
string | title | The title that describes the proposal |
string | description | A description of the actions the proposal will take if successful |
DisplayCompAccount | proposer | Eithernull or an object with data about the creator of the proposal (See DisplayCompAccount). Only populated when request submitted with_detail=true |
ProposalAction | actions | Either null or an array of actions (See ProposalAction) that will be queued and executed if proposal succeeds. Only populated when request submitted with_detail=true |
ProposalState | states | An array of states (See ProposalState) that represent the state transitions that the proposal has undergone |
string | for_votes | The number of votes in support of the proposal |
string | against_votes | The number of votes in opposition to this proposal |
ProposalAction
Type | Key | Description |
---|---|---|
string | title | The title that describes the action |
bytes | target | The address to send the calldata to |
string | value | The value of ETH to send with the transaction |
string | signature | The function signature of the function to call at the target address |
string | data | The encoded argument data for the action |
ProposalState
Type | Key | Description |
---|---|---|
string | state | The state objects type, (e.g.: pending, active, canceled, defeated, succeeded, queued, expired, executed) |
uint32 | start_time | The start timestamp of state |
uint32 | end_time | Either null or the definitive end timestamp or an estimated end timestamp of the state |
string | transaction_hash | Either null or the transaction hash that represents the state transition |
GET: /governance/proposal_vote_receipts
ProposalVoteReceiptRequest
The request to the Proposal Vote Receipt API can specify a number of filters, such as which id to retrieve information about or which account.
Type | Key | Description |
---|---|---|
uint32 | proposal_id | A proposal id to filter on, e.g. `?proposal_id=23 (Optional) |
bytes | account | Filter for proposals receipts for the given account (Optional) |
bool | support | Filter for proposals receipts by for votes with support=true or against votes with support=false. If support not specified, response will return paginated votes for both for and against votes (Optional) |
bool | with_proposal_data | Will populate a proposal object on the vote receipt when request submitted with with_proposal_data=true, default is false (Optional) |
uint32 | page_size | Number of proposal vote receipts to include in the response, default is 10 e.g. `page_size=10 (Optional) |
uint32 | page_number | Pagination number for proposal vote receipts in the response, default is 1 e.g. `page_number=1 (Optional) |
ProposalVoteReceiptResponse
The Proposal Vote Receipt API returns a list of proposal vote receipts that match the given filters on the request
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_PAGE_NUMBER = 2; INVALID_PAGE_SIZE = 3; INVALID_PROPOSAL_ID = 4; INVALID_ACCOUNT = 6; |
ProposalVoteReceiptRequest | request | The request parameters are echoed in the response. |
PaginationSummary | pagination_summary | For example: { "page_number": 1, "page_size": 100, "total_entries": 83, "total_pages": 1 } |
ProposalVoteReceipt | proposal_vote_receipts | The list of proposal vote receipts matching the requested filter |
DisplayCompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
Proposal
Type | Key | Description |
---|---|---|
uint32 | id | Unique id for looking up a proposal |
string | title | The title that describes the proposal |
string | description | A description of the actions the proposal will take if successful |
DisplayCompAccount | proposer | Eithernull or an object with data about the creator of the proposal (See DisplayCompAccount). Only populated when request submitted with_detail=true |
ProposalAction | actions | Either null or an array of actions (See ProposalAction) that will be queued and executed if proposal succeeds. Only populated when request submitted with_detail=true |
ProposalState | states | An array of states (See ProposalState) that represent the state transitions that the proposal has undergone |
string | for_votes | The number of votes in support of the proposal |
string | against_votes | The number of votes in opposition to this proposal |
ProposalVoteReceipt
Type | Key | Description |
---|---|---|
uint32 | proposal_id | The proposal id the vote receipt corresponds to |
Proposal | proposal | Either null or the object with proposal data (See Proposal). Only populated when request submitted with_proposal_data=true |
DisplayCompAccount | voter | The object with voter data (See DisplayCompAccount) |
bool | support | Whether or not the voter supports the proposal |
string | votes | The number of votes cast by the voter |
GET: /governance/accounts
GovernanceAccountRequest
The request to the Governance Account API can specify a number of filters, such as which accounts to retrieve information about.
Type | Key | Description |
---|---|---|
bytes | addresses | A list of accounts to filter on, e.g.: ?addresses=0x... (Optional) |
string | order_by | Filter for accounts by. E.g. "votes", "balance", or "proposals_created" (Optional) |
bool | with_history | Will populate a list of transaction history for the accounts when request is submitted with_history=true |
uint32 | page_size | Number of accounts to include in the response, default is 10 e.g. page_size=10 (Optional) |
uint32 | page_number | Pagination number for accounts in the response, default is 1 e.g. page_number=1 (Optional) |
GovernanceAccountResponse
The Governance Account API returns a list of accounts that match the given filters on the request
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_PAGE_NUMBER = 2; INVALID_PAGE_SIZE = 3; INVALID_ACCOUNT = 6; INVALID_FILTER_BY = 7; |
GovernanceAccountRequest | request | The request parameters are echoed in the response. |
PaginationSummary | pagination_summary | For example: { "page_number": 1, "page_size": 100, "total_entries": 83, "total_pages": 1 } |
CompAccount | accounts | The list of governance accounts matching the requested filter |
CompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
string | balance | The balance of COMP for the given account |
string | votes | The total votes delegated to the account |
string | vote_weight | The percentage of voting weight of the 10,000,000 total COMP |
uint32 | proposals_created | The number of proposals created in the Compound Governance System |
DisplayCompAccount | delegate | The account this COMP account is delegating to (See DisplayCompAccount) |
uint32 | rank | Either null or the rank order of top 100 COMP accounts for votes |
CompAccountTransaction | transactions | Either null or a list of historical transactions for the account (See CompAccountTransaction) |
uint32 | proposals_voted | The number of proposals voted on in the Compound Governance System |
uint32 | total_delegates | The number of addresses delegating to this account |
CrowdProposal | crowd_proposal | Either null or a description of the crowd proposal the comp_moment represents (See CrowdProposal) |
CompAccountTransaction
Type | Key | Description |
---|---|---|
string | title | A human readable title representing the transaction |
uint32 | timestamp | The timestamp the transaction occurred |
string | trx_hash | The transaction hash of the transaction |
string | delta | The change in value on the Comp Account |
CrowdProposal
Type | Key | Description |
---|---|---|
bytes | proposal_address | The address of the given COMP Crowd Proposal |
string | title | The title that describes the proposal |
string | description | A description of the actions the proposal will take if successful |
DisplayCompAccount | author | An object with data about the author of the proposal (See DisplayCompAccount). |
ProposalAction | actions | An array of actions (See ProposalAction) that will be queued and executed if proposal succeeds. |
uint32 | create_time | The timestamp the crowd proposal was created |
uint32 | propose_time | The timestamp the crowd proposal was proposed |
uint32 | terminate_time | The timestamp the crowd proposal was terminated |
string | state | The current state of the crowd proposal (e.g.: gathering_votes, proposed, terminated) |
DisplayCompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
GET: /governance/accounts/search
GovernanceAccountSearchRequest
The request to the Governance Account API can specify a number of filters, such as which accounts to retrieve information about.
Type | Key | Description |
---|---|---|
string | term | A string to search accounts by. The search term can be part of an address or display name, e.g. "0x1234" or "The Purple Diamonds" |
uint32 | page_size | Number of accounts to include in the response, default is 10 e.g. page_size=10 (Optional) |
uint32 | page_number | Pagination number for accounts in the response, default is 1 e.g. page_number=1 (Optional) |
GovernanceAccountSearchResponse
The Governance Account API returns a list of accounts that match the given filters on the request
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; |
GovernanceAccountSearchRequest | request | The request parameters are echoed in the response. |
PaginationSummary | pagination_summary | For example: { "page_number": 1, "page_size": 100, "total_entries": 83, "total_pages": 1 } |
CompAccount | accounts | The list of governance accounts matching the requested search term |
CompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
string | balance | The balance of COMP for the given account |
string | votes | The total votes delegated to the account |
string | vote_weight | The percentage of voting weight of the 10,000,000 total COMP |
uint32 | proposals_created | The number of proposals created in the Compound Governance System |
DisplayCompAccount | delegate | The account this COMP account is delegating to (See DisplayCompAccount) |
uint32 | rank | Either null or the rank order of top 100 COMP accounts for votes |
CompAccountTransaction | transactions | Either null or a list of historical transactions for the account (See CompAccountTransaction) |
uint32 | proposals_voted | The number of proposals voted on in the Compound Governance System |
uint32 | total_delegates | The number of addresses delegating to this account |
CrowdProposal | crowd_proposal | Either null or a description of the crowd proposal the comp_moment represents (See CrowdProposal) |
CompAccountTransaction
Type | Key | Description |
---|---|---|
string | title | A human readable title representing the transaction |
uint32 | timestamp | The timestamp the transaction occurred |
string | trx_hash | The transaction hash of the transaction |
string | delta | The change in value on the Comp Account |
CrowdProposal
Type | Key | Description |
---|---|---|
bytes | proposal_address | The address of the given COMP Crowd Proposal |
string | title | The title that describes the proposal |
string | description | A description of the actions the proposal will take if successful |
DisplayCompAccount | author | An object with data about the author of the proposal (See DisplayCompAccount). |
ProposalAction | actions | An array of actions (See ProposalAction) that will be queued and executed if proposal succeeds. |
uint32 | create_time | The timestamp the crowd proposal was created |
uint32 | propose_time | The timestamp the crowd proposal was proposed |
uint32 | terminate_time | The timestamp the crowd proposal was terminated |
string | state | The current state of the crowd proposal (e.g.: gathering_votes, proposed, terminated) |
DisplayCompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
GET: /governance/history
GovernanceHistoryRequest
The governance history API returns historical information about the Compound governance system.
GovernanceHistoryResponse
The governance history API response contains the values for votes delegate, total delegators, total delegatees, and proposals created.
Type | Key | Description |
---|---|---|
Error | error | If set and non-zero, indicates an error returning data. NO_ERROR = 0; INTERNAL_ERROR = 1; INVALID_REQUEST = 2; |
string | votes_delegated | The number of votes delegated |
uint32 | token_holders | The number of addresses with a COMP balance greater than 0 |
uint32 | voting_addresses | The number of addresses that have votes greater than 0 |
uint32 | proposals_created | The number of proposals created |
string | total_comp_allocated | The number of COMP allocated to all markets, including COMP not yet transferred to users |
POST: /governance/profile
GovernanceProfileRequest
Type | Key | Description |
---|---|---|
string | action | Action to take on the profile, either "upsert" or "delete" |
bytes | address | Address of the record to perform action on. |
string | display_name | Name to display for the profile |
string | image_url | Profile image for the profile |
string | account_url | A link of the profile owner's choice |
string | key |
GovernanceProfileResponse
Type | Key | Description |
---|---|---|
Error | error | |
GovernanceProfileRequest | request | |
DisplayCompAccount | profile |
DisplayCompAccount
Type | Key | Description |
---|---|---|
bytes | address | The address of the given COMP account |
string | display_name | A human readable name that describes who owns the account |
string | image_url | A url to retrieve an account image |
string | account_url | A url for the organization/user of the COMP account |
GET: /governance/comp
GovernanceCompDistributionRequest
The governance COMP distribution API returns COMP distribution information for markets in the Compound protocol.
Type | Key | Description |
---|---|---|
bytes | addresses | List of token addresses to filter on, e.g.: ["0x...", ,"0x..."] |
GovernanceCompDistributionResponse
The governance COMP distribution API response contains the values for COMP allocated, COMP borrow index, COMP distributed, COMP speed, and COMP supply index for each market.
Type | Key | Description |
---|---|---|
GovernanceCompDistributionRequest | request | The request parameters are echoed in the response. |
string | comp_rate | The number of COMP allocated to all markets per block |
string | daily_comp | The number of COMP allocated to all markets per day assuming a given block time |
string | total_comp_allocated | The number of COMP allocated to all markets, including COMP not yet transferred to users |
string | total_comp_distributed | The number of total COMP actually transferred to users |
MarketCompDistribution | markets | A list of all cToken markets receiving COMP |
MarketCompDistribution
Type | Key | Description |
---|---|---|
bytes | address | The address of the cToken market |
string | name | The name of the cToken market |
string | symbol | The symbol of the cToken market |
bytes | underlying_address | The address of undelrying token of the cToken market |
string | underlying_name | The name of the underlying token of the cToken market |
string | underlying_symbol | The symbol of the underlying token of the cToken market |
string | supplier_daily_comp | The projected daily comp distribution to suppliers of the market given the current distribution rate for the market |
string | borrower_daily_comp | The projected daily comp distribution to borrowers of the market given the current distribution rate for the market |
string | comp_allocated | The number of COMP allocated to the market, including COMP not yet transferred to borrowers/suppliers of the market |
string | comp_borrow_index | The index used to calculate how much COMP an individual borrower should receive |
string | comp_distributed | The number of COMP already transferred to the borrowers/suppliers of the market |
string | comp_speed | The number of COMP allocated to the market each block |
string | comp_supply_index | The index used to calculate how much COMP an individual supplier should receive |
GET: /governance/comp/account
GovernanceAccountCompDistributionRequest
The governance COMP account distribution API returns COMP distribution information across all markets for a given account
Type | Key | Description |
---|---|---|
bytes | address | The account address to use for the request |
GovernanceAccountCompDistributionResponse
The governance COMP account distribution API response contains the values for COMP allocated, COMP borrow index, COMP distributed, daily COMP, and COMP supply index for each market.
Type | Key | Description |
---|---|---|
GovernanceCompDistributionRequest | request | The request parameters are echoed in the response. |
AccountCompDistribution | markets | A list of all cToken markets the account has been allocated COMP |
AccountCompDistribution
Type | Key | Description |
---|---|---|
bytes | address | The address of the cToken market |
string | name | The name of the cToken market |
string | symbol | The symbol of the cToken market |
bytes | underlying_address | The address of undelrying token of the cToken market |
string | underlying_name | The name of the underlying token of the cToken market |
string | underlying_symbol | The symbol of the underlying token of the cToken market |
string | daily_comp | The projected daily comp distribution to the account |
string | comp_allocated | The number of COMP allocated to the account, including COMP not yet transferred to the account |
string | comp_borrow_index | The index used to calculate how much COMP the account should receive based on it's borrows from the market |
string | comp_distributed | The number of COMP already transferred to the the account |
string | comp_supply_index | The index used to calculate how much COMP the account should receive based on it's supply to market |
GovernanceCompDistributionRequest
The governance COMP distribution API returns COMP distribution information for markets in the Compound protocol.
Type | Key | Description |
---|---|---|
bytes | addresses | List of token addresses to filter on, e.g.: ["0x...", ,"0x..."] (Optional) |