API

DAO

Read-only, DAO-scoped endpoints for a TON DAO's data — details, holders, proposals and their votes, crowdfunding campaigns, and LP masters. Every result is scoped to the single DAO in the request path; a wallet's activity in other DAOs is never included. Requests are authorized with a DAO bearer token (JWT) that must be issued for that DAO — see Tokens.

DAO details

Returns the DAO's on-chain identity and configuration: owner address, jetton (GP token) address and metadata, success percentage, total supply, installed plugins, and crowdfunding status.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk"
{  "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",  "owner_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",  "name": "Example DAO",  "jetton_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",  "jetton_metadata": {},  "success_percentage": 51,  "total_supply": "1000000000",  "date_create": "2026-06-01T12:00:00Z",  "plugins": [    {      "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "type": "example",      "lp_manager_index": 0,      "lp_jetton_master_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "lp_token_name": "Example DAO",      "lp_token_symbol": "XLP",      "lp_token_image": "https://example.com/logo.png",      "crowdfunding_master_hash": "b5ee9c72410101010002000000",      "subaccount_index": 0,      "subaccount_name": "Example DAO"    }  ],  "crowdfunding_status": "legacy"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

DAO holders

Paginated list of the DAO's GP-token holders — each entry a holder address and its balance. Page through the list with limit and offset.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}/holders

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

Query Parameters

limit?integer

Limit

Rangevalue <= 1000
Default100
offset?integer

Offset

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/holders"
{  "total": 0,  "items": [    {      "jetton_wallet_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "owner_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "balance": "1000000000"    }  ]}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

DAO proposals

Paginated list of the DAO's proposals, each with its status and metadata. Page through the list with limit and offset.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}/proposals

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

Query Parameters

limit?integer

Limit

Rangevalue <= 1000
Default100
offset?integer

Offset

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/proposals"
{  "total": 0,  "items": [    {      "proposal_id": 0,      "name": "Example DAO",      "is_user_voted": true,      "description": "example",      "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "dao_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "jetton_master_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "initiated_by_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "success_amount": "1000000000",      "current_amount": "1000000000",      "total_supply": "1000000000",      "success_percentage": 51,      "date_start": "example",      "date_expire": "example",      "type": "example",      "data": {},      "status": "active",      "raw_data": "example",      "dao": {        "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "owner_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "name": "Example DAO",        "jetton_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "jetton_metadata": {},        "success_percentage": 51,        "total_supply": "1000000000",        "date_create": "2026-06-01T12:00:00Z",        "plugins": [          {            "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",            "type": "example",            "lp_manager_index": 0,            "lp_jetton_master_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",            "lp_token_name": "Example DAO",            "lp_token_symbol": "XLP",            "lp_token_image": "https://example.com/logo.png",            "crowdfunding_master_hash": "b5ee9c72410101010002000000",            "subaccount_index": 0,            "subaccount_name": "Example DAO"          }        ],        "crowdfunding_status": "legacy"      }    }  ]}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

Proposal votes

Paginated list of the votes cast on a single proposal. The proposal is identified by proposal_address within the DAO; page through the votes with limit and offset.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}/proposals/{proposal_address}/votes

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

proposal_address*string

Proposal Address

Query Parameters

limit?integer

Limit

Rangevalue <= 1000
Default100
offset?integer

Offset

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/proposals/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/votes"
{  "total": 0,  "items": [    {      "proposal_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "voter_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "amount": "1000000000",      "date_create": "2026-06-01T12:00:00Z"    }  ]}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

DAO crowdfunding campaigns

Paginated list of the DAO's crowdfunding campaigns, optionally filtered by status. Page through the list with limit and offset.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}/crowdfundings

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

Query Parameters

limit?integer

Limit

Rangevalue <= 1000
Default100
offset?integer

Offset

status?string

Filter by campaign status

Value in

  • "active"
  • "successful"
  • "failed"
  • "emergency_withdrawn"

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/crowdfundings"
{  "total": 0,  "items": [    {      "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "daoAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "name": "Example DAO",      "description": "example",      "daoName": "Example DAO",      "isNative": true,      "jettonSymbol": "XLP",      "jettonDecimals": 1,      "jettonImage": "https://example.com/logo.png",      "jettonMasterAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "lpManagerAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "lpJettonMasterAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "destinationAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "feeManagerAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "minTotalAmount": "1000000000",      "maxTotalAmount": "1000000000",      "minAmountPerUser": "1000000000",      "maxAmountPerUser": "1000000000",      "startTime": "2026-06-01T12:00:00Z",      "endTime": "2026-06-01T12:00:00Z",      "lpPrice": "example",      "managementFee": 1,      "status": "active",      "paused": true,      "totalAmount": "1000000000",      "totalClaimed": "example",      "totalRefunded": "example",      "isEmergencyWithdrawn": true,      "hasWhitelist": true,      "whitelist": [        "example"      ],      "contributors": [        {          "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",          "amount": "1000000000"        }      ],      "participantsCount": 1,      "progressPercentage": 51,      "updatedAt": "2026-06-01T12:00:00Z",      "finishedAt": "2026-06-01T12:00:00Z",      "dao": {        "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "owner_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "name": "Example DAO",        "jetton_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "jetton_metadata": {},        "success_percentage": 51,        "total_supply": "1000000000",        "date_create": "2026-06-01T12:00:00Z",        "plugins": [          {            "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",            "type": "example",            "lp_manager_index": 0,            "lp_jetton_master_address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",            "lp_token_name": "Example DAO",            "lp_token_symbol": "XLP",            "lp_token_image": "https://example.com/logo.png",            "crowdfunding_master_hash": "b5ee9c72410101010002000000",            "subaccount_index": 0,            "subaccount_name": "Example DAO"          }        ],        "crowdfunding_status": "legacy"      },      "userHelper": {        "address": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "masterAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "ownerAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",        "amount": "1000000000",        "isClaimed": true,        "isRefunded": true,        "claimedAt": "2026-06-01T12:00:00Z",        "refundedAt": "2026-06-01T12:00:00Z",        "dateCreate": "2026-06-01T12:00:00Z"      },      "daoFeeClaimed": true,      "daoFeeClaimedAt": "2026-06-01T12:00:00Z",      "daoFeeAmount": "1000000000",      "hasVesting": true    }  ]}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

DAO LP masters with LP holders

The DAO's LP jetton masters, each with a paginated list of its LP holders. Page the masters with masters_limit / masters_offset, and the holders within each master with holders_limit / holders_offset.

Auth: the DAO bearer token's dao_address must match the DAO in the path. Mismatches return 403.

GET
/api/v1/daos/{dao_address}/lp-masters-with-lp-holders

Authorization

DaoBearerAuth
AuthorizationBearer <token>

DAO service token in Bearer format. The token must be valid, not revoked, and authorized for the same dao_address as in the request path.

In: header

Path Parameters

dao_address*string

Dao Address

Query Parameters

masters_limit?integer

Limit for DAO LP masters

Rangevalue <= 1000
Default100
masters_offset?integer

Offset for DAO LP masters

Default0
holders_limit?integer

Limit for LP holders per campaign

Rangevalue <= 1000
Default100
holders_offset?integer

Offset for LP holders per campaign

Default0

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/daos/EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk/lp-masters-with-lp-holders"
{  "total": 42,  "items": [    {      "lpJettonMasterAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",      "campaignAddresses": [        "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk"      ],      "holdersTotal": 1,      "holders": [        {          "lpJettonWalletAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",          "ownerAddress": "EQAoZM5vjrPB1RgYQBpymvHrLmjucfhZcTuMhixWU36gYIkk",          "balance": "1000000000"        }      ]    }  ]}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

On this page