--- name: slot-paymaster description: Set up and manage Slot paymasters to sponsor transaction fees for gasless user experiences. --- # Slot Paymaster Manage paymasters that sponsor transaction fees, enabling gasless experiences for users. Zero integration required — when enabled, eligible transactions are automatically sponsored. ## Availability - **Testnet**: Automatically enabled, no setup required - **Mainnet**: Self-served via Slot CLI ## Creating a Paymaster Requires an authenticated session (`slot auth login`) and a team with credits. ```sh slot paymaster create --team --budget --unit CREDIT ``` The budget is deducted from the team's credit balance. 1 CREDIT = $0.01 USD. ## Budget Management ```sh # Increase budget slot paymaster budget increase --amount --unit CREDIT # Decrease budget slot paymaster budget decrease --amount --unit CREDIT ``` ## Policy Management Policies define which contracts and entrypoints the paymaster will sponsor. ### Add from preset (recommended) Use verified contract presets from the Dojo ecosystem: ```sh slot paymaster policy add-from-preset --name ``` Presets are maintained at https://github.com/cartridge-gg/presets/tree/main/configs ### Add a single policy ```sh slot paymaster policy add --contract
--entrypoint ``` ### Add from JSON ```sh slot paymaster policy add-from-json --file ``` JSON format: ```json [ { "contractAddress": "0x1234...abcd", "entrypoint": "move_player" }, { "contractAddress": "0x5678...efgh", "entrypoint": "attack", "predicate": { "address": "0x9abc...1234", "entrypoint": "check_attack_eligibility" } } ] ``` Predicates are optional. When present, the predicate contract is called first — the transaction is only sponsored if it returns `true`. ### Remove policies ```sh # Remove one slot paymaster policy remove --contract
--entrypoint # Remove all (requires confirmation) slot paymaster policy remove-all # List current policies slot paymaster policy list ``` ## Info and Configuration ```sh # View paymaster details, budget, and policy count slot paymaster info # Rename slot paymaster update --name # Transfer to different team slot paymaster update --team # Enable/disable slot paymaster update --active false slot paymaster update --active true ``` ## Monitoring ### Stats ```sh slot paymaster stats --last ``` Period options: `1hr`, `2hr`, `24hr`, `1day`, `2day`, `7day`, `1week`. ### Transaction history ```sh slot paymaster transactions [OPTIONS] ``` Options: - `--filter SUCCESS|REVERTED|ALL` - `--last ` - `--order-by FEES_ASC|FEES_DESC|EXECUTED_AT_DESC|EXECUTED_AT_ASC` - `--limit ` (max 1000) ### Dune Analytics Generate SQL queries for Dune dashboards: ```sh # With actual timestamps slot paymaster dune --last 24hr # With template parameters for Dune dashboards slot paymaster dune --dune-params ``` ## Common Workflow: New Game Setup ```sh # Create paymaster slot paymaster my-game-pm create --team my-team --budget 1000 --unit CREDIT # Add game contract policies slot paymaster my-game-pm policy add --contract 0x123...abc --entrypoint move_player slot paymaster my-game-pm policy add --contract 0x123...abc --entrypoint attack_enemy # Verify setup slot paymaster my-game-pm info ```