Skip to main content

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

FunctionalityDescription
Authentication and wallet creationStart 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 selectionTypeScript, 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 stateRestore completed wallet sessions with platform storage where supported, so apps can continue wallet operations after the initial sign-in flow.
Network registryUse built-in supported-network entries and lookup helpers when passing networks to transaction, signing, and balance APIs.
TransactionsSend native token transactions and contract calls from the embedded wallet. On supported testnets, fee options are automatically sponsored.
Message signing and verificationSign messages and typed data from the embedded wallet, then verify signatures through wallet public APIs.
Backend verificationRequest 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 & historyRead 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 CaseDescriptionGuide
Send USDCAuthenticate an embedded wallet, prepare a 6-decimal USDC amount, and submit an ERC-20 transfer contract call.Send USDC
Backend wallet verificationRequest a wallet ID token, verify it against the staging JWKS, and read trusted wallet claims on your backend.Backend Wallet Verification

Supported SDKs

SDKBest ForStart Here
TypeScriptWeb, Node, and JavaScript apps that use viem-compatible EVM values and OIDC redirect auth.TypeScript quickstart
SwiftiOS 15+ and macOS 12+ apps that need Keychain-backed wallet sessions, OIDC token or redirect auth, and native Swift transaction helpers.Swift quickstart
KotlinAndroid apps with minSdk 26, Android Keystore-backed request signing, OIDC redirect auth, and optional OIDC ID-token auth.Kotlin quickstart