> ## Documentation Index
> Fetch the complete documentation index at: https://developer.verilock.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs & Libraries

> Official client libraries for every platform — server-side, mobile, and web.

Verilock SDKs handle authentication, retries, error handling, and file uploads out of the box. Pick the SDK for your platform and start verifying identities in minutes.

## Server SDKs

Use these from your backend to create sessions, screen transactions, and manage the full API.

<CardGroup cols={3}>
  <Card title="Node.js / TypeScript" icon="node-js" href="/sdks/node">
    `npm install @verilock/node-sdk`
  </Card>

  <Card title="PHP" icon="php" href="/sdks/php">
    `composer require verilock/php-sdk`
  </Card>

  <Card title="Python" icon="python" href="/sdks/python">
    `pip install verilock`
  </Card>
</CardGroup>

## Client SDKs

Embed verification flows directly in your app with native UI components.

<CardGroup cols={3}>
  <Card title="Web JavaScript" icon="js" href="/sdks/web">
    Modal widget + API client for browsers
  </Card>

  <Card title="Flutter" icon="flutter" href="/sdks/flutter">
    Camera capture, verification screen, API client
  </Card>

  <Card title="React Native" icon="react" href="/sdks/react-native">
    WebView + native components + hooks
  </Card>
</CardGroup>

## Native SDKs

For native iOS and Android apps with full async/await support.

<CardGroup cols={2}>
  <Card title="iOS (Swift)" icon="apple" href="/sdks/ios">
    Swift Package — iOS 15+, async/await, Codable models
  </Card>

  <Card title="Android (Kotlin)" icon="android" href="/sdks/android">
    Gradle — minSdk 24, coroutines, kotlinx.serialization
  </Card>
</CardGroup>

## No SDK?

Use the [REST API directly](/sdks/rest-api) with any HTTP client in any language.

## Quick Comparison

| Feature       | Node.js | PHP | Python       | Swift       | Kotlin     | Flutter | React Native | Web JS   |
| ------------- | ------- | --- | ------------ | ----------- | ---------- | ------- | ------------ | -------- |
| Server API    | Yes     | Yes | Yes          | Yes         | Yes        | Yes     | Yes          | Yes      |
| Hosted UI     | —       | —   | —            | —           | —          | Yes     | Yes          | Yes      |
| File uploads  | Yes     | Yes | Yes          | Yes         | Yes        | Yes     | Yes          | Yes      |
| Auto retries  | Yes     | Yes | Yes          | Yes         | Yes        | —       | —            | Yes      |
| Typed errors  | Yes     | Yes | Yes          | Yes         | Yes        | Yes     | Yes          | Yes      |
| Async support | Native  | —   | Sync + Async | async/await | Coroutines | Futures | Hooks        | Promises |

## SDK Features

All official SDKs include:

<CardGroup cols={2}>
  <Card title="Automatic retries" icon="rotate">
    Exponential backoff for 5xx errors and rate limits with configurable max retries.
  </Card>

  <Card title="Type safety" icon="code">
    Fully typed request/response objects for IDE autocompletion and compile-time checks.
  </Card>

  <Card title="Structured errors" icon="bug">
    Typed exceptions with access to error codes, messages, HTTP status, and balance details.
  </Card>

  <Card title="File uploads" icon="upload">
    Multipart upload helpers for documents, selfies, and address proofs.
  </Card>
</CardGroup>
