# MoonPay Wallets Docs Authentication, embedded wallets, funding, market data, and swaps for your app. - [Wallets built for money movement.](/index): Give users a familiar way to buy, hold, send, swap, and cash out digital assets. Build with MoonPay Wallets, authentication, MoonPay funding, and swap APIs. - [Overview](/wallets/funding/overview) - [Card payments (Ramps)](/wallets/funding/methods/card) - [MoonPay Commerce](/wallets/funding/methods/commerce): Fund embedded wallets through Commerce with card payments, wallet connections, exchange connections, and crypto transfers. - [Cash Out](/wallets/funding/methods/cash-out) - [Ramps configuration](/wallets/funding/configure) - [Commerce setup](/wallets/funding/configure-commerce): Configure Commerce keys, receiving networks, token defaults, and funding availability for your MoonPay Wallets app. - [Ethereum](/wallets/funding/fund-types/ethereum) - [Solana](/wallets/funding/fund-types/solana) - [Bitcoin](/wallets/funding/fund-types/bitcoin) - [Swaps](/swaps/overview): Integrate MoonPay Wallets swap APIs with your backend, wallet execution, and transaction tracking. - [MoonPay Wallets Public API](/api-reference): Detailed endpoint catalogue for the public MoonPay Wallets integration surfaces. Start with the [API overview](/get-started/rest-api/api-overview) if you're choosing credentials or deciding which routes to call. ## Authentication at a glance | Surface | Paths | Credential | Called from | | --- | --- | --- | --- | | Organization management | `/v0/management/*` | `Authorization: Bearer moon_org_...` with the operation's required scope | Your backend | | SDK / browser | `/v0/sdk/*` | `Authorization: PublicToken moon_pk_...`; session routes also require `X-MoonX-Access-Token` | React SDK or custom browser client | | Data and swaps | `/v0/data/*`, `/v0/swaps/*` | App secret key, except the publishable-key-acceptable data bulk-balance route | Your backend; see [Market data](/data/overview) and [Swaps](/swaps/overview) | | Signer lifecycle | `/v0/wallets/ephemeral-signers/`, `/attestation`, `/{api_pub}` | App key and wallet session; provisioning/revocation also need scoped presence. `/policy` needs only the app key | User-authorized SDK flows | | Server-only | `/v0/compliance/*`, `/v0/wallets/ephemeral-signers/sign`, `/v0/wallets/ephemeral-signers/me/wallets` | `X-API-Key: moon_sk_...` or `Authorization: Bearer moon_sk_...`; signing also needs the agent's request signature | Your backend only | | Step-up wallet operations | Signing, key export, passkey removal, signer provisioning/revocation | Operation-scoped `X-MoonX-Presence`, plus the required session. Proof sources depend on the operation and protection model | Triggered by SDK flows | Organization keys manage apps and issue runtime app keys. See [Provision apps from your backend](/get-started/rest-api/provision-apps) and [Organization API keys](/get-started/rest-api/organization-api-keys). Error response shapes are documented per operation. Management mutation errors include `error` and `code`; some operations use a text/plain content type. Rate-limit responses contain plain text. - [Market data](/data/overview): Query MoonPay Wallets market-data APIs for tokens, prices, pairs, wallets, discovery, networks, and Bitcoin data. - [Earn](/earn/overview): MoonPay Wallets Earn is coming soon. - [Getting started](/get-started/getting-started): Create an app, configure authentication and protection, and reach your first wallet signature. - [About MoonPay Wallets](/get-started/about): Understand MoonPay Wallets authentication, wallets, funding, data, swaps, and integration boundaries. - [Setup an account](/get-started/setup-account) - [Choose your platform](/get-started/platform-selection) - [Credentials and environments](/get-started/environments): Distinguish app identifiers, app keys, user tokens, provider environments, and blockchain networks. - [Dashboard](/get-started/dashboard/overview) - [Create new app](/get-started/dashboard/create-new-app) - [Configure login methods](/get-started/dashboard/login-methods) - [Team member roles](/get-started/dashboard/team-member-roles) - [Installation](/get-started/frontend-sdks/react/installation) - [Setup](/get-started/frontend-sdks/react/setup) - [Quickstart](/get-started/frontend-sdks/react/quick-start): Run a React starter, sign in, explicitly create a wallet, and display your first signature. - [Configuration](/get-started/frontend-sdks/react/configuration): Full reference for MoonXConfig, covering every field accepted by MoonXProvider. - [Features](/get-started/frontend-sdks/react/features): Discover React SDK capabilities and their configuration, protection, and network requirements. - [External Wallets](/get-started/frontend-sdks/react/external-wallets): Connect user-owned wallets like MetaMask or Phantom from the web SDK with a prebuilt modal or the headless useExternalWallets hook. - [Configure Networks](/get-started/frontend-sdks/react/advance/configure-networks) - [Configure Appearance](/get-started/frontend-sdks/react/advance/configure-appearance) - [CSP and RPC Allowlist](/get-started/frontend-sdks/react/advance/csp-and-rpc-allowlist): Why custom RPC hosts may be silently blocked, and how to make them work. - [Installation](/get-started/frontend-sdks/react-native/installation): Install the MoonPay Wallets React Native SDK in an Expo or bare React Native app, including peer dependencies and required polyfills. - [Setup](/get-started/frontend-sdks/react-native/setup): Configure MoonXProvider in a React Native app and understand the headless integration model. - [Quickstart](/get-started/frontend-sdks/react-native/quick-start): A minimal headless React Native flow that logs a user in with email OTP, creates an embedded wallet, and signs a message. - [Authentication](/get-started/frontend-sdks/react-native/authentication): Email OTP and OAuth login, account linking, session restoration, and token handling in the MoonPay Wallets React Native SDK. - [Passkeys](/get-started/frontend-sdks/react-native/passkeys): Check passkey status, enroll, add, and remove passkeys with the MoonPay Wallets React Native SDK. - [Wallets](/get-started/frontend-sdks/react-native/wallets): Create, list, import, and export embedded wallets with the MoonPay Wallets React Native SDK. - [Signing](/get-started/frontend-sdks/react-native/signing): EVM, Solana, and Tron signing and transaction hooks in the MoonPay Wallets React Native SDK, including per-call RPC requirements. - [Funding](/get-started/frontend-sdks/react-native/funding): Prepare a headless funding session with useFundWallet and present the provider URL in your own browser surface. - [External Wallets](/get-started/frontend-sdks/react-native/external-wallets): Connect user-owned wallets such as MetaMask or Phantom from React Native with useExternalWallets and WalletConnect. - [Ephemeral Signers](/get-started/frontend-sdks/react-native/ephemeral-signers): Provision, list, and revoke ephemeral signers from a React Native app with useEphemeralSigner. - [API overview](/get-started/rest-api/api-overview): What is (and isn't) public MoonPay Wallets API, and which credential each surface expects. - [Setup](/get-started/rest-api/setup) - [Quickstart](/get-started/rest-api/quick-start) - [Provision apps from your backend](/get-started/rest-api/provision-apps): Create and configure an app with an organization API key, then issue its runtime credentials. - [Organization API keys](/get-started/rest-api/organization-api-keys): Credentials, scopes, lifecycle, and retry behavior for the app management API. - [Domain Whitelisting](/get-started/domain-whitelisting): Configure and manage whitelisted domains for secure authentication flows in MoonPay Wallets - [Overview](/authentication/overview): Learn about MoonPay Wallets authentication methods and how to integrate them into your application - [Email OTP](/authentication/user-authentication/authentication-methods/email): Authenticate users with one-time passcodes sent to their email address - [Link an email](/authentication/user-authentication/authentication-methods/link-email): Attach a verified email to an account that signed in with a wallet - [Change email](/authentication/user-authentication/authentication-methods/change-email): Let a signed-in user replace the email on their account - [OAuth (Social Login)](/authentication/user-authentication/authentication-methods/oauth): Enable users to sign in with Google or Apple OAuth - [Integrate Google OAuth](/authentication/user-authentication/authentication-methods/oauth/google) - [External wallet authentication (SIWE and SIWS)](/authentication/user-authentication/authentication-methods/external-wallet): Let users sign in or link an account by signing with an existing wallet like MetaMask or Phantom - [Passkeys](/authentication/user-authentication/passkeys): Passkeys are not a login method in MoonPay Wallets. Wallets use them as a security measure to prove the user acting is physically present and in control of the passkey. - [Overview](/authentication/user-authentication/sessions/overview): Learn how MoonPay Wallets manages user sessions and authentication state - [Session Management](/authentication/user-authentication/sessions/session-management): Implement advanced session management with the MoonPay Wallets REST API - [Token Architecture](/authentication/user-authentication/sessions/session-token-vs-jwt) - [Access Tokens](/authentication/user-authentication/access-tokens) - [Identity Tokens](/authentication/user-authentication/identity-tokens) - [Refresh Tokens](/authentication/user-authentication/refresh-tokens) - [Presence Tokens](/authentication/user-authentication/presence-tokens): Gate high-risk backend routes on a fresh passkey assertion using short-lived presence tokens. - [Backend Verification](/authentication/user-authentication/sessions/backend-verification): Verify access, identity, and presence tokens issued by MoonPay Wallets on your own server with @moon-x/node-sdk. - [Session resume](/security/session-resume): An opt-in app setting that keeps web users signed in when the browser clears the wallet iframe's storage, and the tradeoffs an app accepts by enabling it. - [Authentication State](/authentication/user-authentication/authentication-state) - [Logging Users Out](/authentication/user-authentication/signing-users-out) - [Overview](/authentication/user-authentication/ui-components/overview) - [Login](/authentication/user-authentication/ui-components/login) - [Email OTP](/authentication/user-authentication/ui-components/email-otp) - [Whitelabel](/authentication/user-authentication/whitelabel) - [Overview](/wallets/overview): Create, protect, fund, and operate embedded wallets with MoonPay Wallets. - [Chain Support](/wallets/chain-support) - [Create a Wallet](/wallets/embedded-wallets/create-a-wallet/overview) - [Get User Wallets](/wallets/embedded-wallets/get-a-wallet/get-user-connected-wallets) - [Import a Wallet](/wallets/embedded-wallets/import-a-wallet) - [Export a Wallet](/wallets/embedded-wallets/export-a-wallet) - [Connect to dApps with WalletConnect](/wallets/embedded-wallets/connect-to-dapps): Let users connect their embedded Solana wallet to external dApps over WalletConnect and approve the dApps' requests in your app. - [Passkeys & Wallet Key Protection](/wallets/passkeys): How MoonPay Wallets uses passkeys to encrypt wallet key material and to prove fresh user presence, plus the enrollment, wrap, and deletion lifecycle. - [Identity-Backed Encryption](/wallets/identity-backed-encryption): How identity-backed encryption lets a signed-in user unlock an embedded wallet, what it changes about the trust model, how it interacts with passkeys and presence proofs, and how to enable it. - [Identity-First Setup](/wallets/identity-first-setup): A React SDK recipe for making identity-backed encryption the default for every account, from turning it on at signup to gating wallet actions, email step-up, and offering passkeys as an optional upgrade. - [Low-latency signing](/wallets/low-latency-signing): Prepare a user's Ethereum and Solana wallets once so that later signs take a single request instead of a full MPC signing round. - [React Native Passkeys](/wallets/mobile-passkeys): Configure MoonPay Wallets passkeys for iOS and Android with Associated Domains, Digital Asset Links, and Android signing fingerprints. - [Ephemeral Signers (Agents)](/wallets/ephemeral-signers/overview) - [Set up an identity-backed signer](/wallets/ephemeral-signers/identity-backed-setup): Enable identity-backed encryption, provision an ephemeral signer through the user's session, save its credentials, and revoke access. - [Send Transaction](/wallets/using-wallets/ethereum/send-transaction): Submit an EVM transaction with a selected wallet and wait for a successful receipt. - [Send Batch Transactions](/wallets/using-wallets/ethereum/send-batch-transactions): Send several EVM transactions from one wallet with one user authorization and get back a list of transaction hashes. - [Send Atomic Batch Transactions](/wallets/using-wallets/ethereum/send-atomic-batch-transactions): Send several EVM calls from one wallet as a single all-or-nothing transaction. - [Sign Transaction](/wallets/using-wallets/ethereum/sign-transaction) - [Sign Message](/wallets/using-wallets/ethereum/sign-message): Sign an EIP-191 message with a selected Ethereum wallet and verify its signature. - [Sign Typed Data](/wallets/using-wallets/ethereum/sign-typed-data) - [Sign Hash](/wallets/using-wallets/ethereum/sign-hash): Sign a raw 32-byte digest with an embedded Ethereum wallet (secp256k1). - [Sign EIP-7702 Authorization](/wallets/using-wallets/ethereum/sign-eip7702-authorization): Sign a persistent code-delegation authorization, inspect delegation, and prepare an authorization to clear it. - [Switch Chains](/wallets/using-wallets/ethereum/switch-chains) - [Ethereum Provider](/wallets/using-wallets/ethereum/ethereum-provider) - [Sign Message](/wallets/using-wallets/solana/sign-message) - [Send Transaction](/wallets/using-wallets/solana/send-transaction) - [Sign Transaction](/wallets/using-wallets/solana/sign-transaction) - [Solana v1 Transactions](/wallets/using-wallets/solana/v1-transactions): Sign and send Solana v1 (SIMD-0385) transactions with MoonPay Wallets - [Get Token Accounts](/wallets/using-wallets/solana/get-token-accounts): Read SPL token balances for an embedded Solana wallet. - [Solana Web3.js Integration](/wallets/using-wallets/solana/solana-web3-js) - [Sign Message](/wallets/using-wallets/tron/sign-message) - [Sign Transaction](/wallets/using-wallets/tron/sign-transaction) - [Send Transaction](/wallets/using-wallets/tron/send-transaction) - [Bitcoin Overview and Wallet Types](/wallets/using-wallets/bitcoin/overview) - [Sign Message](/wallets/using-wallets/bitcoin/sign-message) - [Sign Transaction](/wallets/using-wallets/bitcoin/sign-transaction) - [Send Transaction](/wallets/using-wallets/bitcoin/send-transaction) - [Overview](/wallets/ui-components/overview) - [Sign Message](/wallets/ui-components/sign-message) - [Sign Transaction](/wallets/ui-components/sign-transaction) - [Send Transaction](/wallets/ui-components/send-transaction) - [Export Key](/wallets/ui-components/export-key) - [Overview](/wallets/whitelabel/overview): Build application-owned wallet screens with chain-specific hooks and secure signing/export boundaries. - [Security at MoonPay Wallets](/security/overview): How MoonPay Wallets protects user wallets, keys, sessions, and data across its embedded wallet infrastructure. - [What is MPC?](/security/what-is-mpc): An introduction to multi-party computation, threshold signing, and how client-share protection affects wallet recovery. - [MPC key custody](/security/key-custody): How MoonPay Wallets keys exist as threshold shares, which signature schemes are used, and what each party can and cannot do. - [Passkeys and recovery](/security/passkeys-and-recovery): How passkeys and identity-backed encryption protect the client MPC share and determine recovery and export requirements. - [Identity-backed encryption](/security/identity-backed-encryption): How identity-backed encryption changes wallet access, recovery, and the trust placed in MoonPay and the user's session. - [Wallet unlock prewarm](/security/dek-prewarm): An opt-in app setting that unlocks identity-backed users' encryption keys in the background after sign-in, and the tradeoffs an app accepts by enabling it. - [Sessions and presence](/security/sessions-and-presence): The token model that authorizes wallet operations, refresh rotation and reuse detection, and the presence checks behind high-risk operations. - [Delegated signing](/security/delegated-signing): How ephemeral signers let server-side processes sign under a user-provisioned policy inside an attested enclave, and the credentials required to use them. - [Compliance and data handling](/security/compliance-and-data-handling): Wallet screening, address integrity proofs, what a blocked account can and cannot do, and what key material MoonPay Wallets does and does not hold. - [Overview](/recipes/overview) - [Complete Authentication Flow](/recipes/wallets/complete-authentication-flow): A headless email OTP flow with state-object handling, resend controls, errors, and session recovery. - [DeFi Trading App](/recipes/wallets/defi-trading-app): An end-to-end React recipe for a consumer DeFi trading app where users sign in with email or a social account, get a wallet with no extra setup, and trade from any device. - [Low-Latency Trading](/recipes/wallets/low-latency-trading): A React recipe that prepares a user's wallets when the trading screen opens, keeps them prepared, and places orders that sign in a single request. - [Complete Dashboard with Wallet Operations](/recipes/wallets/complete-dashboard-wallet-operations) - [Wallet Connection Status Indicator](/recipes/wallets/wallet-connection-status-indicator) - [ERC-20 Token Transfer (Ethereum)](/recipes/wallets/erc20-token-transfer-ethereum) - [NFT Minting (Ethereum)](/recipes/wallets/nft-minting-etheruem) - [Multi-Step Transaction Flow](/recipes/wallets/multi-step-transaction-flow): Confirm dependent EVM transactions and resume a flow using recorded transaction hashes. - [Solana Program Interaction](/recipes/wallets/solana-program-interaction) - [Protected Routes with Authentication](/recipes/wallets/protected-routes-with-authentication) - [Styling Examples](/recipes/wallets/styling-examples) - [Customize your application](/recipes/dashboard/customize): Configure your app's brand settings in the MoonPay Wallets Dashboard - [Yield](/recipes/yield/overview) - [Aave](/recipes/yield/aave) - [Ethena](/recipes/yield/ethena) - [Sky Savings](/recipes/yield/sky-savings) - [Morpho](/recipes/yield/morpho) - [Deframe](/recipes/yield/deframe) - [Kamino Earn](/recipes/yield/kamino) - [Jupiter Earn](/recipes/yield/jupiter-earn) - [Yield AgentKit](/recipes/yield/yield-agentkit) - [Bitcoin](/api-reference/bitcoin) - [Charts](/api-reference/charts) - [Compliance](/api-reference/compliance): `/v0/compliance` - integrator backend surface (sk-only) - [Discovery](/api-reference/discovery) - [Ephemeral Signers](/api-reference/ephemeral-signers): Agent provisioning, management, and server-side signing - [Holders](/api-reference/holders) - [Management](/api-reference/management): Organization-scoped app provisioning with immutable organization-key scopes - [Networks](/api-reference/networks) - [Pairs](/api-reference/pairs) - [Prediction Markets](/api-reference/prediction-markets): Prediction-market workflow proxy routes - [Prices](/api-reference/prices) - [SDK](/api-reference/sdk): `/v0/sdk` - SDK / iframe surface (pk-acceptable) - [Session Signers](/api-reference/session-signers): Short-lived signers the iframe provisions into the signing enclave for one login session. Provisioning and grant refresh check the signer, its session and the account, and return a grant valid for up to two minutes. A sign is authorized by that grant, so session, account and app changes take effect within two minutes. Attestation and policy use the Ephemeral Signers routes. - [Swaps](/api-reference/swaps): Swap-execution proxy routes - [Tokens](/api-reference/tokens) - [Trades](/api-reference/trades) - [Wallet Keys](/api-reference/wallet-keys): MPC key lifecycle - create, persist, list, export, import, ownership proof - [Wallet Signing](/api-reference/wallet-signing): MPC signing ceremonies and room prefetch. The signing ceremony itself (/sign) is the presence-gated drain primitive; prefetching a room ahead of it (/sign/rooms) is not. - [Wallets](/api-reference/wallets) - [Overview](/authentication/user-authentication/authentication-methods/oauth/overview)