Naming note: this documentation set covers the DeCard-Managed integration model, previously called the standard-authorization model. In this model DCS maintains a dedicated fiat / digital-asset account and balance for each user, and no on-chain collateral is involved.
What is in this group
Integration Resources brings together every technical asset and security credential you need, from integration development through to production go-live:1. Credentials and Request Headers
What DCS gives you
The
apiKey is a globally unique identifier that supports identification and analytics. To stop anyone else from issuing requests under your apiKey, it must be paired with the secretKey: you generate a signature according to the agreed rules and submit it alongside the request for DCS to verify. DCS delivers this key pair to you privately, and every API call a partner makes must follow the agreed signing protocol.
For sandboxapiKey/secretKey, contact the DCS team. Production credentials must be obtained through Secure Retrieval of Production Credentials.
Headers required on every request
Every API call from a partner must carry the following HTTP headers:the
secretKey is used only to compute the signature locally. Never transmit it in a request header.Content-Type: application/json is missing:
Thissuccess=falsecomes from the framework-level error response triggered by the missing Content-Type; it does not mean that every business response reliably includessuccess. In normal integration, always decide success or failure fromcodeand do not depend on thesuccessfield.
2. Request Signing (HMAC-SHA256)
Signing rule
Sign the concatenated string using the HmacSHA256 algorithm with thesecretKey as the key:
The signing algorithm is fixed to HmacSHA256. Always use this algorithm.
Replay protection (DCS verifies, the partner generates)
- TIMESTAMP: must be a 13-digit millisecond timestamp (for example
Date.now(), not a 10-digit second timestamp). A malformed value returnsDAPI_TIMESTAMP_FORMAT_ERROR. DCS only accepts requests within a 5-second validity window; beyond that it returnsDAPI_TIMESTAMP_EXPIRED, so regenerate the timestamp from the current time, recompute the signature, and keep your local clock in sync. - NONCE: generate a fresh random number in
[10000, 99999]for every request so that each request is valid only once. Do not reuse nonces.
If authentication fails, check the timestamp, the nonce and the string you signed first. For exact error codes, rely on what the API actually returns and on the dictionary DCS provides for this product.
Signing examples
JavaScript (Postman pre-request script)Full request example (GET)
In this examplepayload = externalUserId=<externalUserId>&cardId=<cardId>, the GET query string. To validate your implementation before go-live, take the sameapiKey/timestamp/nonce/payloadset that DCS provides and confirm you reproduce the identicalX-DAPI-SIGN.
Common response envelope
Every API returns the same envelope:Treatcode == "SYS_SUCCESS"as the sole success condition. The response envelope does not include asuccessboolean, so do not depend on that field.
3. Secure Retrieval of Production Credentials
To keep productionapiKey/secretKey from leaking in transit, production credentials are never sent to you directly. They are collected through a one-time secure retrieval flow.
The sandbox environment does not need this flow; simply contact the DCS team.
The flow (and who does what)
- The partner provides: one secure email address plus one source IP for retrieval.
- The email address receives the retrieval instructions; the IP is added to the credential-retrieval whitelist.
- DCS sends: an email to that secure address containing a temporary secure link that is valid for one use only.
- The partner retrieves: concatenate
extractUrlwithextractSecretKeyand run it from the machine at the registered IP to receive theapiKey/secretKey.
Fields in the email
Success response
Only the failure envelope is shown here. For exact error codes, rely on what the API actually returns and on the dictionary DCS provides for this product; this version does not reuse error-code tables from other products.
Next steps / Related
With authentication working, go to Quickstart to issue your first card, or start from First Steps to confirm that your account and callbacks are ready. The remaining technical assets in Integration Resources:- IP Whitelisting: register your network egress addresses with DCS, both for API access and for secure retrieval of production credentials.
- SessionId Public Key / Encryption: the encryption and signing capabilities actually available in the DeCard-Managed model.
- H5 KYC / Card Application Journey: the embedded flow for KYC and card application.
- Web SDK Integration: front-end integration SDK.
- Webhook + WebSocket Notifications: event callbacks (Webhook) and real-time WebSocket push (a DeCard-Managed differentiator).

