Alchemy settlement webhook (Routed + GPVRecorded)
Terminates Alchemy Custom (GraphQL) webhook deliveries for the Base RouterV2 Routed event and the GpvTracker GPVRecorded event (fee/plan-hash enrichment), republishing each occurrence onto its settlement topic. The path keeps its historical /routed name — one webhook carries both events. Authenticated by the X-Alchemy-Signature HMAC over the raw body — NOT by enforcer bearer/API-key auth. Returns 200 for anything Alchemy should not retry (including unparseable or foreign payloads), 401 on a missing/invalid signature, and 503 only for a transient publish failure that warrants redelivery. Success and 401/503 bodies are plain status text; only the 400 is JSON.
Request
- Base URL: https://api.instruxi.dev/api/v1/enforcer
- URL: https://api.instruxi.dev/api/v1/enforcer/webhooks/alchemy/{tenant_id}/routed
- Auth: none declared. Required headers: X-Alchemy-Signature
Path parameters
tenant UUID the webhook is registered under
Headers
hex-encoded HMAC-SHA256 of the raw request body, keyed with the tenant's Alchemy signing key
Response
accepted (or dropped as non-retryable)
Changes
No recorded changes to this operation across all 1 revision of this API.