Skip to main content
Blink uses ECDSA with the P-256 curve (prime256v1) and SHA-256 for payload signing and verification. You generate a key pair: a private key (kept secret on your server) and a public key (registered with Blink).

Option B: Node.js crypto module

Expected output

private.pem (keep secret):
public.pem (share with Blink):

Security requirements

The private key is your signing credential. If compromised, an attacker can create valid payment links on your behalf.
  • Never expose the private key in client-side code, browser-accessible environment variables, or version control.
  • In production, store the private key in a secrets manager (AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager) or an HSM.
  • For local development, store it in a .env file that is git-ignored.
  • Plan for key rotation. Blink supports updating your public key by contacting the team.