SDK reference
Nine native SDKs, one versioned wire contract. Every package below implements the same request → render → report lifecycle with identical guarantees — pick your platform.
| Platform | Package | Language | Distribution | |
|---|---|---|---|---|
| Web (Browser) | @theaimart/adx-web | TypeScript | npm / CDN | Docs |
| Node.js (server) | @theaimart/adx-node | TypeScript | npm | Docs |
| Python | theaimart-adx | Python 3.8+ | PyPI | Docs |
| Rust (server) | theaimart-adx | Rust | crates.io | Docs |
| React Native | @theaimart/adx-react-native | TypeScript | npm | Docs |
| Android (Kotlin) | co.theaimart.adx:adx-android | Kotlin | Maven Central | Docs |
| iOS (Swift) | TheaimartAdx | Swift | SwiftPM / CocoaPods | Docs |
| Flutter (Dart) | theaimart_adx | Dart | pub.dev | Docs |
| Unity (C#) | co.theaimart.adx | C# | UPM (git URL) | Docs |
Legacy web tags
Prefer zero-build drop-in tags over the npm package?adx.js and the low-bandwidth adx-lite.js serve the same contract as a plain <script> include — see the developer overview for those snippets.Shared guarantees
Every SDK in the table above is generated from and tested against the same wire contract, so switching platforms never changes your mental model:
- Identical
filled/kind/source/isTrackablenormalized result shape. - WAF-safe encoding of every free-text parameter.
- A platform-tagged, fraud-safe User-Agent by default.
- Fail-closed rendering — network errors, timeouts and non-200s all collapse to no-fill, never a crash.
- Creatives render only inside a sandboxed iframe/WebView — see the security model.
Which SDK do I need?
- Website — Web (npm) or the drop-in
adx.jstag. - Server-rendered pages / server-to-server — Node, Python or Rust.
- Cross-platform app — React Native or Flutter.
- Native app — Android or iOS.
- Game — Unity.
- Already on Prebid / another exchange — skip the SDK and connect via the inbound OpenRTB 2.5 endpoint from the publisher dashboard instead.