> For the complete documentation index, see [llms.txt](https://docs.creditcoop.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.creditcoop.xyz/developer-api-docs/platform.md).

# Platform

General platform endpoints

## List supported blockchain networks

> List all supported blockchain networks

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}},"schemas":{"Network":{"type":"object","required":["networkId","displayName"],"properties":{"networkId":{"type":"string","description":"CAIP-2 network identifier"},"displayName":{"type":"string","description":"Human-readable network name (e.g. \"Ethereum Mainnet\")"},"explorerUrl":{"type":"string","nullable":true,"description":"Block explorer base URL"},"rpcUrl":{"type":"string","nullable":true,"description":"RPC endpoint URL"},"iconUrl":{"type":"string","nullable":true,"description":"URL of the network icon image"},"nativeCurrencySymbol":{"type":"string","nullable":true,"description":"Native currency ticker (e.g. \"ETH\")"},"nativeCurrencyDecimals":{"type":"integer","nullable":true,"description":"Native currency decimal places"}}}}},"paths":{"/v3/platform/networks":{"get":{"operationId":"listNetworks","summary":"List supported blockchain networks","tags":["Platform"],"description":"List all supported blockchain networks","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["networks"],"properties":{"networks":{"type":"array","items":{"$ref":"#/components/schemas/Network"}}}}}}}}}}}}
```

## List supported tokens

> List all supported tokens with optional filters. No authentication required, but authenticated requests may receive increased rate limits.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}},"schemas":{"Token":{"type":"object","required":["id","address","networkId","symbol","decimals"],"properties":{"id":{"type":"string","format":"uuid","description":"Token unique identifier"},"address":{"type":"string","description":"Token contract address"},"networkId":{"type":"string","description":"CAIP-2 network identifier"},"symbol":{"type":"string","description":"Token ticker symbol (e.g. \"USDC\", \"WETH\")"},"name":{"type":"string","nullable":true,"description":"Full token name"},"decimals":{"type":"integer","minimum":0,"maximum":255,"description":"Number of decimal places for the token"},"wraps":{"type":"string","nullable":true,"description":"Underlying asset this token represents (e.g. \"USD\" for USDC, \"ETH\" for WETH)"},"iconUrl":{"type":"string","nullable":true,"description":"URL of the token icon image"},"coingeckoId":{"type":"string","nullable":true,"description":"CoinGecko API identifier for price lookups"}}}}},"paths":{"/v3/platform/tokens":{"get":{"operationId":"listTokens","summary":"List supported tokens","tags":["Platform"],"description":"List all supported tokens with optional filters. No authentication required, but authenticated requests may receive increased rate limits.","parameters":[{"schema":{"type":"string"},"in":"query","name":"address","required":false,"description":"Filter by contract address (0x...). Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"schema":{"type":"string"},"in":"query","name":"networkId","required":false,"description":"Filter by CAIP-2 network ID (e.g. eip155:8453)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["tokens"],"properties":{"tokens":{"type":"array","items":{"$ref":"#/components/schemas/Token"}}}}}}}}}}}}
```

## Get platform statistics

> Get all platform statistics in a single response. No authentication required, but authenticated requests may receive increased rate limits.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}}},"paths":{"/v3/platform/stats":{"get":{"operationId":"getPlatformStats","summary":"Get platform statistics","tags":["Platform"],"description":"Get all platform statistics in a single response. No authentication required, but authenticated requests may receive increased rate limits.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["totalVolumeUsd","activeLoansUsd","totalInterestPaidUsd","totalBorrowedUsd"],"properties":{"totalVolumeUsd":{"type":"string","description":"Total volume in USD (borrows + repayments). Returned as a string to avoid floating-point precision loss."},"activeLoansUsd":{"type":"string","description":"Current outstanding principal in USD. Returned as a string to avoid floating-point precision loss."},"totalInterestPaidUsd":{"type":"string","description":"Total interest paid in USD. Returned as a string to avoid floating-point precision loss."},"totalBorrowedUsd":{"type":"string","description":"Cumulative total borrowed in USD (all time). Returned as a string to avoid floating-point precision loss."}}}}}}}}}}}
```

## Get vault APYs

> Get APY for all lending vaults from sharePrice snapshots. No authentication required, but authenticated requests may receive increased rate limits.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}}},"paths":{"/v3/platform/stats/vault-apys":{"get":{"operationId":"getPlatformVaultApys","summary":"Get vault APYs","tags":["Platform"],"description":"Get APY for all lending vaults from sharePrice snapshots. No authentication required, but authenticated requests may receive increased rate limits.","parameters":[{"schema":{"type":"integer","default":30},"in":"query","name":"period","required":false,"description":"Number of days to look back for APY calculation"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["weightedApyBps","weightedApyPct","totalTvl","periodDays","vaultCount","decimals"],"properties":{"weightedApyBps":{"type":"number","description":"TVL-weighted average APY in basis points"},"weightedApyPct":{"type":"number","description":"TVL-weighted average APY as percentage number (e.g. 8.50 = 8.50%)"},"totalTvl":{"type":"string"},"periodDays":{"type":"number"},"vaultCount":{"type":"number"},"decimals":{"type":"integer","description":"Max decimals used for TVL normalization across vaults"}}}}}}}}}}}
```

## Get platform activity time-series

> Platform-wide borrow/repay totals bucketed by period, with cumulative outstanding. Aggregate-only — no per-borrower data. No authentication required.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}}},"paths":{"/v3/platform/stats/time-series":{"get":{"operationId":"getPlatformTimeSeries","summary":"Get platform activity time-series","tags":["Platform"],"description":"Platform-wide borrow/repay totals bucketed by period, with cumulative outstanding. Aggregate-only — no per-borrower data. No authentication required.","parameters":[{"schema":{"type":"string","maxLength":50},"in":"query","name":"networkId","required":false,"description":"CAIP-2 network filter (e.g. \"eip155:1\")"},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"startDate","required":false,"description":"Inclusive start date (YYYY-MM-DD)"},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"endDate","required":false,"description":"Inclusive end date (YYYY-MM-DD)"},{"schema":{"type":"string","enum":["monthly","daily"],"default":"monthly"},"in":"query","name":"granularity","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["series"],"properties":{"series":{"type":"array","items":{"type":"object","required":["period","borrowUsd","repayPrincipalUsd","repayInterestUsd","netOutstandingUsd","cumulativeVolumeUsd"],"properties":{"period":{"type":"string","description":"'YYYY-MM' (monthly) or 'YYYY-MM-DD' (daily)"},"borrowUsd":{"type":"string","description":"Total borrowed in USD this period."},"repayPrincipalUsd":{"type":"string","description":"Total principal repaid in USD this period."},"repayInterestUsd":{"type":"string","description":"Total interest repaid in USD this period."},"netOutstandingUsd":{"type":"string","description":"Cumulative outstanding principal in USD at end of period."},"cumulativeVolumeUsd":{"type":"string","description":"Cumulative total volume in USD (borrow + repaid principal + interest) accumulated across the returned periods."}}}}}}}}}}}}}}
```

## Get platform TVL time-series

> Platform-wide TVL bucketed by period, from vault totalAssets() snapshots. Includes disabled vaults. Aggregate-only — no per-borrower data. No authentication required.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}}},"paths":{"/v3/platform/stats/tvl/time-series":{"get":{"operationId":"getPlatformTvlTimeSeries","summary":"Get platform TVL time-series","tags":["Platform"],"description":"Platform-wide TVL bucketed by period, from vault totalAssets() snapshots. Includes disabled vaults. Aggregate-only — no per-borrower data. No authentication required.","parameters":[{"schema":{"type":"string","maxLength":50},"in":"query","name":"networkId","required":false,"description":"CAIP-2 network filter (e.g. \"eip155:1\")"},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"startDate","required":false,"description":"Inclusive start date (YYYY-MM-DD). Defaults to a safe lookback window."},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"endDate","required":false,"description":"Inclusive end date (YYYY-MM-DD). Defaults to today (UTC)."},{"schema":{"type":"string","enum":["monthly","daily"],"default":"monthly"},"in":"query","name":"granularity","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["series"],"properties":{"series":{"type":"array","items":{"type":"object","required":["period","tvl"],"properties":{"period":{"type":"string","description":"'YYYY-MM' (monthly) or 'YYYY-MM-DD' (daily)"},"tvl":{"type":"string","description":"Total value locked in USD at end of period."}}}}}}}}}}}}}}
```

## Get platform weighted-APY time-series

> Platform-wide TVL-weighted APY bucketed by period, from vault sharePrice()/totalAssets() snapshots. Includes disabled vaults. Aggregate-only — no per-borrower data. No authentication required.

```json
{"openapi":"3.0.3","info":{"title":"Credit Coop API","version":"3.0.0"},"tags":[{"name":"Platform","description":"General platform endpoints"}],"servers":[{"url":"https://api.creditcoop.xyz"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"OAuth2":[]},{}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key in the format: cc_xxx_yyy (for customer API routes)"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Clerk authentication token (session JWT or Clerk OAuth access token) used by Credit Coop"},"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clerk.creditcoop.xyz/oauth/authorize","tokenUrl":"https://clerk.creditcoop.xyz/oauth/token","scopes":{"openid":"OpenID Connect","email":"User email","profile":"User profile"}}},"description":"Credit Coop OAuth"}}},"paths":{"/v3/platform/stats/vault-apys/time-series":{"get":{"operationId":"getPlatformVaultApysTimeSeries","summary":"Get platform weighted-APY time-series","tags":["Platform"],"description":"Platform-wide TVL-weighted APY bucketed by period, from vault sharePrice()/totalAssets() snapshots. Includes disabled vaults. Aggregate-only — no per-borrower data. No authentication required.","parameters":[{"schema":{"type":"string","maxLength":50},"in":"query","name":"networkId","required":false,"description":"CAIP-2 network filter (e.g. \"eip155:1\")"},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"startDate","required":false,"description":"Inclusive start date (YYYY-MM-DD). Defaults to a safe lookback window."},{"schema":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"endDate","required":false,"description":"Inclusive end date (YYYY-MM-DD). Defaults to today (UTC)."},{"schema":{"type":"string","enum":["monthly","daily"],"default":"monthly"},"in":"query","name":"granularity","required":false},{"schema":{"type":"integer","default":30,"minimum":1,"maximum":366},"in":"query","name":"period","required":false,"description":"Trailing APY lookback window in days (independent of granularity). Default 30, max 366."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["series"],"properties":{"series":{"type":"array","items":{"type":"object","required":["period","weightedApyBps","weightedApyPct","totalTvl","decimals","vaultCount"],"properties":{"period":{"type":"string","description":"'YYYY-MM' (monthly) or 'YYYY-MM-DD' (daily)"},"weightedApyBps":{"type":["null","number"],"description":"TVL-weighted APY in basis points; null when no vault has enough history in the bucket."},"weightedApyPct":{"type":["null","number"],"description":"TVL-weighted APY as percentage number (e.g. 8.50 = 8.50%); null mirrors weightedApyBps."},"totalTvl":{"type":"string","description":"Total weight (scaled totalAssets) used for the bucket."},"decimals":{"type":"integer","description":"Max decimals used to normalize the bucket TVL weights."},"vaultCount":{"type":"integer","description":"Vaults that contributed APY + weight to the bucket."}}}}}}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.creditcoop.xyz/developer-api-docs/platform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
