# Rhinestone ## Docs - [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 - [Check if account is registered](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/check-if-account-is-registered.md): Check if an account is registered and return its target chain and token if registered - [Create a Solana token account (ATA) for an account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/create-a-solana-token-account-ata-for-an-account.md): Create the Solana Associated Token Account (ATA) for a registered account's Solana deposit address and an SPL mint, so transfers from senders that omit a create-ATA instruction (some CEXes) do not bounce on-chain. Allowlisted clients only. Idempotent: returns the existing ATA with created=false if i… - [Fetch or backfill deposit addresses for a registered account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/fetch-or-backfill-deposit-addresses-for-a-registered-account.md): Return the EVM, Solana, and Tron deposit addresses for an already-registered account. Missing Solana and Tron deposit addresses are backfilled on first call (derivation and Rhino.fi mint as needed) without modifying the account config (session details, target). Idempotent on repeat. - [Prepare account for registration](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/prepare-account-for-registration.md): Derive the Rhinestone smart account for (ownerAddress, sessionOwnerAddress), compare against the existing registration and target, and return either the Solana deposit address (if no re-registration is needed) or the unsigned session details and factory parameters the client must sign before calling… - [Register a new account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/register-a-new-account.md): Register a new account with factory, factory data, session details, and target. `target.chain` must use a CAIP-2 chain identifier (for example "eip155:8453"). - [Register a server-managed account](https://docs.rhinestone.dev/api-reference/deposit-service/accounts/register-a-server-managed-account.md): Register a server-owned smart account. Provide a salt for deterministic addressing and a target chain/token. - [Configure client settings](https://docs.rhinestone.dev/api-reference/deposit-service/clients/configure-client-settings.md): Configure webhook URL, secret, sponsorship rules, and source-token whitelist rules for a client. Deposit whitelist keys must use CAIP-2 chain identifiers (for example "eip155:8453"). - [Read client settings](https://docs.rhinestone.dev/api-reference/deposit-service/clients/read-client-settings.md): Returns the stored client configuration — webhook URL/secret, sponsorship rules, source-token whitelist, and price-deviation guard — for the authenticated project. - [List centralized exchanges for the Connect picker](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/list-centralized-exchanges-for-the-connect-picker.md): Returns the centralized exchanges offered by the Swapped Connect picker. Served from a maintained static list (Swapped exposes no enumeration API). - [Mint a signed Swapped Connect URL (CEX funding)](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/mint-a-signed-swapped-connect-url-cex-funding.md): Returns a signed Swapped Connect URL the modal embeds in an iframe so the user can fund from a centralized exchange. Requires a configured public webhook callback URL. - [Mint a signed Swapped widget URL (fiat on-ramp)](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/mint-a-signed-swapped-widget-url-fiat-on-ramp.md): Returns a signed Swapped widget URL the modal embeds in an iframe for the fiat on-ramp. The destination asset is fixed server-side (the configured currency code); the caller supplies the smart account that receives the crypto. - [Poll the latest Swapped order status for a smart account](https://docs.rhinestone.dev/api-reference/deposit-service/onramp/poll-the-latest-swapped-order-status-for-a-smart-account.md): Returns the latest Swapped order recorded for the smart account (from notify webhooks), or `{ ok: false, reason: "no_order" }` when none exists yet. - [Preview a bridge quote before depositing](https://docs.rhinestone.dev/api-reference/deposit-service/processing/preview-a-bridge-quote-before-depositing.md): Returns the fees and expected output for bridging `amount` of `sourceToken` from `sourceChainId` to the account's registered target, before any funds are deposited. The orchestrator quotes against the supplied amount as if the deposit wallet already held it; the result is indicative and may differ f… - [Recover a failed deposit with an owner signature](https://docs.rhinestone.dev/api-reference/deposit-service/processing/recover-a-failed-deposit-with-an-owner-signature.md): Return a failed or rejected deposit's source-chain funds to a user-chosen recipient, authorized by the smart-account owner's EIP-712 signature (not just the API key). The server reconstructs the RecoverDeposit typed data from the stored deposit and verifies it against the account via ERC-1271/ERC-64… - [Refund a failed deposit](https://docs.rhinestone.dev/api-reference/deposit-service/processing/refund-a-failed-deposit.md): Transfer the funds from a failed deposit back to a user-provided address on the same chain. Authenticate with an `x-api-key` (write scope) or a Bearer platform token; the credential must belong to the client that registered the account. - [Relay a Polymarket deposit-wallet withdrawal](https://docs.rhinestone.dev/api-reference/deposit-service/processing/relay-a-polymarket-deposit-wallet-withdrawal.md): Relay a user-signed Polymarket deposit-wallet `WALLET` batch (approve/unwrap pUSD or transfer USDC.e) through the Polymarket relayer using server-held builder credentials. Submitted calls must target known Polymarket contracts. - [Relay a Safe withdrawal via shared Nexus relayer](https://docs.rhinestone.dev/api-reference/deposit-service/processing/relay-a-safe-withdrawal-via-shared-nexus-relayer.md): Relay a signed Safe execTransaction via a shared AWS-owned Nexus account with sponsored gas - [Retry failed deposits for an account](https://docs.rhinestone.dev/api-reference/deposit-service/processing/retry-failed-deposits-for-an-account.md): Retry all failed deposits for a given account address. Authenticate with an `x-api-key` (write scope) or a Bearer platform token; the credential must belong to the client that registered the account. - [Aggregated deposit statistics](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/aggregated-deposit-statistics.md): Returns aggregated deposit statistics (total deposits, unique depositors, and total USD volume) for the authenticated client over the requested rolling time window. Only completed deposits are counted. - [Check route liquidity for an amount](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/check-route-liquidity-for-an-amount.md): Returns whether the given source→destination route can fulfil the requested amount, along with the underlying liquidity metadata from the orchestrator. - [Get a Solana wallet portfolio](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-a-solana-wallet-portfolio.md): Returns a normalised SPL portfolio for the given Solana address by paginating through Helius wallet balances. - [Get a wallet portfolio](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-a-wallet-portfolio.md): Returns a normalised token portfolio for the given address. If the address is a Solana base58 public key, the Solana portfolio is returned; otherwise the EVM portfolio is aggregated from the orchestrator's `/accounts/:address/portfolio` endpoint and priced via the price service. - [Get USD unit prices for token symbols](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/get-usd-unit-prices-for-token-symbols.md): Returns USD unit prices keyed by uppercased token symbol. Used to convert a USD amount into estimated destination-token units for tokens not present in the portfolio (e.g. a SOL or ETH destination the user does not hold). - [List candidate quotes considered for a deposit](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-candidate-quotes-considered-for-a-deposit.md): Returns every quote the orchestrator (or Solana bridge adapter) returned for this deposit, including which one was attempted and its terminal outcome. Scoped to the caller's tenant. - [List deposits for the authenticated client](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-deposits-for-the-authenticated-client.md): Returns the authenticated client's deposits, newest first. Supports filtering by account, recipient, address, status, source chain, and transaction hash. The `account` filter accepts an EVM address or a Solana public key (deposit address or swig address); `address` matches the source-chain deposit a… - [List supported chains and tokens](https://docs.rhinestone.dev/api-reference/deposit-service/utilities/list-supported-chains-and-tokens.md): Returns all chains supported by the deposit service, with their tokens and whether they support deposits, bridging destinations, or both - [List persisted webhook events for the calling client](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/list-persisted-webhook-events-for-the-calling-client.md): Returns webhook events delivered (or attempted) to the caller's webhook URL. Use for backfill or replay verification. Results are id-desc; pass the last `nextCursor` to paginate. - [Re-attempt delivery of a stored webhook event](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/re-attempt-delivery-of-a-stored-webhook-event.md): Re-sends an existing webhook event to the configured webhook URL using its original eventId. Useful for replaying a delivery that failed permanently. Does not allocate a new event id. - [Send a test webhook to the configured URL](https://docs.rhinestone.dev/api-reference/deposit-service/webhooks/send-a-test-webhook-to-the-configured-url.md): Sends a single webhook with fixture data to the client's configured URL. Uses the client's real webhook secret so signature verification works as in production. Envelope and persisted payload both carry `"test": true` so the receiver can filter and the dashboard can mark it. - [Introduction](https://docs.rhinestone.dev/api-reference/introduction.md): Reference for the Rhinestone REST APIs. - [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 Balances](https://docs.rhinestone.dev/api-reference/orchestrator/app-fees/get-app-fee-balances.md): The authenticated project's withdrawable app-fee balance as a USD total, valued at collection time. `pendingUsd` is 0 until withdrawals land. - [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. - [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 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 signatures (origin, destination, optionally target-execution) and optional EIP-7702 authorizations. - [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. - [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. - [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 - [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. - [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 - [API keys](https://docs.rhinestone.dev/dashboard/api-keys.md): Create, scope, rotate, and revoke API keys - [JWT keys](https://docs.rhinestone.dev/dashboard/jwt-keys.md): Register a signing key so your backend can issue JWTs - [Getting started](https://docs.rhinestone.dev/dashboard/overview.md): Sign in, and find your way around the dashboard - [Team management](https://docs.rhinestone.dev/dashboard/team.md): Invite teammates and manage roles - [Account registration](https://docs.rhinestone.dev/deposits/api/account-registration.md): Register managed or user-owned smart accounts for cross-chain deposit processing. - [Deposit processing](https://docs.rhinestone.dev/deposits/api/deposit-processing.md): How deposits are detected, bridged, and settled — plus status tracking, retries, and error handling. - [Fees](https://docs.rhinestone.dev/deposits/api/fees.md): Understand the fee structure for deposits. - [Initial setup](https://docs.rhinestone.dev/deposits/api/initial-setup.md): Configure webhooks, fee sponsorship, and deposit whitelists for your Deposit API client. - [Fiat and CEX on-ramp](https://docs.rhinestone.dev/deposits/api/onramp.md): Let users fund their account with a card, Apple Pay, a bank transfer, or a centralized exchange balance — powered by Swapped. - [Quickstart](https://docs.rhinestone.dev/deposits/api/quickstart.md): Set up the Deposit API and process your first cross-chain deposit. - [Sponsorship](https://docs.rhinestone.dev/deposits/api/sponsorship.md): Sponsor deposit fees on behalf of your users. - [Status tracking](https://docs.rhinestone.dev/deposits/api/status-tracking.md): Track deposit status via polling or webhooks — two approaches for monitoring the deposit lifecycle. - [Demo](https://docs.rhinestone.dev/deposits/demo.md) - [Overview](https://docs.rhinestone.dev/deposits/overview.md): Accept deposits from any chain into your app with Rhinestone's cross-chain deposit infrastructure. - [Troubleshooting](https://docs.rhinestone.dev/deposits/troubleshooting.md): Retry or refund failed deposits from the dashboard - [Customization](https://docs.rhinestone.dev/deposits/widget/customization.md): Theme, brand, and configure the deposit widget to match your app. - [Deposit modal](https://docs.rhinestone.dev/deposits/widget/deposit-modal.md): Configure the deposit modal for different wallet connection modes and deposit flows. - [Migration guide](https://docs.rhinestone.dev/deposits/widget/migration.md): Upgrade @rhinestone/deposit-modal from v0.1.x / v0.2.x to v0.3.0. - [Quickstart](https://docs.rhinestone.dev/deposits/widget/quickstart.md): Add the deposit widget to your React app and accept cross-chain deposits in minutes. - [Status tracking](https://docs.rhinestone.dev/deposits/widget/status-tracking.md): Track deposit progress and react to state changes via the onLifecycle callback. - [Withdraw modal](https://docs.rhinestone.dev/deposits/widget/withdraw-modal.md): Let users withdraw tokens from a Safe to any supported chain using the withdraw modal. - [Intents and ERC-4337](https://docs.rhinestone.dev/home/concepts/intents-and-erc4337.md): How Rhinestone intents compare to ERC-4337 userops, and what makes intent-based execution different. - [Session keys](https://docs.rhinestone.dev/home/concepts/session-keys.md): How session keys work in Rhinestone and what they enable. - [Smart accounts](https://docs.rhinestone.dev/home/concepts/smart-accounts.md): How modular smart accounts work and what they enable. - [How Warp works](https://docs.rhinestone.dev/home/introduction/rhinestone-intents.md): A technical overview of Warp, Rhinestone's intent routing and execution engine. - [Welcome to Rhinestone](https://docs.rhinestone.dev/home/introduction/welcome-to-rhinestone.md): Get familiar with Rhinestone's tech and figure out where to start - [What is Rhinestone?](https://docs.rhinestone.dev/home/introduction/what-is-rhinestone.md): Learn more about Rhinestone - [Address book](https://docs.rhinestone.dev/home/resources/address-book.md) - [Audit reports](https://docs.rhinestone.dev/home/resources/audit-reports.md) - [Changelog](https://docs.rhinestone.dev/home/resources/changelog.md): Major releases and updates to the Rhinestone SDK and API. - [ERC-7579](https://docs.rhinestone.dev/home/resources/erc-7579.md) - [Fees](https://docs.rhinestone.dev/home/resources/fees.md): An overview of the fees in Rhinestone’s system - [Modules explained](https://docs.rhinestone.dev/home/resources/modules.md) - [Quick reference](https://docs.rhinestone.dev/home/resources/quick-reference.md): Key addresses, endpoints, chain IDs, and common error codes for quick lookup. - [Supported chains](https://docs.rhinestone.dev/home/resources/supported-chains.md): Learn what chains our services are deployed on - [JWT authentication](https://docs.rhinestone.dev/intents/configuration/jwt-authentication.md): Authenticate the SDK with JWTs instead of API keys - [Execute crosschain calls](https://docs.rhinestone.dev/intents/features/execute-crosschain-calls.md): Execute any onchain action on a destination chain, with or without bridging tokens. - [Non-EVM destinations](https://docs.rhinestone.dev/intents/features/non-evm-destinations.md): Send intents to Solana and Tron destination chains. - [API versioning](https://docs.rhinestone.dev/intents/guides/api-versioning.md): How the Rhinestone API evolves, how to pin a version, and how to migrate between them. - [Error handling](https://docs.rhinestone.dev/intents/guides/error-handling.md): Common Orchestrator errors and how to resolve them - [Getting a quote](https://docs.rhinestone.dev/intents/guides/getting-a-quote.md): Request a Quote for an Intent - [Installing the intent executor](https://docs.rhinestone.dev/intents/guides/installing-intent-executor.md): Install the Intent Executor module on your ERC-7579 smart account to use Rhinestone Warp. - [Portfolio endpoint](https://docs.rhinestone.dev/intents/guides/portfolio-endpoint.md): Fetch a user's aggregated token balances across all supported chains. - [Signing the intent](https://docs.rhinestone.dev/intents/guides/signing.md): Sign each entry in signData using EIP-712. - [Submitting the intent](https://docs.rhinestone.dev/intents/guides/submitting-the-intent.md): Submit the signed intent to the Orchestrator - [Setting up approvals](https://docs.rhinestone.dev/intents/guides/token-requirements.md): Handle token approvals and ETH wrapping before signing an intent. - [Tracking intents](https://docs.rhinestone.dev/intents/guides/tracking-intents.md): Poll for intent status and understand the intent lifecycle. - [Using the API](https://docs.rhinestone.dev/intents/guides/using-the-api.md): How the Rhinestone Orchestrator API works and what to keep in mind when integrating. - [Overview](https://docs.rhinestone.dev/intents/overview.md): Warp is Rhinestone's intent routing and execution engine for crosschain transactions. - [Quickstart](https://docs.rhinestone.dev/intents/quickstart.md): Send your first crosschain intent via the Rhinestone REST API. - [Execute a crosschain swap](https://docs.rhinestone.dev/intents/tutorial/end-to-end-intent-flow.md): Bridge and swap tokens across chains in a single intent using the Rhinestone API. - [Automated zaps](https://docs.rhinestone.dev/intents/use-cases/automated-zaps.md): Streamline crosschain deposits, withdrawals, and automated vault actions for EOA users. - [Multi-input bridge](https://docs.rhinestone.dev/intents/use-cases/multi-input-bridge.md): Bridge tokens from multiple source chains or tokens into a single destination transaction. - [Crosschain vault deposit](https://docs.rhinestone.dev/intents/use-cases/vault-deposit.md): Deposit into an ERC-4626 vault on any chain using tokens from any supported chain. - [deploy](https://docs.rhinestone.dev/sdk-reference/account/deployment/deploy.md): Deploy the account on a given chain. - [getInitData](https://docs.rhinestone.dev/sdk-reference/account/deployment/get-init-data.md): Get the account initialization data, used to deploy the account onchain. - [isDeployed](https://docs.rhinestone.dev/sdk-reference/account/deployment/is-deployed.md): Check whether the account is deployed on a given chain. - [setup](https://docs.rhinestone.dev/sdk-reference/account/deployment/setup.md): Set up an existing account on a given chain by installing any missing modules. - [signEip7702InitData](https://docs.rhinestone.dev/sdk-reference/account/deployment/sign-eip7702-init-data.md): Prepare and sign the EIP-7702 account initialization data. - [waitForExecution](https://docs.rhinestone.dev/sdk-reference/account/execution/wait-for-execution.md): Wait for a submitted transaction or user operation to execute onchain. Polls the orchestrator until the intent reaches a terminal state; on failure an IntentFailedError is thrown. - [getAddress](https://docs.rhinestone.dev/sdk-reference/account/reads/get-address.md): Get the account address. - [getExecutors](https://docs.rhinestone.dev/sdk-reference/account/reads/get-executors.md): Get the account executor modules. - [getOwners](https://docs.rhinestone.dev/sdk-reference/account/reads/get-owners.md): Get the account owners. - [getPortfolio](https://docs.rhinestone.dev/sdk-reference/account/reads/get-portfolio.md): Get the account portfolio (token balances across chains). - [getValidators](https://docs.rhinestone.dev/sdk-reference/account/reads/get-validators.md): Get the account validator modules. - [signMessage](https://docs.rhinestone.dev/sdk-reference/account/signing/sign-message.md): Sign a message (EIP-191). - [signTypedData](https://docs.rhinestone.dev/sdk-reference/account/signing/sign-typed-data.md): Sign typed data (EIP-712). - [experimental_getSessionDetails](https://docs.rhinestone.dev/sdk-reference/account/smart-sessions/experimental-get-session-details.md): Resolve the smart-session details for a set of sessions. - [experimental_isSessionEnabled](https://docs.rhinestone.dev/sdk-reference/account/smart-sessions/experimental-is-session-enabled.md): Check whether a smart session is enabled on the account. - [experimental_signEnableSession](https://docs.rhinestone.dev/sdk-reference/account/smart-sessions/experimental-sign-enable-session.md): Sign the data required to enable a smart session. - [assembleTransaction](https://docs.rhinestone.dev/sdk-reference/account/transactions/assemble-transaction.md): Assemble independently collected owner signatures into a signed transaction. Signatures are deduplicated and ordered according to the configured owner set. Account thresholds are read from the local configuration; an explicit transaction signer set determines active MFA IDs and contributing owners.… - [getTransactionMessages](https://docs.rhinestone.dev/sdk-reference/account/transactions/get-transaction-messages.md): Get the typed-data messages to sign for a prepared transaction. - [prepareTransaction](https://docs.rhinestone.dev/sdk-reference/account/transactions/prepare-transaction.md): Prepare a transaction for signing. - [signAuthorizations](https://docs.rhinestone.dev/sdk-reference/account/transactions/sign-authorizations.md): Sign the EIP-7702 authorizations required for a transaction. - [signIntent](https://docs.rhinestone.dev/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 target-execution signature routing. - [signTransaction](https://docs.rhinestone.dev/sdk-reference/account/transactions/sign-transaction.md): Sign a prepared transaction as one configured owner. The returned signature can be serialized and shared with the party coordinating submission. - [submitTransaction](https://docs.rhinestone.dev/sdk-reference/account/transactions/submit-transaction.md): Submit a signed transaction. - [prepareUserOperation](https://docs.rhinestone.dev/sdk-reference/account/user-operations/prepare-user-operation.md): Prepare a user operation for signing. - [sendUserOperation](https://docs.rhinestone.dev/sdk-reference/account/user-operations/send-user-operation.md): Prepare, sign, and submit a user operation in a single call. - [signUserOperation](https://docs.rhinestone.dev/sdk-reference/account/user-operations/sign-user-operation.md): Sign a prepared user operation. - [submitUserOperation](https://docs.rhinestone.dev/sdk-reference/account/user-operations/submit-user-operation.md): Submit a signed user operation. - [addOwner](https://docs.rhinestone.dev/sdk-reference/actions/ecdsa/add-owner.md): Add an ECDSA owner - [changeThreshold](https://docs.rhinestone.dev/sdk-reference/actions/ecdsa/change-threshold.md): Change an account's signer threshold (ECDSA) - [disable](https://docs.rhinestone.dev/sdk-reference/actions/ecdsa/disable.md): Disable ECDSA authentication - [enable](https://docs.rhinestone.dev/sdk-reference/actions/ecdsa/enable.md): Enable ECDSA authentication - [removeOwner](https://docs.rhinestone.dev/sdk-reference/actions/ecdsa/remove-owner.md): Remove an ECDSA owner - [changeThreshold](https://docs.rhinestone.dev/sdk-reference/actions/mfa/change-threshold.md): Change the multi-factor threshold - [disable](https://docs.rhinestone.dev/sdk-reference/actions/mfa/disable.md): Disable multi-factor authentication - [enable](https://docs.rhinestone.dev/sdk-reference/actions/mfa/enable.md): Enable multi-factor authentication - [removeSubValidator](https://docs.rhinestone.dev/sdk-reference/actions/mfa/remove-sub-validator.md): Remove a sub-validator (multi-factor) - [setSubValidator](https://docs.rhinestone.dev/sdk-reference/actions/mfa/set-sub-validator.md): Set a sub-validator (multi-factor) - [deploy](https://docs.rhinestone.dev/sdk-reference/actions/modules/deploy.md) - [installModule](https://docs.rhinestone.dev/sdk-reference/actions/modules/install-module.md): Install a custom module - [uninstallModule](https://docs.rhinestone.dev/sdk-reference/actions/modules/uninstall-module.md): Uninstall a custom module - [addOwner](https://docs.rhinestone.dev/sdk-reference/actions/passkeys/add-owner.md): Add a passkey owner - [changeThreshold](https://docs.rhinestone.dev/sdk-reference/actions/passkeys/change-threshold.md): Change an account's signer threshold (passkey) - [disable](https://docs.rhinestone.dev/sdk-reference/actions/passkeys/disable.md): Disable passkeys (WebAuthn) authentication - [enable](https://docs.rhinestone.dev/sdk-reference/actions/passkeys/enable.md): Enable passkeys authentication - [removeOwner](https://docs.rhinestone.dev/sdk-reference/actions/passkeys/remove-owner.md): Remove a passkey owner - [experimental_disable](https://docs.rhinestone.dev/sdk-reference/actions/smart-sessions/experimental-disable.md): Disable smart sessions - [experimental_disableSession](https://docs.rhinestone.dev/sdk-reference/actions/smart-sessions/experimental-disable-session.md): Disable a smart session - [experimental_enable](https://docs.rhinestone.dev/sdk-reference/actions/smart-sessions/experimental-enable.md): Enable smart sessions - [experimental_enableSession](https://docs.rhinestone.dev/sdk-reference/actions/smart-sessions/experimental-enable-session.md): Enable a smart session - [createAccount](https://docs.rhinestone.dev/sdk-reference/rhinestone-sdk/create-account.md): Create an account using this instance's shared configuration. - [getAppFeeBalances](https://docs.rhinestone.dev/sdk-reference/rhinestone-sdk/get-app-fee-balances.md): Get the integrator's accrued app-fee balance, as USD totals. - [getIntentStatus](https://docs.rhinestone.dev/sdk-reference/rhinestone-sdk/get-intent-status.md): Get the current status of a submitted intent. - [RhinestoneSDK](https://docs.rhinestone.dev/sdk-reference/rhinestone-sdk/rhinestone-sdk.md): Stateful entry point that holds shared configuration (auth, provider, bundler, paymaster) and creates accounts from it. - [splitIntents](https://docs.rhinestone.dev/sdk-reference/rhinestone-sdk/split-intents.md): Split a transaction into multiple intents across chains. - [experimental_getRhinestoneInitData](https://docs.rhinestone.dev/sdk-reference/utils/experimental-get-rhinestone-init-data.md): Compute the Rhinestone initialization data for an account configuration. - [experimental_getV0InitData](https://docs.rhinestone.dev/sdk-reference/utils/experimental-get-v0-init-data.md): Compute the v0 (legacy) initialization data for an account configuration. - [toViewOnlyAccount](https://docs.rhinestone.dev/sdk-reference/utils/to-view-only-account.md): Create a view-only viem Account for an address. Any signing operation throws. - [Batch transactions](https://docs.rhinestone.dev/smart-wallet/advanced/batch-transactions.md) - [Custom modules](https://docs.rhinestone.dev/smart-wallet/advanced/custom-modules.md): Extend account's capabilities with bespoke modules - [Custom signing](https://docs.rhinestone.dev/smart-wallet/advanced/custom-signing.md): Inspect and manually sign intent messages - [ERC-4337](https://docs.rhinestone.dev/smart-wallet/advanced/erc4337.md): Configure and use ERC-4337 with the Rhinestone SDK. - [Message signing](https://docs.rhinestone.dev/smart-wallet/advanced/message-signing.md) - [Migration guide](https://docs.rhinestone.dev/smart-wallet/advanced/migration-guide.md) - [Multi-factor authentication](https://docs.rhinestone.dev/smart-wallet/advanced/multi-factor-authentication.md): Using multiple validators in tandem - [Recovery](https://docs.rhinestone.dev/smart-wallet/advanced/recovery.md): Recover an account using guardians - [Security](https://docs.rhinestone.dev/smart-wallet/advanced/security.md): Protect your API key and safely sponsor transactions via a backend proxy - [Account deployment](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/account-deployment.md) - [Custom recipient](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/custom-recipient.md): Send funds to a different address than the sender - [Error handling](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/error-handling.md) - [Local testing (Docker)](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/local-orchestrator-docker.md): Run the Rhinestone Orchestrator locally with Docker and connect the SDK to forked chains. - [Crosschain](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/multi-chain-intent.md): Make cross-chain transactions with intents - [Single-chain](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/single-chain-intent.md): Send same-chain transactions via Warp intents - [Spend max tokens](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/source-token-amount.md) - [Swaps](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/swaps.md): Bridge and swap in a single transaction using Warp's built-in solver liquidity. - [Unified balance](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/unified-balance.md) - [Create a smart account](https://docs.rhinestone.dev/smart-wallet/core/create-account.md): Create a Rhinestone smart account and configure its owners. - [Send a transaction](https://docs.rhinestone.dev/smart-wallet/core/create-first-transaction.md): Send single-chain and cross-chain transactions from a Rhinestone smart account. - [ECDSA signer](https://docs.rhinestone.dev/smart-wallet/core/ecdsa-signer.md): Use an EOA as the owner of a smart account. Supports single key or n/m multisig. - [EIP-7702](https://docs.rhinestone.dev/smart-wallet/core/eip-7702.md): Add smart account capabilities to an existing EOA without changing its address - [EOA](https://docs.rhinestone.dev/smart-wallet/core/eoa.md): Use a plain EOA with the Rhinestone SDK to send intents without deploying a smart account - [Multisig](https://docs.rhinestone.dev/smart-wallet/core/multisig.md): Set up and use m-of-n ECDSA or passkey multisig accounts. - [Passkey](https://docs.rhinestone.dev/smart-wallet/core/passkeys.md): Use device biometrics as the owner of a smart account. Supports single key or n/m multisig. - [Signer types](https://docs.rhinestone.dev/smart-wallet/core/setup-signer.md): Choose how users authenticate and sign transactions in your Rhinestone smart account. - [Dynamic](https://docs.rhinestone.dev/smart-wallet/core/signers/dynamic.md): Integrate Dynamic signers with Rhinestone smart accounts. - [External wallets](https://docs.rhinestone.dev/smart-wallet/core/signers/external-wallet-signer.md): Integrate external wallets (MetaMask, Coinbase, etc.) with Rhinestone smart accounts. - [Magic](https://docs.rhinestone.dev/smart-wallet/core/signers/magic.md): Integrate Magic signers with Rhinestone smart accounts. - [Openfort](https://docs.rhinestone.dev/smart-wallet/core/signers/openfort.md): Integrate Openfort signers with Rhinestone smart accounts. - [Para](https://docs.rhinestone.dev/smart-wallet/core/signers/para.md): Integrate Para MPC wallets with Rhinestone smart accounts. - [Privy](https://docs.rhinestone.dev/smart-wallet/core/signers/privy.md): Integrate Privy signers with Rhinestone smart accounts. - [Turnkey](https://docs.rhinestone.dev/smart-wallet/core/signers/turnkey.md): Integrate Turnkey signers with Rhinestone smart accounts. - [Bring your own account](https://docs.rhinestone.dev/smart-wallet/customize/bring-your-own-account.md): Use Rhinestone with an existing account - [JSON-RPC providers](https://docs.rhinestone.dev/smart-wallet/customize/json-rpc-providers.md) - [Smart account providers](https://docs.rhinestone.dev/smart-wallet/customize/smart-account-providers.md): Choose which smart account implementation to use with the Rhinestone SDK. - [Overview](https://docs.rhinestone.dev/smart-wallet/gas-sponsorship/overview.md): Sponsor gas, bridging, and swap costs for your users - [Set up sponsorship](https://docs.rhinestone.dev/smart-wallet/gas-sponsorship/set-up-sponsorship.md): Monitor and top up your sponsorship balance - [Module SDK](https://docs.rhinestone.dev/smart-wallet/module-sdk.md): TypeScript library for using smart account modules - [ModuleKit](https://docs.rhinestone.dev/smart-wallet/modulekit.md): Development kit for building smart account modules - [Overview](https://docs.rhinestone.dev/smart-wallet/overview.md): A high-level introduction to the Rhinestone SDK for wallet developers - [Quickstart](https://docs.rhinestone.dev/smart-wallet/quickstart.md): Create a smart account and send a crosschain transaction - [Multi-chain session](https://docs.rhinestone.dev/smart-wallet/smart-sessions/multi-session-signature.md): Reuse the session signature across multiple chains - [Overview](https://docs.rhinestone.dev/smart-wallet/smart-sessions/overview.md): Rhinestone’s framework for creating and managing session keys. It is a powerful system for creating onchain permissions. - [Call](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/call.md) - [Cross-chain permits](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/cross-chain.md) - [Gas limit](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/gas-limit.md): Limit the total gas a session key can consume. - [Spending limit](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/spending-limit.md) - [Sudo](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/sudo.md) - [Timeframe](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/timeframe.md) - [Usage limit](https://docs.rhinestone.dev/smart-wallet/smart-sessions/policies/usage-limit.md) - [ECDSA](https://docs.rhinestone.dev/smart-wallet/smart-sessions/signature-validators/ecdsa.md) - [Multi-sig](https://docs.rhinestone.dev/smart-wallet/smart-sessions/signature-validators/multisig.md) - [Passkey](https://docs.rhinestone.dev/smart-wallet/smart-sessions/signature-validators/passkey.md) - [Add session keys](https://docs.rhinestone.dev/smart-wallet/tutorials/session-keys.md): Enable one-click UX by letting users grant scoped permissions to your app. - [Sponsor fees for your users](https://docs.rhinestone.dev/smart-wallet/tutorials/sponsor-fees.md): Cover gas, bridging, and swap fees for your users with a single deposit. ## OpenAPI Specs - [deposit-service](https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/deposit-service.json) - [blanc](https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/orchestrator/blanc.json) - [openapi](https://docs.rhinestone.dev/api-reference/openapi.json) ## Optional - [Create API Key](https://tally.so/r/wg22x4) - [Examples](https://github.com/rhinestonewtf/e2e-examples/)