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#

DirectionVudy → your server
MethodPOST
Content-Typeapplication/json
Auth headerX-Webhook-Secret: <secret> when a secret is configured; otherwise omitted
SuccessRespond with HTTP 2xx and a JSON response body
RetriesNone. Delivery is attempted once; poll the transaction endpoint for recovery
IdempotencyNot 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#

EventMeaningDelivery status
requestPaidVudy payment request confirmed paidDelivered on payment confirmation
requestCancelledPayment request cancelledReserved — not currently delivered
requestClientEmailSetClient email set on a payment requestReserved — not currently delivered
deploymentPaidDeployment payment completedReserved — not currently delivered
deploymentIssueDeployment encountered an issueReserved — 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