Collect checkout
A headless checkout endpoint built for embedding directly in your own app or website — it's the only endpoint that doesn't use a normal vltro_live_... server key.
Authentication — Collect keys only
Authorization: Bearer vltro_pk_xxxxxxxxxxxx
Collect keys (vltro_pk_...) are safe to ship in client-side/browser code. They can only call this one endpoint, and can never read account data or perform any other action — see Authentication.
Create a one-off checkout
POST /api/v1/collect/checkout
| Field | Type | Required | Notes |
|---|---|---|---|
amount_usdc | number | yes | Positive |
description | string | no | Max 200 chars |
curl -X POST https://veltro.online/api/v1/collect/checkout \
-H "Authorization: Bearer vltro_pk_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "amount_usdc": 49.99, "description": "Order #10231" }'
{
"data": {
"slug": "collect-xK2p9qLmZ1",
"pay_url": "https://veltro.online/pay/collect-xK2p9qLmZ1",
"to": "0x...",
"data": "0x...",
"value": "0"
}
}
Two ways to use the response:
- Redirect the customer to
pay_url— a fully hosted Veltro checkout page. - Fully headless — use
{ to, data, value }directly with your own wallet-connect flow. Veltro never signs this; your customer's wallet does.
Funds always go to your account's primary wallet — a Collect key cannot redirect payment elsewhere. If your account has no primary wallet configured, this returns 409.