Payment Service Request Signing
All Payment Service API calls require signed requests.
Required Headers
x-depay-timestampx-depay-signature
Timestamp Rules
- Timestamp must be within ±5 minutes of server time.
- Timestamp cannot be reused for the same owner address.
Replay key format:
- (
ownerAddress,timestamp)
Signed Message
The signature input is always:
DePay API Request Signature
<CANONICAL_JSON>
Canonical JSON shape:
{
"action": "invoice.create",
"ownerAddress": "0x...",
"timestamp": 1714200000000,
"payload": {
"chainId": 8453,
"invoiceId": "1000456",
"amount": "12.5"
}
}
Action Values
invoice.createinvoice.statusinvoice.deleteinvoice.listfee.set-metafee.set-payout-meta
cURL Skeleton
curl -X POST '<BASE_URL>/integration/invoices' \
-H 'Content-Type: application/json' \
-H 'x-depay-timestamp: <TIMESTAMP_MS>' \
-H 'x-depay-signature: <REQUEST_SIGNATURE>' \
-d '{
"ownerAddress": "<OWNER_ADDRESS>",
"chainId": 8453,
"amount": "12.5"
}'