# 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 - [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"). - [List supported chains and tokens](https://docs.rhinestone.dev/api-reference/deposit-service/info/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 deposits for the authenticated client](https://docs.rhinestone.dev/api-reference/deposit-service/processing/list-deposits-for-the-authenticated-client.md): Returns the authenticated client’s deposits, newest first. Supports filtering by account, status, and source chain. - [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. The API key must belong to the client that registered the account. - [Introduction](https://docs.rhinestone.dev/api-reference/introduction.md): Reference for the Rhinestone REST APIs. - [Get Intent Operation](https://docs.rhinestone.dev/api-reference/orchestrator/get-intent-operation.md): Retrieve the status of a specific intent operation along with the status of each operation within the intent. - [Get Intent Route](https://docs.rhinestone.dev/api-reference/orchestrator/get-intent-route.md): Retrieves the route token transfers and target executions based on the provided user address and intent. - [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. - [Get User Portfolio](https://docs.rhinestone.dev/api-reference/orchestrator/portfolio/get-user-portfolio.md): Retrieves the token balances across all supported chains for a user's abstracted account - [Submit Intent Operations](https://docs.rhinestone.dev/api-reference/orchestrator/submit-intent-operations.md): Submit signed intent operations for processing. This endpoint accepts signed intent operations containing cross-chain token transfers and executions. - [Route liquidity limit](https://docs.rhinestone.dev/api-reference/orchestrator/utilities/route-liquidity-limit.md): Returns the maximum fillable amount for a single deposit on the given source→destination route. - [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 - [Request Batch Withdrawals](https://docs.rhinestone.dev/api-reference/orchestrator/withdrawals/request-batch-withdrawals.md): Gets the orchestrator signature to perform a compact withdrawal - [Request Single Withdrawal](https://docs.rhinestone.dev/api-reference/orchestrator/withdrawals/request-single-withdrawal.md): Gets the orchestrator signature to perform a withdrawal from The Compact - [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. - [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. - [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. - [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 using widget callbacks. - [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) - [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. - [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 element of the intent using EIP-712. - [Submitting the intent](https://docs.rhinestone.dev/intents/guides/submitting-the-intent.md): Submit the signed operations 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. - [API 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. - [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. Use Warp's built-in swaps or supply your own swap calldata. - [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 - [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 - [Pay gas with ERC-20](https://docs.rhinestone.dev/smart-wallet/gas-sponsorship/pay-gas-with-erc20.md): Let your users pas for gas with ERC-20 tokens - [Set up sponsorship](https://docs.rhinestone.dev/smart-wallet/gas-sponsorship/set-up-sponsorship.md): Monitor and topup 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) - [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) - [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 - [orchestrator](https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/orchestrator.json) - [deposit-service](https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/deposit-service.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/)