SDKs
RDCPASS publishes and maintains official SDKs for seven languages. Each one wraps the complete RDCPASS API — every service, every request mode and webhooks — and implements the security stack described in Authentication for you, so your code deals only with typed requests and responses.
Why use an SDK
Every RDCPASS request must be signed, encrypted and sent over mutual TLS. The SDKs take care of all of it:
Request signing
HMAC-SHA256 signatures, timestamps and nonces computed on every request — the
X-RDCPASS-* headers are never written by hand.AES-256-GCM encryption and decryption
Request bodies are encrypted with your Payload Encryption Key and a fresh IV per request; responses are decrypted before they reach your code.
Mutual TLS
Load your client certificate and private key once in the client configuration; every connection presents it.
Idempotency keys
Every POST carries an automatically generated
Idempotency-Key, so a retried request is never processed twice.Retries with exponential backoff
Rate limits (
429), server errors (5xx) and network failures are retried automatically, honouring Retry-After.Typed models
Request parameters, responses, events and errors are typed in each language, with enums for identifier types, results and statuses.
Batch and async helpers
Submit batches, wait for jobs and batches to finish, and iterate paginated results without handling cursors.
Webhook verification
One call verifies the
X-RDCPASS-Webhook-Signature and timestamp, and returns a typed event.Official SDKs
Choose your language for installation, configuration and a complete guide to every service.
Node.js / TypeScript@rdcpass/node · Node.js 18+Install with npm install @rdcpass/nodePythonrdcpass · Python 3.9+Install with pip install rdcpassGogithub.com/rdcpass/rdcpass-go · Go 1.21+Install with go get github.com/rdcpass/rdcpass-goJava / Kotlincd.rdcpass:rdcpass-java · Java 11+Install with implementation("cd.rdcpass:rdcpass-java:1.4.0")PHPrdcpass/rdcpass-php · PHP 8.1+Install with composer require rdcpass/rdcpass-php.NET (C#)RdcPass · .NET 6+Install with dotnet add package RdcPassRustrdcpass · Rust 1.74+ (async, tokio)Install with cargo add rdcpass
Installation
Install the SDK for your language with its standard package manager:
npm install @rdcpass/nodeFeature support
Every SDK covers the full API. There is no feature available over raw HTTP that an SDK does not expose.
| Capability | Node.js | Python | Go | Java | PHP | .NET | Rust |
|---|---|---|---|---|---|---|---|
| KYC Validation | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Face Recognition | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Age Verification | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| KYB Verification | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| AML/CTF Screening | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Credit Scoring | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Fraud Reporting | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Login with RDCPASS (OIDC with PKCE) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Single synchronous requests | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Single asynchronous requests (Prefer: respond-async) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Synchronous batches (up to 50 items) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Asynchronous batches (up to 10,000 items) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Webhook signature verification and typed events | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Versioning and support policy
- Semantic versioning. Patch releases fix bugs, minor releases add features, and only major releases contain breaking changes.
- 24-month support window. Each major version keeps receiving security fixes and bug fixes for 24 months after the next major version is released.
- Changelog. Every release is documented in the repository on GitHub, at
github.com/rdcpass/<repo>— for example github.com/rdcpass/rdcpass-node. - API compatibility. New API fields and events are added in minor releases; existing fields are never removed within a major version.
Repositories
| Language | Package | Minimum runtime | Repository |
|---|---|---|---|
| Node.js / TypeScript | @rdcpass/node | Node.js 18+ | github.com/rdcpass/rdcpass-node |
| Python | rdcpass | Python 3.9+ | github.com/rdcpass/rdcpass-python |
| Go | github.com/rdcpass/rdcpass-go | Go 1.21+ | github.com/rdcpass/rdcpass-go |
| Java / Kotlin | cd.rdcpass:rdcpass-java | Java 11+ | github.com/rdcpass/rdcpass-java |
| PHP | rdcpass/rdcpass-php | PHP 8.1+ | github.com/rdcpass/rdcpass-php |
| .NET (C#) | RdcPass | .NET 6+ | github.com/rdcpass/rdcpass-dotnet |
| Rust | rdcpass | Rust 1.74+ (async, tokio) | github.com/rdcpass/rdcpass-rust |
Prefer raw HTTP?
Every SDK call maps one-to-one to a documented endpoint. To integrate without an SDK, implement signing, encryption and mTLS yourself as described in Authentication, then follow the API reference.