# Rhinestone - [Rhinestone](https://docs.rhinestone.dev/home/introduction.md): Self-custodial stablecoin infrastructure for fintechs. - [Wallets](https://docs.rhinestone.dev/home/products/wallets.md): Bring passkey-based smart wallets, session keys, and recovery into your application. - [Transactions](https://docs.rhinestone.dev/home/products/transactions.md): Execute payments, swaps, and application interactions across supported chains. - [Deposits](https://docs.rhinestone.dev/home/products/deposits.md): Accept funds from wallets, exchanges, and fiat on-ramps on your application’s destination chain. - [Fiat integrations](https://docs.rhinestone.dev/home/products/fiat.md): Connect stablecoin balances to the bank accounts and cards users already have. - [Intents](https://docs.rhinestone.dev/home/concepts/intents.md): How intents connect funding, authorization, and onchain execution. - [Smart accounts](https://docs.rhinestone.dev/home/concepts/smart-accounts.md): How programmable accounts separate asset ownership from signing and extend their behavior with modules. - [Passkeys](https://docs.rhinestone.dev/home/concepts/passkeys.md): How passkeys authorize a smart account without a password or seed phrase. - [Session keys](https://docs.rhinestone.dev/home/concepts/session-keys.md): Delegate authority to a separate signer for repeated actions and background automation. - [Supported chains](https://docs.rhinestone.dev/home/resources/supported-chains.md): View the current mainnet and testnet chains and tokens supported by Rhinestone. - [Dashboard](https://docs.rhinestone.dev/home/resources/dashboard.md): Access the Rhinestone Dashboard and manage projects, credentials, and team access. - [Pricing](https://docs.rhinestone.dev/home/resources/pricing.md): Rates for embedded wallets, transactions, and deposits. - [Self-custody](https://docs.rhinestone.dev/home/resources/self-custody.md): Users control their Rhinestone accounts, and Rhinestone can't move their funds. - [ERC-7579](https://docs.rhinestone.dev/home/resources/erc-7579.md): Learn how ERC-7579 standardizes interoperable smart account modules. - [Changelog](https://docs.rhinestone.dev/home/resources/changelog.md): Major releases and updates to the Rhinestone SDK and API. - [Audits](https://docs.rhinestone.dev/home/resources/audits.md): Review security audit reports for Rhinestone contracts and modules. - [Wallets](https://docs.rhinestone.dev/wallets/overview.md): Give your users smart wallets with flexible authentication, signing, and recovery. - [Try it out](https://docs.rhinestone.dev/wallets/try-it-out.md): Create a passkey wallet and run real transactions, right here in the browser. - [Embedded wallets](https://docs.rhinestone.dev/wallets/offerings/embedded-wallets.md): Give your users passkey-controlled smart accounts directly in your application. - [Session keys](https://docs.rhinestone.dev/wallets/offerings/session-keys.md): Authorize scoped actions once so your application can transact without repeated wallet prompts. - [Recovery](https://docs.rhinestone.dev/wallets/offerings/recovery.md): Restore access to an embedded wallet through a configured recovery guardian. - [Custom signer](https://docs.rhinestone.dev/wallets/offerings/custom-signer.md): Build with Rhinestone smart accounts using your choice of signer and authentication experience. - [Embedded wallets](https://docs.rhinestone.dev/wallets/embedded-wallets/overview.md): Give your users passkey-controlled smart accounts directly in your application. - [Quickstart](https://docs.rhinestone.dev/wallets/embedded-wallets/quickstart.md): Create a passkey-controlled wallet and send your first sponsored transaction on Base Sepolia. - [Accounts](https://docs.rhinestone.dev/wallets/embedded-wallets/accounts.md): Initialize the wallet client, authenticate a user, and set up their chain accounts. - [Networks](https://docs.rhinestone.dev/wallets/embedded-wallets/networks.md): Compare the account model, capabilities and limitations of embedded wallets on EVM and Solana. - [Sign up and sign in](https://docs.rhinestone.dev/wallets/embedded-wallets/sign-up-and-sign-in.md): Authenticate a user with a passkey and use the resulting smart account. - [Passkeys and domains](https://docs.rhinestone.dev/wallets/embedded-wallets/passkeys-and-domains.md): Understand domain-bound passkeys, share accounts across subdomains, and troubleshoot origin configuration. - [Connect external wallets](https://docs.rhinestone.dev/wallets/embedded-wallets/external-wallets/connect-external-wallets.md): Let users choose an existing wallet, such as MetaMask, or your application's embedded wallet. - [Use and manage connected wallets](https://docs.rhinestone.dev/wallets/embedded-wallets/external-wallets/use-and-manage-connected-wallets.md): Sign messages, send transactions, and manage external-wallet connections. - [Signing](https://docs.rhinestone.dev/wallets/embedded-wallets/signing.md): Understand how users review wallet actions before approving them with a passkey. - [Blind signing](https://docs.rhinestone.dev/wallets/embedded-wallets/blind-signing.md): Passkey-signed actions always show a review; sign with a session key to send without UI. - [Clear signing](https://docs.rhinestone.dev/wallets/embedded-wallets/clear-signing.md): Show Rhinestone's prepared-action review before passkey approval. - [Theming](https://docs.rhinestone.dev/wallets/embedded-wallets/theming.md): Customize embedded wallet dialogs with a color mode, primary color, and backdrop. - [Ecosystem](https://docs.rhinestone.dev/wallets/embedded-wallets/ecosystem.md): Use embedded and external wallets through EIP-1193, viem, or wagmi. - [Migration](https://docs.rhinestone.dev/wallets/embedded-wallets/migration-guide.md): Upgrade your embedded wallet integration between SDK versions. - [Security and self-custody](https://docs.rhinestone.dev/wallets/embedded-wallets/security-and-self-custody.md): Understand the custody boundary for passkeys, managed services, and account recovery. - [Session keys](https://docs.rhinestone.dev/wallets/session-keys/overview.md): Authorize scoped actions once so your application can transact without repeated wallet prompts. - [Create a session](https://docs.rhinestone.dev/wallets/session-keys/create-a-session.md): Grant scoped authority to an app-held session key, persist it, and execute without another wallet prompt. - [Session limits](https://docs.rhinestone.dev/wallets/session-keys/session-limits.md): Restrict session keys by chain, contract, function, parameters, value, time, usage, and crosschain claims. - [Security](https://docs.rhinestone.dev/wallets/session-keys/security.md): Understand session-key custody, onchain enforcement, grant recovery, and revocation. - [Create a session with a custom setup](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/create-a-session.md): Install the session-key validator and define its permissions. - [Use a session](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/use-a-session.md): Enable a session on-chain, transact with it, and disable it. - [Restrict a session](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/restrict-a-session.md): Drop the intent-execution fallback so a session runs only the calls it lists. - [Session signing](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/session-signing.md): Control what a session key may sign off-chain over ERC-1271. - [Swap sessions](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/swap-sessions.md): Scope a session to a single swap: two tokens, a fixed recipient, a spend cap, and the venues it may route through. - [Multi-chain sessions](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/multi-chain-sessions.md): Authorize sessions for several chains with one account-owner signature. - [ECDSA](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/signature-validators/ecdsa.md): Use one or more ECDSA accounts to authorize a session key. - [Passkey](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/signature-validators/passkey.md): Use WebAuthn credentials to authorize a session key. - [Multisig](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/signature-validators/multisig.md): Require a threshold of session-owner signatures. - [Sudo](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/sudo.md) - [Call](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/call.md) - [Spending limit](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/spending-limit.md) - [Gas limit](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/gas-limit.md): Understand the current session-key gas-limit support. - [Timeframe](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/timeframe.md) - [Usage limit](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/usage-limit.md) - [Cross-chain permits](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/cross-chain.md): Scope a session to the settlement routes, tokens, budgets, and windows of a cross-chain transfer. - [One-time use](https://docs.rhinestone.dev/wallets/session-keys/custom-setup/policies/one-time-use.md): Limit a session to one settlement transaction per participating chain. - [Recovery](https://docs.rhinestone.dev/wallets/recovery/overview.md): Restore access to an embedded wallet through a configured recovery guardian. - [Set up](https://docs.rhinestone.dev/wallets/recovery/set-up.md): Configure verified-identity recovery and open the authenticated backup flow. - [Recover an account](https://docs.rhinestone.dev/wallets/recovery/recover-an-account.md): Regain access to a managed app-origin account after all usable passkeys are lost. - [Trustless recovery](https://docs.rhinestone.dev/wallets/recovery/trustless-recovery.md): Understand which recovery guarantees are enforced onchain and which services managed recovery still depends on. - [Custom signer](https://docs.rhinestone.dev/wallets/custom-signer/overview.md): Build with Rhinestone smart accounts using your choice of signer and authentication experience. - [Quickstart](https://docs.rhinestone.dev/wallets/custom-signer/quickstart.md): Create a smart account and send your first crosschain transaction with the Rhinestone SDK. - [Solana support](https://docs.rhinestone.dev/wallets/custom-signer/solana-support.md): Choose Solana owners, transaction shapes, and fee modes in the core SDK. - [Create an account](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/create-an-account.md): Create a deterministic smart account and configure its owner. - [Choose a signer](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/choose-a-signer.md): Choose how users authenticate and control their smart accounts. - [ECDSA](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/native-signers/ecdsa.md): Control a smart account with standard Ethereum keys. - [Passkeys](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/native-signers/passkeys.md): Control a smart account with WebAuthn credentials and device biometrics. - [Multisig](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/native-signers/multisig.md): Require a threshold of ECDSA owners or passkey owners to approve transactions. - [Multi-factor authentication](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/native-signers/multi-factor-authentication.md): Require approvals from different validator configurations. - [Privy](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/privy.md): Use a Privy embedded wallet as the owner of a Rhinestone smart account. - [Dynamic](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/dynamic.md): Use a Dynamic embedded wallet as the owner of a Rhinestone smart account. - [Para](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/para.md): Use a Para MPC wallet as the owner of a Rhinestone smart account. - [Magic](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/magic.md): Use a Magic embedded or server wallet as the owner of a Rhinestone smart account. - [Turnkey](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/turnkey.md): Use a Turnkey-managed key as the owner of a Rhinestone smart account. - [Openfort](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/embedded-wallet-signers/openfort.md): Use an Openfort embedded wallet as the owner of a Rhinestone smart account. - [External wallet signers](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/external-wallet-signers.md): Use an injected or WalletConnect-compatible wallet as a Rhinestone account owner. - [EOA](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/account-types-and-providers/eoa.md): Choose a plain EOA when you need intents without smart account features. - [EIP-7702](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/account-types-and-providers/eip-7702.md): Choose EIP-7702 to add smart account capabilities to a controllable EOA. - [Smart account providers](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/account-types-and-providers/smart-account-providers.md): Choose the smart account implementation behind your Rhinestone account. - [Bring your own account](https://docs.rhinestone.dev/wallets/custom-signer/account-setup/account-types-and-providers/bring-your-own-account.md): Choose this path to use a compatible existing smart account with Rhinestone. - [Set up recovery](https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up.md): Set up EVM guardian recovery or a Solana recovery authority. - [Recover an account](https://docs.rhinestone.dev/wallets/custom-signer/recovery/recover-an-account.md): Recover EVM owners with guardians or add a Solana passkey with a recovery key. - [Message signing](https://docs.rhinestone.dev/wallets/custom-signer/signing/message-and-typed-data.md): Create ERC-1271 signatures for messages and EIP-712 typed data. - [Custom signing](https://docs.rhinestone.dev/wallets/custom-signer/signing/custom-signing.md): Inspect intent messages and coordinate signatures across custom owner implementations. - [EOA](https://docs.rhinestone.dev/wallets/custom-signer/configuration/account-types/eoa.md): Configure a plain EOA for Rhinestone intents without deploying a smart account. - [EIP-7702](https://docs.rhinestone.dev/wallets/custom-signer/configuration/account-types/eip-7702.md): Configure an EOA to use Rhinestone smart account capabilities at its existing address. - [Smart account providers](https://docs.rhinestone.dev/wallets/custom-signer/configuration/smart-account-providers.md): Select and configure the smart account implementation used by the Rhinestone SDK. - [Bring your own account](https://docs.rhinestone.dev/wallets/custom-signer/configuration/bring-your-own-account.md): Attach an existing smart account to the Rhinestone SDK. - [JSON-RPC providers](https://docs.rhinestone.dev/wallets/custom-signer/configuration/json-rpc-providers.md): Configure per-chain JSON-RPC URLs for SDK read operations. - [ERC-4337](https://docs.rhinestone.dev/wallets/custom-signer/configuration/erc-4337.md): Configure bundlers and paymasters for Rhinestone user operation flows. - [Migration guide](https://docs.rhinestone.dev/wallets/custom-signer/integration/migration-guide.md): Upgrade Rhinestone SDK integrations from v2 to v3, or from v1 to v2. - [Security](https://docs.rhinestone.dev/wallets/custom-signer/integration/security.md): Protect wallet credentials and authenticate Rhinestone SDK requests safely. - [Troubleshooting](https://docs.rhinestone.dev/wallets/custom-signer/troubleshooting.md): Handle SDK errors and diagnose account, session, recovery, and intent failures. - [RhinestoneSDK](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/rhinestone-sdk.md): Stateful entry point that holds shared configuration (auth, provider, bundler, paymaster) and creates accounts from it, delegating all work to the SDK-core composition. - [createAccount](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-account.md): Create an account using this instance's shared configuration. - [getIntentStatus](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/get-intent-status.md): Get the current status of a submitted intent. - [splitIntents](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/split-intents.md): Split a transaction into multiple intents across chains. - [getAppFeeBalances](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/get-app-fee-balances.md): Get the integrator's accrued app-fee balance, as USD totals. - [createSession](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-session.md): Create a smart session, resolving the chain's wrapped-native token from the orchestrator's chain catalog (GET /chains) so native-token wrapping is permitted automatically. Project-scoped — needs the API key but no account. Resolves served settlement addresses and verifies deployed UniversalActionPol… - [validateSession](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/rhinestone-sdk/validate-session.md): Validate a session definition with the same reads as createSession. - [deploy](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/deploy.md): Deploy the EVM account on a given chain. - [deploy (Solana)](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/deploy-solana.md): Create the account's Swig on a Solana cluster and wait for it to complete. - [isDeployed](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/is-deployed.md): Check whether the account is deployed on a given chain. - [setup](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/setup.md): Set up an existing account on a given chain by installing any missing modules. - [getInitData](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/get-init-data.md): Get the account initialization data, used to deploy the account onchain. - [signEip7702InitData](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/deployment/sign-eip7702-init-data.md): Prepare and sign the EIP-7702 account initialization data. - [prepareTransaction](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/prepare-transaction.md): Prepare an intent transaction for signing. - [getTransactionMessages](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/get-transaction-messages.md): Get the authorisations a prepared transaction needs, in order. - [signTransaction](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/sign-transaction.md): Sign a prepared transaction with the transaction's configured signers. - [assembleTransaction](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/assemble-transaction.md): Assemble independently collected owner signatures into a signed transaction. Contributions are ordered according to the configured owner set. A duplicate owner within the same factor is rejected, not deduplicated. Account thresholds are read from local configuration; an explicit transaction signer s… - [signAuthorizations](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/sign-authorizations.md): Sign the EIP-7702 delegations a prepared transaction's quote asks for. - [signIntent](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/sign-intent.md): Sign an orchestrator intent operation. Used by headless flows that prepare the intent outside the SDK but still need the SDK-owned smart-session signature packing and authorisation routing. - [submitTransaction](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/transactions/submit-transaction.md): Submit a signed transaction. - [prepareUserOperation](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/user-operations/prepare-user-operation.md): Prepare a user operation for signing. - [signUserOperation](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/user-operations/sign-user-operation.md): Sign a prepared user operation. - [submitUserOperation](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/user-operations/submit-user-operation.md): Submit a signed user operation. - [sendUserOperation](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/user-operations/send-user-operation.md): Prepare, sign, and submit a user operation in a single call. - [signMessage](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/signing/sign-message.md): Sign a message (EIP-191). - [signTypedData](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/signing/sign-typed-data.md): Sign typed data (EIP-712). - [waitForExecution](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/execution/wait-for-execution.md): Wait for a submitted intent to reach a terminal state. - [getAddress](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/reads/get-address.md): Get the native address for a configured VM. - [getPortfolio](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/reads/get-portfolio.md): Get the account's EVM token balances across chains. - [getOwners](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/reads/get-owners.md): Get the account owners. - [getValidators](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/reads/get-validators.md): Get the account validator modules. - [getExecutors](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/reads/get-executors.md): Get the account executor modules. - [getSessionDetails](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/smart-sessions/get-session-details.md): Resolve the smart-session details for a set of sessions. Refuses an already-enabled lifetime-budget session unless resetting its budget is explicitly allowed. Nonce and enabled state are read together. - [isSessionEnabled](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/smart-sessions/is-session-enabled.md): Check whether a smart session is enabled on the account. - [signEnableSession](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/account/smart-sessions/sign-enable-session.md): Sign the data required to enable a smart session. - [enable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/ecdsa/enable.md): Enable ECDSA authentication - [disable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/ecdsa/disable.md): Disable ECDSA authentication - [addOwner](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/ecdsa/add-owner.md): Add an ECDSA owner - [removeOwner](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/ecdsa/remove-owner.md): Remove an ECDSA owner - [changeThreshold](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/ecdsa/change-threshold.md): Change an account's signer threshold (ECDSA) - [enable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/passkeys/enable.md): Enable passkeys authentication - [disable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/passkeys/disable.md): Disable passkeys (WebAuthn) authentication - [addOwner](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/passkeys/add-owner.md): Add a passkey owner - [removeOwner](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/passkeys/remove-owner.md): Remove a passkey owner - [changeThreshold](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/passkeys/change-threshold.md): Change an account's signer threshold (passkey) - [enable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/recovery/enable.md): Set up social recovery. - [recoverEcdsaOwnership](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/recovery/recover-ecdsa-ownership.md): Build the calls that rotate an account's ECDSA ownership. - [recoverPasskeyOwnership](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/recovery/recover-passkey-ownership.md): Build the calls that rotate an account's passkey ownership. - [enable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/mfa/enable.md): Enable multi-factor authentication - [disable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/mfa/disable.md): Disable multi-factor authentication - [changeThreshold](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/mfa/change-threshold.md): Change the multi-factor threshold - [setSubValidator](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/mfa/set-sub-validator.md): Set a sub-validator (multi-factor) - [removeSubValidator](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/mfa/remove-sub-validator.md): Remove a sub-validator (multi-factor) - [installModule](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/modules/install-module.md): Build a call to install an EVM account module. - [uninstallModule](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/modules/uninstall-module.md): Build a call to uninstall an EVM account module. - [deploy](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/modules/deploy.md): Build a factory call to deploy a managed EVM account. - [enable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/smart-sessions/enable.md): Enable smart sessions - [disable](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/smart-sessions/disable.md): Disable smart sessions - [enableSession](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/smart-sessions/enable-session.md): Enable a smart session - [disableSession](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/actions/smart-sessions/disable-session.md): Disable a smart session - [getPerpMarket](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/hyper-core/get-perp-market.md): Read one Hyperliquid perpetual market by ticker. - [getPerpMarkets](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/hyper-core/get-perp-markets.md): List every tradeable Hyperliquid perpetual market. - [getPerpPosition](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/hyper-core/get-perp-position.md): Read an account's open position on one Hyperliquid perpetual market. - [getPerpPositions](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/hyper-core/get-perp-positions.md): List an account's open Hyperliquid perpetual positions. - [solanaAddress](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/solana-address.md): Validate and brand a canonical Solana address. - [createSolanaSwigId](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/create-solana-swig-id.md): Mints a fresh, random Swig id and the addresses it derives, for a Solana account that is not tied to a managed EVM account. - [addPasskey](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/add-passkey.md): Add a passkey to a managed Solana account's Swig. - [removePasskey](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/remove-passkey.md): Remove a passkey from a managed Solana account's Swig. - [addEcdsaKey](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/add-ecdsa-key.md): Add a secp256k1 (ECDSA) key to a managed Solana account's Swig. - [removeEcdsaKey](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/remove-ecdsa-key.md): Remove a secp256k1 (ECDSA) key from a managed Solana account's Swig. - [getAuthorityStatus](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/solana/get-authority-status.md): Check whether a Swig authority change is already in place, without signing or submitting anything. - [experimental_getV0InitData](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/evm/experimental-get-v0-init-data.md): Compute the v0 (legacy) initialization data for an account configuration. - [experimental_getRhinestoneInitData](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/evm/experimental-get-rhinestone-init-data.md): Compute the Rhinestone initialization data for an account configuration. - [toViewOnlyAccount](https://docs.rhinestone.dev/wallets/custom-signer/sdk-reference/evm/to-view-only-account.md): Create a view-only viem Account for an address. Any signing operation throws. - [Transactions](https://docs.rhinestone.dev/transactions/overview.md): Move assets, trade, and interact with applications across chains. - [Relaying](https://docs.rhinestone.dev/transactions/offerings/relaying.md): Submit authorized transactions through Rhinestone without operating your own relaying infrastructure. - [Multichain](https://docs.rhinestone.dev/transactions/offerings/multichain.md): Execute actions on one chain using assets held across a user's portfolio. - [Trading](https://docs.rhinestone.dev/transactions/offerings/trading.md): Swap assets on the same chain or across chains, or combine a trade with a contract action. - [Sponsorship & monetization](https://docs.rhinestone.dev/transactions/offerings/sponsorship-and-monetization.md): Cover transaction fees for your users, and earn revenue from app fees. - [Relaying](https://docs.rhinestone.dev/transactions/relaying/overview.md): Submit authorized transactions through Rhinestone without operating your own relaying infrastructure. - [Relay a transaction](https://docs.rhinestone.dev/transactions/relaying/relay-a-transaction.md): Authorize and track a same-chain transaction with an embedded wallet or custom signer. - [Relay a Safe transaction](https://docs.rhinestone.dev/transactions/relaying/relay-a-safe-transaction.md): Collect Safe owner signatures, relay the encoded Safe transaction, and track its onchain outcome. - [Account deployment](https://docs.rhinestone.dev/transactions/relaying/account-deployment.md): Deploy EVM accounts with an intent or create a Solana Swig before spending. - [Multichain](https://docs.rhinestone.dev/transactions/multichain/overview.md): Execute actions on one chain using assets held across a user's portfolio. - [Send a transaction](https://docs.rhinestone.dev/transactions/multichain/send-a-transaction.md): Execute target-chain calls with funding selected through your wallet client or HTTP integration. - [End-to-end transaction flow](https://docs.rhinestone.dev/transactions/multichain/end-to-end-transaction-flow.md): Prepare, authorize, submit, and track a multichain transaction. - [Unified balance](https://docs.rhinestone.dev/transactions/multichain/unified-balance.md): Read a portfolio and select one balance to fund an intent. - [Trading](https://docs.rhinestone.dev/transactions/trading/overview.md): Swap assets on the same chain or across chains, or combine a trade with a contract action. - [Make a swap](https://docs.rhinestone.dev/transactions/trading/make-a-swap.md): Swap into a requested token on the same chain or across chains. - [Trade on Hyperliquid](https://docs.rhinestone.dev/transactions/trading/trade-on-hyperliquid.md): Fund and trade on Hyperliquid from a smart account in one signed intent. - [Sponsorship](https://docs.rhinestone.dev/transactions/sponsorship/overview.md): Cover transaction fees for your users and manage sponsorship spending across your projects. - [Set up](https://docs.rhinestone.dev/transactions/sponsorship/set-up.md): Configure backend-held credentials for embedded-wallet or custom-signer sponsorship. - [Sponsor fees](https://docs.rhinestone.dev/transactions/sponsorship/sponsor-fees.md): Choose which transaction costs your application pays and when users pay instead - [Policies and security](https://docs.rhinestone.dev/transactions/sponsorship/policies-and-security.md): Restrict sponsorship issuance and bound spend at the project and organization levels. - [Monetization](https://docs.rhinestone.dev/transactions/monetization/overview.md): Earn revenue through app fees collected alongside eligible smart-account transactions. - [Set up](https://docs.rhinestone.dev/transactions/monetization/set-up.md): Add an app fee to a transaction and disclose it before the user signs - [Monetize the flow](https://docs.rhinestone.dev/transactions/monetization/monetize-the-flow.md): Collect app fees, monitor project balances, and withdraw revenue - [Deposits](https://docs.rhinestone.dev/deposits/overview/overview.md): Accept deposits from any chain into your app with Rhinestone's cross-chain deposit infrastructure. - [Try it out](https://docs.rhinestone.dev/deposits/overview/try-it-out.md): Run the deposit widget in the browser and watch a cross-chain deposit settle. - [Quickstart](https://docs.rhinestone.dev/deposits/overview/widget/quickstart.md): Add the deposit widget to your React app and accept cross-chain deposits in minutes. - [Backend setup](https://docs.rhinestone.dev/deposits/overview/widget/backend-setup.md): The widget needs a proxy holding your Rhinestone API key. Write one, or deploy Rhinestone's. - [Widget configuration](https://docs.rhinestone.dev/deposits/overview/widget/widget-configuration.md): Configure deposit destinations, funding methods, routing, display, and shared widget props. - [Theming and customization](https://docs.rhinestone.dev/deposits/overview/widget/theming-and-customization.md): Theme, brand, and configure the deposit widget to match your app. - [Mobile apps](https://docs.rhinestone.dev/deposits/overview/widget/mobile-apps.md): Run the deposit flow in a native app: our hosted page in a native sheet, with your app's wallet signing. - [Callbacks and error handling](https://docs.rhinestone.dev/deposits/overview/widget/callbacks-and-error-handling.md): Handle widget lifecycle callbacks, arrival estimates, and errors in your app. - [Analytics](https://docs.rhinestone.dev/deposits/overview/widget/analytics.md): Track widget funnel events and analytics delivery diagnostics. - [History and recovery](https://docs.rhinestone.dev/deposits/overview/widget/history-and-recovery.md): Let users review deposits and recover eligible failures from the deposit or withdraw modal. - [Migration guide](https://docs.rhinestone.dev/deposits/overview/widget/migration-guide.md): Upgrade @rhinestone/deposit-modal through the v0.21.0 customer session, the v0.20.0 onramp routes, the v0.17.0 arrival estimates, the v0.16.0 claim modal removal, and earlier modal contract changes. - [Demo](https://docs.rhinestone.dev/deposits/overview/resources/demo.md) - [Supported chains and tokens](https://docs.rhinestone.dev/deposits/overview/resources/supported-chains-and-tokens.md): Available source chains, destination chains, and tokens for deposits. - [Troubleshooting](https://docs.rhinestone.dev/deposits/overview/resources/troubleshooting.md): Retry or refund failed deposits from the dashboard - [Fiat onramps](https://docs.rhinestone.dev/deposits/onramps/overview.md): Let users fund their account with cards, Apple Pay, or bank transfers in the deposit widget. - [Accept fiat payments](https://docs.rhinestone.dev/deposits/onramps/accept-fiat-payments.md): Enable card, bank transfer, and Apple Pay funding in the deposit widget. - [Payment methods and availability](https://docs.rhinestone.dev/deposits/onramps/payment-methods-and-availability.md): Use regional fiat payment methods or pin the deposit widget to a supported subset. - [Crypto deposits](https://docs.rhinestone.dev/deposits/crypto/overview.md): Accept crypto from a connected wallet, a deposit address, or balances held in another app. - [Deposit from a wallet](https://docs.rhinestone.dev/deposits/crypto/deposit-from-a-wallet.md): Connect a wallet inside the deposit widget or reuse a wallet your app already connected. - [Deposit addresses and QR codes](https://docs.rhinestone.dev/deposits/crypto/deposit-addresses-and-qr-codes.md): Accept crypto transfers without connecting the sending wallet to your app. - [Asset migrations](https://docs.rhinestone.dev/deposits/crypto/asset-migrations.md): Fund a deposit from balances the user already holds in another app. - [Withdraw funds](https://docs.rhinestone.dev/deposits/crypto/withdraw-funds.md): Let users withdraw tokens from any account to any supported chain with the widget. - [Exchange deposits](https://docs.rhinestone.dev/deposits/exchanges/overview.md): Let users fund your app from a centralized exchange through the deposit widget. - [Connect an exchange](https://docs.rhinestone.dev/deposits/exchanges/connect-an-exchange.md): Enable centralized exchange funding in the deposit widget. - [Overview](https://docs.rhinestone.dev/deposits/headless/overview.md): Build custom deposit flows on the Rhinestone deposit service without the Rhinestone widget. - [Quickstart](https://docs.rhinestone.dev/deposits/headless/quickstart.md): Set up the Deposit API and process your first cross-chain deposit. - [Project configuration](https://docs.rhinestone.dev/deposits/headless/setup/project-configuration.md): Configure deposit whitelists, price tolerance, and minimum deposit value for your project. - [Account registration](https://docs.rhinestone.dev/deposits/headless/setup/account-registration.md): Register managed or user-owned smart accounts for cross-chain deposit processing. - [Token routing](https://docs.rhinestone.dev/deposits/headless/setup/token-routing.md): Route deposits to different output tokens based on their source chain, token, or symbol. - [Create an onramp checkout](https://docs.rhinestone.dev/deposits/headless/funding/create-an-onramp-checkout.md): Create a Swapped checkout for card, Apple Pay, bank transfer, and other fiat payment methods. - [Create an exchange connection](https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection.md): Create a Swapped Connect flow for funding from a centralized exchange balance. - [Deposit processing](https://docs.rhinestone.dev/deposits/headless/processing-and-tracking/deposit-processing.md): How deposits are detected, bridged, and settled, including status tracking, retries, and error handling. - [Track deposits](https://docs.rhinestone.dev/deposits/headless/processing-and-tracking/track-deposits.md): Poll deposit status by source transaction hash and handle terminal outcomes. - [Track onramp and exchange orders](https://docs.rhinestone.dev/deposits/headless/processing-and-tracking/track-onramp-and-exchange-orders.md): Track fiat and exchange orders stage by stage, from payment to the on-chain deposit. - [Webhooks](https://docs.rhinestone.dev/deposits/headless/processing-and-tracking/webhooks.md): Configure and verify webhooks for deposit, onramp, and exchange events. - [Fee breakdown](https://docs.rhinestone.dev/deposits/headless/fees/fee-breakdown.md): Understand the fee structure for deposits. - [Sponsorship](https://docs.rhinestone.dev/deposits/headless/fees/sponsorship.md): Sponsor deposit fees on behalf of your users. - [Fiat integrations](https://docs.rhinestone.dev/fiat/overview.md): Connect stablecoin balances to the bank accounts and cards users already have. - [Introduction](https://docs.rhinestone.dev/api-reference/introduction.md): Reference for the Rhinestone REST APIs. - [Versioning](https://docs.rhinestone.dev/api-reference/api-versioning.md): How the Rhinestone API evolves, how to pin a version, and how to migrate between them. - [Supported chains and tokens](https://docs.rhinestone.dev/api-reference/orchestrator/utilities/supported-chains-and-tokens.md): Get supported chains and tokens with additional metadata - [Route liquidity limit](https://docs.rhinestone.dev/api-reference/orchestrator/utilities/route-liquidity-limit.md): Returns the largest known fillable amount for a single deposit on the given source→destination route. Relayer-market layers return exact capacity; bridge-backed layers return a conservative probed lower bound. - [Get Account Portfolio](https://docs.rhinestone.dev/api-reference/orchestrator/utilities/get-account-portfolio.md): Retrieves the token balances across all supported chains for a user's abstracted account - [Get Intent](https://docs.rhinestone.dev/api-reference/orchestrator/intents/get-intent.md): Retrieves the status of an intent along with per-claim progress across chains. - [List Intents](https://docs.rhinestone.dev/api-reference/orchestrator/intents/list-intents.md): Retrieves a paginated list of the authenticated client's intents, newest first. - [Create Intent](https://docs.rhinestone.dev/api-reference/orchestrator/intents/create-intent.md): Submits a quoted intent for execution. Takes the `intentId` from `POST /quotes` (`routes[].intentId`) plus one ordered `proofs[]` answering the quote's `signingRequests[]` position by position. - [Split Intent by Liquidity](https://docs.rhinestone.dev/api-reference/orchestrator/intents/split-intent-by-liquidity.md): Splits token amounts into multiple intents based on available relayer liquidity. Each returned intent can be filled by a single relayer. - [Create Quote](https://docs.rhinestone.dev/api-reference/orchestrator/quotes/create-quote.md): Computes a quote for an intent: token transfers, target executions, and cost breakdown. Returns a pre-ranked `routes[]` with per-route `intentId` to pass to `POST /intents` for execution. - [Create Indicative Quote](https://docs.rhinestone.dev/api-reference/orchestrator/quotes/create-indicative-quote.md): Computes an indicative (non-binding) quote: ranked route estimates with per-route cost breakdown and fill time. Unlike `POST /quotes`, it returns no `intentId`, `signingRequests`, or `expiresAt` — it cannot be submitted to `POST /intents`. Use it for pre-quote UX (price previews, route discovery) wi… - [Get App-Fee Balances](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/get-app-fee-balances.md): The authenticated project's app-fee balance as USD totals valued at collection time. `pendingUsd` is the payout value permanently reserved by signed withdrawals whose target-chain FILL has not completed, including failed or expired payouts. - [Get App-Fee Withdrawal Targets](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/get-app-fee-withdrawal-targets.md): Get the enabled EVM chains and whitelisted stablecoins currently accepted for app-fee withdrawals. - [List App-Fee Withdrawals](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/list-app-fee-withdrawals.md): The authenticated project's app-fee withdrawals (newest first) with each withdrawal's status and USD value paid out. - [Create App-Fee Withdrawal](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/create-app-fee-withdrawal.md): Withdraw the authenticated project's full app-fee balance to a whitelisted stablecoin on the chosen chain, paid to the project's registered payout address. - [Get App-Fee Withdrawal](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/get-app-fee-withdrawal.md): A single app-fee withdrawal owned by the authenticated project, with its status and USD value paid out. - [Record analytics events](https://docs.rhinestone.dev/api-reference/deposit-service/analytics/record-analytics-events.md): Stores a batch of browser analytics events. - [Create an analytics token](https://docs.rhinestone.dev/api-reference/deposit-service/analytics/create-an-analytics-token.md): Creates a token for submitting analytics events, valid for five minutes. - [Get asset metadata](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-asset-metadata.md): Authenticated asset lookup. GET accepts required ids and fields as comma-separated or repeated query parameters; at most 100 IDs before deduplication. Supported fields: name, symbol, decimals, price, logo. QUERY /assets is also supported (not representable as an OpenAPI 3.1 operation): send applicat… - [List supported chains and tokens](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-supported-chains-and-tokens.md): Returns supported chains and tokens with their deposit and destination availability. - [List deposits](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-deposits.md): Returns deposits for the authenticated project, newest first. - [Get a deposit](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-a-deposit.md): Returns a deposit for the authenticated project. - [List deposit quotes](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-deposit-quotes.md): Returns quotes considered for a deposit and their outcomes. - [Get deposit statistics](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-deposit-statistics.md): Returns completed deposit counts, unique depositors, and USD volume for the requested period. - [Get a wallet portfolio](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-a-wallet-portfolio.md): Returns the wallet's balances this project can take as a deposit: tokens on chains currently accepting deposits and, when the project has a deposit whitelist, only whitelisted tokens. `totalUsd` sums the returned tokens. - [List withdrawable positions](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-withdrawable-positions.md): Returns DeFi positions and the amounts currently available to withdraw. - [Prepare an Aave withdrawal](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/prepare-an-aave-withdrawal.md): Prepares an unsigned transaction to withdraw an Aave position to a deposit address. - [Get a Solana wallet portfolio](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-a-solana-wallet-portfolio.md): Returns the Solana wallet's balances this project can take as a deposit: nothing while Solana is not accepting deposits and, when the project has a deposit whitelist, only whitelisted tokens (native SOL under the system-program id). `totalUsd` sums the returned tokens. - [Check route liquidity](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/check-route-liquidity.md): Checks whether a route can fulfil the requested amount. - [Get token prices](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-token-prices.md): Returns token prices in USD by symbol. - [List suggested deposit tokens](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-suggested-deposit-tokens.md): Returns suggested tokens for QR and manual-transfer deposits. - [Check account registration](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/check-account-registration.md): Returns whether an account is registered and its target chain and token. - [Register an account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/register-an-account.md): Registers a smart account for deposits. Registration is idempotent for the registered project and destination: an existing address cannot be reassigned to another project, account kind, chain, token, or recipient. To change destination, derive and register a new address. User-owned registration is l… - [Provision deposit addresses](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/provision-deposit-addresses.md): Returns deposit addresses for a registered account, creating missing addresses as needed. It never changes the account owner or destination. - [Add session details to account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/add-session-details-to-account.md): Add session details (chain IDs, session digests, and signature) to an existing account - [Provision a Solana token account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/provision-a-solana-token-account.md): Creates a token account for a registered account’s Solana deposit address, or returns the existing one. - [Register a managed account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/register-a-managed-account.md): Registers a smart account controlled by the server. Reusing a salt is idempotent only for the registered project and destination; use a new salt to change destination. - [Prepare account registration](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/prepare-account-registration.md): Returns a deposit address or the details needed to register the account. Existing account ownership, kind, and destination are immutable; a conflicting request is refused before session details are created. - [Get client settings](https://docs.rhinestone.dev/api-reference/deposit-service/clients/get-client-settings.md): Returns the stored client configuration for the authenticated project. - [Update client settings](https://docs.rhinestone.dev/api-reference/deposit-service/clients/update-client-settings.md): Updates client configuration for the authenticated project. Requires the deposits:admin API key scope. - [Retry a deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/retry-a-deposit.md): Retries a failed or rejected deposit. - [Refund a deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/refund-a-deposit.md): Returns deposit funds to a specified address on the source chain. - [Recover a deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/recover-a-deposit.md): Returns funds from a failed or rejected deposit. - [Get a deposit quote](https://docs.rhinestone.dev/api-reference/deposit-service/processing/get-a-deposit-quote.md): Estimates fees, output, and completion time for a deposit. - [Prepare a gasless deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/prepare-a-gasless-deposit.md): Prepares a token authorization for the user to sign. Experimental. - [Submit a gasless deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/submit-a-gasless-deposit.md): Starts a deposit using a signed token authorization. Experimental. - [Relay a Safe withdrawal](https://docs.rhinestone.dev/api-reference/deposit-service/processing/relay-a-safe-withdrawal.md): Submits a signed Safe withdrawal with sponsored gas. - [Relay a Polymarket withdrawal](https://docs.rhinestone.dev/api-reference/deposit-service/processing/relay-a-polymarket-withdrawal.md): Submits a signed withdrawal from a Polymarket deposit wallet. - [List webhook events](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/list-webhook-events.md): Returns webhook events for the authenticated project, newest first. - [Resend a webhook](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/resend-a-webhook.md): Resends a webhook event to the configured URL. - [Send a test webhook](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/send-a-test-webhook.md): Sends a webhook with test data to the configured URL. - [Create or resume a compliance customer and mint a scoped session](https://docs.rhinestone.dev/api-reference/deposit-service/compliance/create-or-resume-a-compliance-customer-and-mint-a-scoped-session.md): Called by the integrator backend. Creates or resumes the provider-neutral compliance customer for the given opaque external customer id, optionally binds a registered smart account, and returns a short-lived browser session bearer. The project API key must never be forwarded to the browser — hand th… - [Read the canonical verification state for the session customer](https://docs.rhinestone.dev/api-reference/deposit-service/compliance/read-the-canonical-verification-state-for-the-session-customer.md): Browser route. Returns the normalized verification state for the compliance customer named by the session bearer. Scoped to that one customer — a token can never read another customer, project, or bound account. - [Create or resume hosted verification for the session customer](https://docs.rhinestone.dev/api-reference/deposit-service/compliance/create-or-resume-hosted-verification-for-the-session-customer.md): Browser route. Starts or resumes the provider-hosted verification flow for the compliance customer named by the session bearer. A `pending` result with `nextAction` must be presented in an iframe; `pending` without it means the provider is reviewing and status updates arrive via webhook. The hosted… - [List onramp providers](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/list-onramp-providers.md): The onramps provisioned for this organization, and the credential each takes. Ask `GET /onramp/options` what each one offers. - [Get an onramp order](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/get-an-onramp-order.md): Accepts any id the caller holds: the order `id`, the provider’s order id (e.g. the `orderId` of the legacy `onramp-order` webhook), the `orderId` returned when the checkout was started (when retries share it, the newest order), or the `externalCustomerId` signed into the checkout (`: