Pools
Pool discovery endpoints allow you to search, filter, and retrieve detailed information about distribution pools on DobProtocol. All pool endpoints require an API key with the read scope.
Authentication: X-API-Key header (read scope)
List Pools
Retrieve a paginated list of active pools with optional filtering and sorting.
GET /api/agent/pools
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
search | string | -- | Search by pool name or ticker |
network_id | integer | -- | Filter by network (e.g., 10 for Stellar Mainnet) |
access_type | string | -- | Filter by access type: rtj, p, qr, stk |
sort | string | created_desc | Sort order (see below) |
page | integer | 1 | Page number |
limit | integer | 20 | Results per page (max 100) |
Sort options:
| Value | Description |
|---|---|
created_desc | Newest first (default) |
created_asc | Oldest first |
apr_desc | Highest estimated APR first |
apr_asc | Lowest estimated APR first |
members_desc | Most members first |
members_asc | Fewest members first |
curl:
curl "https://home.dobprotocol.com/api/agent/pools?network_id=10&access_type=p&sort=apr_desc&limit=5" \
-H "X-API-Key: dob_ak_your_key_here"
Python:
import requests
resp = requests.get(
"https://home.dobprotocol.com/api/agent/pools",
headers={"X-API-Key": API_KEY},
params={
"network_id": 10,
"access_type": "p",
"sort": "apr_desc",
"limit": 5
}
)
pools = resp.json()
for pool in pools["data"]:
print(f"{pool['name']} ({pool['ticker']}) - APR: {pool['estimated_apr']}%")
Response (200 OK):
{
"success": true,
"data": [
{
"address": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
"name": "Solar Farm Alpha",
"ticker": "SFA",
"network_id": 10,
"chain_name": "Stellar Mainnet",
"access_type": "p",
"distribution_type": "tr",
"estimated_apr": 12.5,
"member_count": 47,
"max_participants": 100,
"token_to_distribute": "USDC",
"pool_data": {
"name": "Solar Farm Alpha",
"ticker": "SFA",
"max_participants": 100,
"access": "pb",
"distribution_type": "tr",
"estimated_apr": "12.5"
},
"created_at": "2026-02-15T10:00:00Z"
}
],
"meta": {
"page": 1,
"limit": 5,
"total": 23
}
}
Featured Pools
Retrieve pools that are currently featured or promoted on DobProtocol.
GET /api/agent/pools/featured
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Filter by network |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/featured?network_id=10" \
-H "X-API-Key: dob_ak_your_key_here"
Response (200 OK):
{
"success": true,
"data": [
{
"address": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
"name": "Solar Farm Alpha",
"ticker": "SFA",
"network_id": 10,
"estimated_apr": 12.5,
"member_count": 47,
"featured_reason": "Top performer this month"
}
]
}
Active Crowdfunding Pools
Retrieve pools that are currently running crowdfunding campaigns.
GET /api/agent/pools/crowdfunding
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Filter by network |
sort | string | deadline_asc | Sort order: deadline_asc, deadline_desc, progress_desc |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/crowdfunding?network_id=10" \
-H "X-API-Key: dob_ak_your_key_here"
Response (200 OK):
{
"success": true,
"data": [
{
"address": "CA7QYNF7SOVZ4V4LXQHXWJQVGU3ZGR4A5OHCOQZSC7M2XZFKK67TYXZ",
"name": "Wind Turbine Collective",
"ticker": "WTC",
"network_id": 10,
"target_amount": "50000.00",
"raised_amount": "32500.00",
"progress_percent": 65.0,
"contributor_count": 18,
"deadline": "2026-04-15T00:00:00Z",
"payment_token": "USDC",
"is_active": true
}
]
}
Pool Details
Retrieve full details for a specific pool by its contract address.
GET /api/agent/pools/:address
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
address | string | Pool contract address |
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Network ID (required if address exists on multiple networks) |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC?network_id=10" \
-H "X-API-Key: dob_ak_your_key_here"
Python:
pool_address = "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC"
resp = requests.get(
f"https://home.dobprotocol.com/api/agent/pools/{pool_address}",
headers={"X-API-Key": API_KEY},
params={"network_id": 10}
)
pool = resp.json()["data"]
print(f"Pool: {pool['name']}")
print(f"Members: {pool['member_count']}/{pool['max_participants']}")
print(f"APR: {pool['estimated_apr']}%")
Response (200 OK):
{
"success": true,
"data": {
"address": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
"name": "Solar Farm Alpha",
"ticker": "SFA",
"network_id": 10,
"chain_name": "Stellar Mainnet",
"creator_address": "GBDM6KRXXJHKVYFJPTPW3WBDKUYVCH7NNEI67DDCP7YX4UHX2GODPHGI",
"access_type": "p",
"distribution_type": "tr",
"estimated_apr": 12.5,
"member_count": 47,
"max_participants": 100,
"token_to_distribute": "USDC",
"total_distributed": "15230.50",
"total_shares": 10000,
"allow_entry": true,
"pool_data": {
"name": "Solar Farm Alpha",
"ticker": "SFA",
"max_participants": 100,
"access": "pb",
"way_to_access": "p",
"distribution_type": "tr",
"estimated_apr": "12.5",
"token_to_distribute": "USDC"
},
"distribution_config": {
"min_interval_seconds": 43200,
"claim_delay_seconds": 3600,
"round_expiry_seconds": 31536000
},
"next_distribution": "2026-03-15T00:00:00Z",
"created_at": "2026-02-15T10:00:00Z"
}
}
Pool Members
Retrieve the list of members (shareholders) in a pool.
GET /api/agent/pools/:address/members
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Network ID |
page | integer | 1 | Page number |
limit | integer | 20 | Results per page (max 100) |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC/members?network_id=10" \
-H "X-API-Key: dob_ak_your_key_here"
Response (200 OK):
{
"success": true,
"data": [
{
"user_address": "GDJTUK3ER3M7LFHHWQMFANJA3SEC7QP3LNU3NKGFBLWF4QMFR5HR7I4T",
"shares": 1500,
"participation_percent": 15.0,
"joined_at": "2026-02-20T14:00:00Z"
},
{
"user_address": "GDU3QXHDURHXNKFI4H5QC7JTQOCGS63C25FVTTBGROQOLKV7Q2BAWGYP",
"shares": 800,
"participation_percent": 8.0,
"joined_at": "2026-02-22T09:30:00Z"
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 47
}
}
Distribution History
Retrieve the distribution history for a pool, including completed and upcoming rounds.
GET /api/agent/pools/:address/distributions
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Network ID |
status | string | -- | Filter: completed, pending, expired |
page | integer | 1 | Page number |
limit | integer | 20 | Results per page (max 100) |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC/distributions?network_id=10&status=completed" \
-H "X-API-Key: dob_ak_your_key_here"
Response (200 OK):
{
"success": true,
"data": [
{
"round_id": 5,
"token": "USDC",
"total_amount": "2500.00",
"total_shares": 10000,
"amount_per_share": "0.25",
"total_claimed": "2125.00",
"claim_count": 38,
"status": "completed",
"created_at": "2026-03-01T00:00:00Z",
"claimable_from": "2026-03-01T01:00:00Z",
"expires_at": "2027-03-01T00:00:00Z"
},
{
"round_id": 4,
"token": "USDC",
"total_amount": "2200.00",
"total_shares": 10000,
"amount_per_share": "0.22",
"total_claimed": "2200.00",
"claim_count": 47,
"status": "completed",
"created_at": "2026-02-15T00:00:00Z",
"claimable_from": "2026-02-15T01:00:00Z",
"expires_at": "2027-02-15T00:00:00Z"
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 5
}
}
Pool Events
Retrieve the event log for a pool. Events include share transfers, distributions, claims, admin changes, and more.
GET /api/agent/pools/:address/events
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
network_id | integer | -- | Network ID |
event_type | string | -- | Filter by type: init, distribute, claim, transfer_shares, withdraw, lock, set_admin |
page | integer | 1 | Page number |
limit | integer | 20 | Results per page (max 100) |
curl:
curl "https://home.dobprotocol.com/api/agent/pools/CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC/events?network_id=10&event_type=distribute&limit=10" \
-H "X-API-Key: dob_ak_your_key_here"
Python:
pool_address = "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC"
resp = requests.get(
f"https://home.dobprotocol.com/api/agent/pools/{pool_address}/events",
headers={"X-API-Key": API_KEY},
params={"network_id": 10, "limit": 10}
)
events = resp.json()["data"]
for event in events:
print(f"[{event['event_type']}] {event['date']} - {event.get('description', '')}")
Response (200 OK):
{
"success": true,
"data": [
{
"event_type": "distribute",
"pool_id": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
"transaction_hash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
"from_address": "GBDM6KRXXJHKVYFJPTPW3WBDKUYVCH7NNEI67DDCP7YX4UHX2GODPHGI",
"amount": "2500.00",
"token": "USDC",
"date": "2026-03-01T00:00:00Z",
"description": "Distribution round 5 created: 2500.00 USDC"
},
{
"event_type": "transfer_shares",
"pool_id": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC",
"transaction_hash": "b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3",
"from_address": "GBDM6KRXXJHKVYFJPTPW3WBDKUYVCH7NNEI67DDCP7YX4UHX2GODPHGI",
"to_address": "GDJTUK3ER3M7LFHHWQMFANJA3SEC7QP3LNU3NKGFBLWF4QMFR5HR7I4T",
"amount": "1500",
"date": "2026-02-20T14:00:00Z",
"description": "1500 shares transferred"
}
],
"meta": {
"page": 1,
"limit": 10,
"total": 28
}
}
Access Types Reference
| Code | Name | Description |
|---|---|---|
rtj | Request / Airdrop | Users request to join; admin approves and airdrops shares |
p | Buy | Users purchase shares directly (marketplace or crowdfunding) |
qr | QR Code | Users join by scanning a QR code |
stk | Staking | Users stake tokens to receive shares |
Distribution Types Reference
| Code | Name | Description |
|---|---|---|
tr | Trusted | Pool creator manages distributions manually |
bt | Business | Automated distributions on a schedule |
dam | DAM | Decentralized Asset Management |