# Crowdfunding (/ton/api/crowdfunding)



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

## Contribution deeplink [#contribution-deeplink]

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.

Whitelist: for jetton campaigns `investor_address` is checked against the campaign whitelist — non-whitelisted investors get 403 `not_whitelisted`. For native campaigns the check happens on-chain and a non-whitelisted contribution bounces back to the sender.

<APIPage document="ton" operations="[{ path: &#x22;/api/v1/crowdfunding/campaigns/{address}/contribution-link&#x22;, method: &#x22;get&#x22; }]" showTitle="false" showDescription="false" />

## LP claim deeplink [#lp-claim-deeplink]

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.

<APIPage document="ton" operations="[{ path: &#x22;/api/v1/crowdfunding/campaigns/{address}/claim-link&#x22;, method: &#x22;get&#x22; }]" showTitle="false" showDescription="false" />

## Vested LP claim deeplink [#vested-lp-claim-deeplink]

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.

<APIPage document="ton" operations="[{ path: &#x22;/api/v1/crowdfunding/campaigns/{address}/vesting-claim-link&#x22;, method: &#x22;get&#x22; }]" showTitle="false" showDescription="false" />
