Skip to main content
Choose sponsorship per intent. You can cover all supported fee categories, cover selected categories, or prepare the transaction as user-paid.

Sponsorable fees

Rhinestone applies your configured sponsorship surcharge to surcharge-bearing costs advanced through the relayer flow. Externally settled provider subsidies and sponsored protocol fees do not incur that surcharge. See Pricing for the rates on each plan.
A sponsored request does not silently become user-paid when billing, a policy, or a budget rejects it. Prepare a new unsponsored transaction only after your application has shown the revised quote and the user has accepted it.
Complete the shared sponsorship setup, then start with the embedded-wallet example in Send a transaction. It defines wallet, the source and target tokens, and the real transfer calls used below.For sends, embedded wallets select fee payment with sponsorshipMode. The EVM example and fallback below are separate from managed Solana setup:
Set sponsorshipMode: "disabled" to request a user-paid quote directly. An unsponsored intent must name its funding token in source.To fall back to user-paid execution, send with "required" and, if sponsorship fails before anything was submitted, send again with "disabled". The second send requests a new quote, and the user reviews its fees before signing:
Offer the fallback only when user-paid execution is part of the flow you present to the user.Configure sponsorship on WalletClient even for user-paid intents. The application access token authenticates the app and project for every user intent; only the extension token requests sponsorship. See Set up for the shared client configuration and Policies and security before exposing grants to a client.Embedded wallets do not expose controls for individual fee categories. They support the intent-level modes above; use the custom signer SDK when your product needs to choose gas, bridge, swap, or protocol-fee sponsorship separately.

Managed Solana setup costs

wallet.deploy({ chain }) is app-sponsored, including setup transaction fees and wallet rent. It has no user-paid fallback; a denied grant leaves setup unfinished. Setup installs the root, service recovery, and active passkeys, with separate grants for its steps and retries. See Set up a Solana wallet and Solana issuance policy.Do not treat sponsored setup as funding the user’s transfers or arbitrary instruction-created rent. Fund only after the selected cluster reports ready: true; follow Fund the wallet.

Try sponsored and user-paid transfers

Send 0.1 mUSD on Base Sepolia, switching between required sponsorship and disabled user-paid mode. Sign in and mint mock tokens if needed. The user-paid flow needs enough source assets for the transfer and fees; both modes still authenticate your application with an access token.This demo does not exercise the user-paid fallback or per-category sponsorship. Use Check status for a pending intent rather than sending it again.
Sponsorship is available for same-chain and crosschain intents. Mainnet charges accrue to your organization’s sponsorship account. Testnet sponsorship does not accrue billed usage or consume the mainnet limits described in Policies and security.