Server-only
This page covers your server webhook handler. The client triggers delegation; your server verifies, decrypts, and stores materials.
This page covers your server webhook handler. The client triggers delegation; your server verifies, decrypts, and stores materials.
wallet.delegation.created. The delegated materials are in data.
Verify → Decrypt → Store
- Verify the webhook signature. Use your webhook secret and the
x-dynamic-signature-256header: compute HMAC-SHA256 of the raw request body with the secret and compare to the header value in constant time. Only proceed if the signature is valid.
The payload you pass to
verifySignature must match exactly how it was sent (same JSON structure); otherwise verification will fail.- Decrypt
data.encryptedDelegatedShareanddata.encryptedWalletApiKey. - Store
userId,walletId, and decrypted materials securely (e.g., envelope encryption, KMS, at-rest encryption).
Encryption fields
alg: hybrid (RSA‑OAEP + AES‑256‑GCM); iv: AES IV; ct: ciphertext; tag: GCM tag; ek: encrypted content‑encryption key; kid: key identifier for rotation.Example: Node (using Dynamic SDK)
We provide a helper function to handle decryption for you. Install the SDK:decryptDelegatedWebhookData function:
If a delivery fails, you can replay it from the dashboard. Use the
eventId as an idempotency key.Best Practices for Secure Storage
After decrypting the delegated materials, proper storage is critical. ThedelegatedShare and walletApiKey, in combination with your Dynamic developer API key, provide full signing authority and must be protected with defense-in-depth strategies.
Recommended Storage Approaches
1. Envelope Encryption with Cloud KMS (Recommended)
1. Envelope Encryption with Cloud KMS (Recommended)
Use a cloud Key Management Service to encrypt the decrypted materials before storing them in your database.AWS KMS Example:Benefits:
- Centralized key management with automatic rotation
- Hardware-backed security (FIPS 140-2 Level 3)
- Audit logging of all encryption/decryption operations
- Fine-grained IAM policies
2. Google Cloud KMS & Secret Manager
2. Google Cloud KMS & Secret Manager
Similar to AWS KMS, but integrated with Google Cloud’s ecosystem.
3. Azure Key Vault
3. Azure Key Vault
Microsoft Azure’s managed secrets and key management service.
Security Requirements Checklist
Regardless of your storage method, follow these requirements:- Never log plaintext materials — redact
delegatedShareandwalletApiKeyfrom all logs, error messages, and monitoring - Encrypt at rest — use AES-256-GCM or equivalent; ensure database/storage has encryption enabled
- Encrypt in transit — all communication must use TLS 1.3
- Implement access controls — restrict which services and roles can decrypt materials
- Enable audit logging — track all access to encrypted materials with timestamps and actor identity
- Separate encryption keys — don’t reuse keys across environments (dev/staging/prod)
- Use unique encryption per record — generate new IVs for each encryption operation
- Implement key rotation — rotate encryption keys periodically (e.g., every 90 days)
- Plan for key compromise — document incident response for key material exposure
- Secure deletion — overwrite secrets in memory after use; use secure deletion for storage
Storage Schema Example
What NOT to Do
What's next?
Learn how to use the delegated materials in Developer Actions.