Documentation Index
Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
Use this file to discover all available pages before exploring further.
Polygon embedded wallets let an app create, restore, and use a wallet for a user without sending them to a separate wallet app. The SDKs handle wallet authentication, session state, wallet selection, transaction submission, message signing, signature verification, ID-token issuance, and balance reads where each SDK exposes those helpers.
Embedded wallets are non-custodial smart contract wallets powered by OMS Wallet. They give users consumer-grade onboarding without extensions, seed phrases, or separate wallet apps, while giving apps session-based signing, sponsored gas support, and programmable transaction flows.
Functionality
| Functionality | Description |
|---|
| Authentication and wallet creation | Start and complete user authentication, resolve the user’s embedded wallet, and create a wallet when the authenticated user does not already have one. Email OTP is available across SDKs; TypeScript, Swift, and Kotlin support OIDC redirect auth; Swift and Kotlin also support OIDC ID-token auth. |
| Wallet selection | TypeScript, Swift, and Kotlin can automatically select the first matching wallet, or use manual wallet selection when your app needs to present existing wallets plus a create-new-wallet action. |
| Session state | Restore completed wallet sessions with platform storage where supported, so apps can continue wallet operations after the initial sign-in flow. |
| Network registry | Use built-in supported-network entries and lookup helpers when passing networks to transaction, signing, and balance APIs. |
| Transactions | Send native token transactions and contract calls from the embedded wallet. On supported testnets, fee options are automatically sponsored. |
| Message signing and verification | Sign messages and typed data from the embedded wallet, then verify signatures through wallet public APIs. |
| Backend verification | Request an ID token for the active wallet and verify it on your backend against the issuer JWKS. This is exposed by TypeScript, Swift, and Kotlin. |
| Balances & history | Read wallet token balances through the SDK balance clients. Balance amounts are returned as raw base-unit values. |
Guides
Guides are use-case oriented and show the same flow across every SDK that exposes the required capability.
| Use Case | Description | Guide |
|---|
| Send USDC | Authenticate an embedded wallet, prepare a 6-decimal USDC amount, and submit an ERC-20 transfer contract call. | Send USDC |
| Backend wallet verification | Request a wallet ID token, verify it against the staging JWKS, and read trusted wallet claims on your backend. | Backend Wallet Verification |
Supported SDKs
| SDK | Best For | Start Here |
|---|
| TypeScript | Web, Node, and JavaScript apps that use viem-compatible EVM values and OIDC redirect auth. | TypeScript quickstart |
| Swift | iOS 15+ and macOS 12+ apps that need Keychain-backed wallet sessions, OIDC token or redirect auth, and native Swift transaction helpers. | Swift quickstart |
| Kotlin | Android apps with minSdk 26, Android Keystore-backed request signing, OIDC redirect auth, and optional OIDC ID-token auth. | Kotlin quickstart |