API (Pro)

Endpoints

Read-only resources for pools, funders, and on-chain events. All responses are JSON; all amounts are returned in base units (wei / token-decimals) and USD-normalized where noted.

Pools

GET /v1/pools

List pools the authenticated account can see (pools it owns, co- owns, or has funded). Paginated by cursor.

curl "https://api.communitypool.xyz/v1/pools?limit=20" \
  -H "Authorization: Bearer cp_live_..."

GET /v1/pools/:address

Fetch a single pool by its contract address. Returns name, description, minimum USD, expiry, owners, whitelisted tokens, and current balances.

Funders

GET /v1/pools/:address/funders

List addresses that have contributed to the pool, with their total contributions per asset (ETH + each whitelisted token) and the USD value at contribution time.

Note: after a full withdraw or expiry release, on-chain per-funder records reset to zero. This endpoint preserves the historical totals by indexing Funded and FundedERC20 events, so you can still attribute contributions after release.

Events

GET /v1/pools/:address/events

Append-only event stream for a pool: PoolCreated, Funded, FundedERC20, Withdrawn, WithdrawnToken. Paginated by cursor, newest first.

Error shape

{
  "error": {
    "code": "pool_not_found",
    "message": "No pool with that address",
    "traceId": "01HXYZ..."
  }
}

traceId is useful when asking support to look into an issue — include it in your bug report.

Webhooks (planned)

Webhooks for Funded, Withdrawn, and PoolExpired events are planned for after the initial read-only API ships. They will mirror the event payloads above. See the changelog.