Skip to main content

Donation jars

A public donation page (veltro.online/donate/{slug}).

List your donation jars​

GET /api/v1/donations

Scope: read. Priced as a read call.

Create a donation jar​

POST /api/v1/donations

Scope: write. Priced as donation_create ($0.01 once your monthly quota is used up).

FieldTypeRequiredNotes
slugstringyes^[a-z0-9-]{3,40}$ — becomes the URL
namestringyes3–100 chars
destination_walletstringyesWallet that receives donations
descriptionstringnoMax 1000 chars
image_urlstringnoMust be a valid URL
cover_image_urlstringnoMust be a valid URL
goal_usdcnumbernoShows a progress bar on the public page
curl -X POST https://veltro.online/api/v1/donations \
-H "Authorization: Bearer vltro_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"slug": "community-fund",
"name": "Community Fund",
"destination_wallet": "0xYourWalletAddress",
"goal_usdc": 5000
}'
{
"data": {
"id": "...",
"slug": "community-fund",
"on_chain_jar_id": "0x...",
"name": "Community Fund",
"goal_usdc": 5000,
"status": "active",
"created_at": "..."
}
}

A jar created via the API still needs a one-time on-chain activation (createJar) before it can accept donations — sign that from Dashboard → Donations → Activate. Veltro's agent chat and dashboard both surface this step automatically; a jar with no on-chain activation reverts any donation attempt.