Authentication
All requests to Handcash must include the headers:app-secretapp-id
- Generated by the client server in the Wallet-as-a-Service flow.
- Returned in a query parameter in a redirect in the Handcash Connect flow.
- Found in the business wallet “Wallet” section for a business wallet.
Required Headers for Signed Payload
Include the following headers when making authenticated requests:| Header | Description |
|---|---|
app-id | Your application’s unique identifier provided by Handcash. |
app-secret | Your application’s secret key provided by Handcash. |
oauth-publickey | The public key of the wallet or user making the request. |
oauth-timestamp | Current timestamp to prevent replay attacks. |
oauth-nonce | Unique random string per request to prevent replay attacks. |
oauth-signature | ECDSA signature of the request, generated using your private key. |
Generating a Signature
To create theoauth-signature:
- Create the Signature String: Concatenate the HTTP method, endpoint, body, timestamp, and nonce.
- Hash the Signature String: Use SHA-256 to hash the signature string.
- Sign the Hash: Use ECDSA with your private key to sign the hashed string.
- Include the Signature: Add the signature to the
oauth-signatureheader.
Code Snippet
Here’s how to generate theoauth-signature in JavaScript:

