The signing key — your finalization key
The signing key is what the SDK or API uses to finalize payouts. Its signature is what the pool and scheduled payout smart contract trusts — recipients, amounts, and schedule are locked under it, and no payout executes without it, directly or indirectly. You generate it — or register your own — in the organization’s dashboard, under the Signing Key tab:- Open your organization and go to Signing Keys.
- Add a key: give it a label, choose the key type (Ethereum), and either paste a public key or generate a fresh keypair in place.
- If you generate, copy the private key immediately and store it in backend configuration — Pvium keeps only the public key.
finalize on your backend:
Payout keys — pooled payouts only
A payout key applies only to Pooled payout types. Your signing key authorizes it for a single pool batch, with hard limits baked into the authorization:
The authorization is itself signed, and it only applies to the pool it names. A payout key cannot exceed its caps, cannot touch other batches, and dies at its expiration — the worst case is always the envelope you signed.
Use payout keys to let an automated service pay out of a funded pool within a bounded envelope while your signing key stays cold.
In the dashboard
On a funded pool batch, select Add Payout Key. The batch must be activated first, and you must connect the same wallet that funded it — no other wallet can authorize keys for the batch. Provide:- A label (for example, “Production Key”)
- The key type (Ethereum)
- The public key — paste one, or generate a fresh keypair in place. If you generate, copy and store the private key immediately; Pvium does not keep it.
- The per-transaction max, total max, and expiration in days
With the SDK
The Node SDK builds and signs the same authorization:Key custody stays with you
Both keys follow the same custody model:- Pvium registers only the public key. Whether you generate the keypair or bring your own, the private key stays on your system — it is never sent to or stored by Pvium.
- Custom signers can be injected. Both
finalizeandauthorizeSigningKeyaccept a signing function in place of a raw private key, so signing can be delegated to AWS KMS, an HSM, or any other signing module. The private key never has to exist in application memory — the SDK only ever sends the resulting signatures.
Which key for what
Keep all of them out of client-side code, and see Authentication for handling guidance.

