depositOS Docs
depositOS lets your users fund your app from anywhere — any chain, any wallet, an exchange withdrawal, or no wallet at all.
There are two ways to integrate.
1. npm package (recommended)
npm install @gizmolab/depositos
Drop in the prebuilt widget, or build your own UI on the headless hooks. The package ships its own styles — no Tailwind or CSS setup required.
- Crypto Deposit Widget SDK — product-led overview of the integration model, config surface, and evaluation path
- Quickstart — a working widget in a few minutes
- Configuration — every config property
- Funding Sources — wallet, deposit-from-anywhere, private
- Headless SDK — bring your own UI
You need an API key (dos_live_…) from the portal. Pass it as config.apiKey; the
SDK sends it as an x-api-key header so your volume and transactions are attributed to
your app.
2. Iframe
No npm install, no React. Host the embed, send config with postMessage, listen for
success/close/resize events.
- Iframe Embed — parent setup,
postMessageprotocol, origin validation - Script Tag — zero-dependency drop-in for static sites
The backend
depositOS runs the API. There is nothing to deploy and no infrastructure to manage — upstream provider keys live on our servers and never reach the browser.
If you need to call it directly from your own backend, see the API Reference.
Deposit addresses are persistent
A returning user is shown the same deposit address they saw last time, for the same
source chain, token and destination. Pass config.userId — your own id for that user —
and depositOS stores and re-verifies their address. See
Funding Sources.