Sending from Sage proposes a Squads vault transaction, screens it, and — if it passes — executes it, all without you ever holding SOL for fees or rent.Documentation Index
Fetch the complete documentation index at: https://sage-f6b5014e.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
How a Transfer Flows
You propose a transfer
In the app, pick a token, enter a recipient and amount, and confirm. The client builds a
vaultTransactionCreate + proposalCreate + proposalApprove and you sign as a member via Privy.The server sponsors it
The signed transaction is sent to the server, which adds its signature as fee payer and broadcasts it. You pay nothing — the server covers fees and account rent.
The proposal is registered
The client calls
POST /queue with the transfer details. The risk engine scores it against the vault’s behavioral profile and policy rules.Screening decides
- APPROVE → the server self-calls
/execute, co-signsvaultTransactionExecutewith itsExecutepermission, and broadcasts. The signature shows up in the UI and Telegram. - REVIEW / BLOCK → the proposal is marked
in_reviewand a Telegram message with action buttons is sent.
Why It’s Gasless
Sage is added to every vault as a member withExecute permission and acts as the fee payer on every transaction:
- Vault creation —
multisigCreateV2is paid and signed by the server - Proposing — the user signs as a member, but the server pays the fee via
/sponsor/send - Executing — the server signs
vaultTransactionExecuteas both the executing member and fee payer - Cleanup —
vaultTransactionAccountsClosereclaims rent permissionlessly

