ZKsync webhook service for local testing. Runs the webhook service and Postgres via Docker Compose, with a configurable webhook receiver target. Adheres to open standard webhooks specification.
- Docker + Docker Compose
- Quay.io credentials for the private webhook image
- Optional: Rust toolchain (for
make mock-server) - Optional: mdbook (for
make docs-serve/make docs-build)
Run make docs-serve for the full docs site, including API examples (default: http://localhost:3000).
- Copy the env file and fill in required values:
cp .env-example .env
Set:
DOCKER_USERNAME,DOCKER_PASSWORDPRIVIDIUM_SIGNER_KEY,ENCRYPTION_KEY
- Log in to Quay and start the stack:
make login
make up
- (Optional) Run a local receiver:
make mock-server
- API base:
http://localhost:8081
Key routes:
POST /v1/event-webhookGET /v1/event-webhookGET /v1/event-webhook/:idPATCH /v1/event-webhook/:idDELETE /v1/event-webhook/:idPOST /v1/address-webhookGET /v1/address-webhookGET /v1/address-webhook/:idDELETE /v1/address-webhook/:idGET /v1/address-webhook/:id/addressesPOST /v1/address-webhook/:id/addressesDELETE /v1/address-webhook/:id/addresses
- Service config:
config/config.prividium.docker.toml(mounted read-only into the container). - Override the config path with
HOST_CONFIG_PATHin.env. - Set your webhook receiver target with
WEBHOOK_DESTINATION_URL(defaults tohttp://host.docker.internal:9000/webhook).
make up # start services
make down # stop services
make reset # stop and remove data volume
make logs # follow webhook-service logs
make status # container status
make get-token ACCOUNT=dev
make docs-serve
make docs-build