For the complete documentation index, see llms.txt. This page is also available as Markdown.

Crowdfunding

Campaign-scoped helpers for crowdfunding integrators. The DAO bearer token must be issued for the DAO that owns the campaign in the path.

get

Returns a ready-to-sign ton://transfer/... URI that contributes the given amount to the specified crowdfunding campaign.

Auth: the DAO bearer token's dao_address must match the DAO that owns the campaign. Mismatches return 403.

Authorizations
AuthorizationstringRequired

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

Path parameters
addressstringRequired

Crowdfunding master address. Any TON format is accepted (raw 0:hex, EQ.../UQ.../kQ.../0Q..., base64-url or standard base64).

Query parameters
amountstringRequired

Contribution amount in the smallest units of the campaign currency: nanoTON for native campaigns, jetton smallest-units (e.g. 1000000 = 1 USDT for 6-decimal USDT) for jetton campaigns. Must satisfy minAmountPerUser <= amount <= maxAmountPerUser.

Example: 2000000Pattern: ^[0-9]+$
investor_addressstringOptional

Investor's TON wallet address. Required for jetton campaigns — used to resolve the investor's jetton wallet via get_wallet_address on the jetton master. Ignored for native campaigns.

Example: 0:b0b07aede665f42d824411a1f3576afa5a1c74e79d4ec612ad09be355ccc62ea
query_idinteger · int64Optional

TON message query_id (uint64). Defaults to 0.

Default: 0
response_addressstringOptional

Optional override for response_destination in the jetton-transfer body. Defaults to investor_address if absent. Has no effect on native campaigns.

Responses
200

Contribution link payload

application/json
isNativebooleanRequired

true for native TON campaigns, false for jetton campaigns.

campaignAddressstringRequired

Address that the ton://transfer/ URI sends the message to (bounceable mainnet form). For jetton campaigns this is the investor's jetton wallet, not the campaign master.

miniAppLinkstringOptional

Optional Telegram Mini-App deeplink that opens this campaign in the XDAO bot — bonus convenience for integrators.

warningsstring[]Required

Non-fatal signals. The transaction is still served. Known values:

  • whitelist_enforced_on_chain — campaign has a whitelist; on-chain throw will reject contributors not on it.
  • amount_exceeds_remaining_hardcapamount > hardCap - totalAmount.
get
/api/v1/crowdfunding/campaigns/{address}/contribution-link
get

Returns a ready-to-sign ton://transfer/... URI for the initial LP claim. This is the request_claim_lp_tokens message the investor sends to their per-campaign Helper contract once the campaign is successful.

Auth: the DAO bearer token's dao_address must match the DAO that owns the campaign. Mismatches return 403.

Authorizations
AuthorizationstringRequired

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

Path parameters
addressstringRequired

Crowdfunding master address. Any TON format is accepted (raw 0:hex, EQ.../UQ.../kQ.../0Q..., base64-url or standard base64).

Query parameters
owner_addressstringRequired

Investor wallet address claiming LP tokens. Any TON format is accepted (raw 0:hex, EQ.../UQ.../kQ.../0Q..., base64-url or standard base64).

Example: 0:b0b07aede665f42d824411a1f3576afa5a1c74e79d4ec612ad09be355ccc62ea
query_idinteger · int64Optional

TON message query_id (uint64). Defaults to 0.

Default: 0
Responses
200

Claim link payload

application/json

Ready-to-sign deeplink for an LP claim.

kindstring · enumRequired

Which claim this link performs.

Possible values:
campaignAddressstringRequired

Bounceable mainnet form of the crowdfunding master address.

warningsstring[]Required

Non-fatal signals. The transaction is still served. Known values:

  • nothing_claimable_now — estimated claimable amount is 0 (e.g. before TGE or between linear ticks). Signing it will fail the vault's nothing_to_claim guard.
get
/api/v1/crowdfunding/campaigns/{address}/claim-link
get

Returns a ready-to-sign ton://transfer/... URI for the claim_vested message the investor sends to their per-campaign VestingVault to release the currently vested-but-unclaimed LP.

Auth: the DAO bearer token's dao_address must match the DAO that owns the campaign. Mismatches return 403.

Authorizations
AuthorizationstringRequired

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

Path parameters
addressstringRequired

Crowdfunding master address. Any TON format is accepted (raw 0:hex, EQ.../UQ.../kQ.../0Q..., base64-url or standard base64).

Query parameters
owner_addressstringRequired

Investor wallet address claiming LP tokens. Any TON format is accepted (raw 0:hex, EQ.../UQ.../kQ.../0Q..., base64-url or standard base64).

Example: 0:b0b07aede665f42d824411a1f3576afa5a1c74e79d4ec612ad09be355ccc62ea
query_idinteger · int64Optional

TON message query_id (uint64). Defaults to 0.

Default: 0
Responses
200

Vesting claim link payload

application/json

Ready-to-sign deeplink for an LP claim.

kindstring · enumRequired

Which claim this link performs.

Possible values:
campaignAddressstringRequired

Bounceable mainnet form of the crowdfunding master address.

warningsstring[]Required

Non-fatal signals. The transaction is still served. Known values:

  • nothing_claimable_now — estimated claimable amount is 0 (e.g. before TGE or between linear ticks). Signing it will fail the vault's nothing_to_claim guard.
get
/api/v1/crowdfunding/campaigns/{address}/vesting-claim-link

Last updated