Webhooks
Outbound webhooks notify your HTTPS endpoint about selected events. Configure the webhook URL and secret in the Vudy dashboard for your app (not via public key-provisioning APIs).
Guide: Outbound webhooks.
Delivery contract#
| Direction | Vudy → your server |
| Method | POST |
| Content-Type | application/json |
| Auth header | X-Webhook-Secret: <secret> when a secret is configured; otherwise omitted |
| Success | Respond with HTTP 2xx and a JSON response body |
| Retries | None. Delivery is attempted once; poll the transaction endpoint for recovery |
| Idempotency | Not provided by Vudy — dedupe on your side using event + resource ids |
Payload shape#
{
"event": "requestPaid",
"data": {
"id": "transaction-uuid",
"requestId": "request-uuid",
"token": "USDC",
"amount": 100,
"amountCurrencySymbol": "USD",
"tokenAmount": "100",
"hashUrl": "https://explorer.example/tx/0xabc",
"network": "Base"
}
}Event availability#
| Event | Meaning | Delivery status |
|---|---|---|
requestPaid | Vudy payment request confirmed paid | Delivered on payment confirmation |
requestCancelled | Payment request cancelled | Reserved — not currently delivered |
requestClientEmailSet | Client email set on a payment request | Reserved — not currently delivered |
deploymentPaid | Deployment payment completed | Reserved — not currently delivered |
deploymentIssue | Deployment encountered an issue | Reserved — not currently delivered |
There is no sendCompleted event. For sends and reserved events, poll the relevant transaction endpoints.
Out of scope#
- Inbound provider callbacks under
/webhooks/** - Streaming or long-poll alternatives