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).
| Field | Type | Required | Notes |
|---|---|---|---|
slug | string | yes | ^[a-z0-9-]{3,40}$ — becomes the URL |
name | string | yes | 3–100 chars |
destination_wallet | string | yes | Wallet that receives donations |
description | string | no | Max 1000 chars |
image_url | string | no | Must be a valid URL |
cover_image_url | string | no | Must be a valid URL |
goal_usdc | number | no | Shows 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.