# Overview

| Action | Description |
|--------|-------------|
| **Access Key Actions** | |
| [`accessKey.authorize`](/tempo/actions/accessKey.authorize) | Authorizes an access key |
| [`accessKey.getMetadata`](/tempo/actions/accessKey.getMetadata) | Gets access key information |
| [`accessKey.getRemainingLimit`](/tempo/actions/accessKey.getRemainingLimit) | Gets the remaining spending limit for a key-token pair |
| [`accessKey.revoke`](/tempo/actions/accessKey.revoke) | Revokes an authorized access key |
| [`accessKey.signAuthorization`](/tempo/actions/accessKey.signAuthorization) | Signs a key authorization (no transaction sent) |
| [`accessKey.updateLimit`](/tempo/actions/accessKey.updateLimit) | Updates the spending limit for a specific token on an access key |
| **AMM Actions** | |
| [`amm.burn`](/tempo/actions/amm.burn) | Burns liquidity tokens and receives the underlying token pair |
| [`amm.getLiquidityBalance`](/tempo/actions/amm.getLiquidityBalance) | Gets the liquidity balance for an address in a specific pool |
| [`amm.getPool`](/tempo/actions/amm.getPool) | Gets the reserves for a liquidity pool |
| [`amm.mint`](/tempo/actions/amm.mint) | Mints liquidity tokens by providing a token pair |
| [`amm.rebalanceSwap`](/tempo/actions/amm.rebalanceSwap) | Performs a rebalance swap between user and validator tokens |
| [`amm.watchBurn`](/tempo/actions/amm.watchBurn) | Watches for liquidity burn events |
| [`amm.watchMint`](/tempo/actions/amm.watchMint) | Watches for liquidity mint events |
| [`amm.watchRebalanceSwap`](/tempo/actions/amm.watchRebalanceSwap) | Watches for rebalance swap events |
| **Channel Actions** | |
| [`channel.close`](/tempo/actions/channel.close) | Closes a TIP-20 channel and refunds unused deposit |
| [`channel.getStates`](/tempo/actions/channel.getStates) | Gets TIP-20 channel state for one or more channels |
| [`channel.open`](/tempo/actions/channel.open) | Opens and funds a TIP-20 channel |
| [`channel.requestClose`](/tempo/actions/channel.requestClose) | Starts the payer close timer for a TIP-20 channel |
| [`channel.settle`](/tempo/actions/channel.settle) | Settles a signed TIP-20 channel voucher |
| [`channel.signVoucher`](/tempo/actions/channel.signVoucher) | Signs a TIP-20 channel voucher |
| [`channel.topUp`](/tempo/actions/channel.topUp) | Adds deposit to a TIP-20 channel |
| [`channel.withdraw`](/tempo/actions/channel.withdraw) | Withdraws payer funds after the close grace period |
| **Faucet Actions** | |
| [`faucet.fund`](/tempo/actions/faucet.fund) | Funds an account with testnet tokens |
| **Fee Actions** | |
| [`fee.validateToken`](/tempo/actions/fee.validateToken) | Validates that a token can be used as a fee token |
| [`fee.getUserToken`](/tempo/actions/fee.getUserToken) | Gets the user's default fee token preference |
| [`fee.setUserToken`](/tempo/actions/fee.setUserToken) | Sets the user's default fee token preference |
| [`fee.watchSetUserToken`](/tempo/actions/fee.watchSetUserToken) | Watches for user token set events |
| **Nonce Actions** | |
| [`nonce.getNonce`](/tempo/actions/nonce.getNonce) | Gets the nonce for an account and nonce key |
| [`nonce.watchNonceIncremented`](/tempo/actions/nonce.watchNonceIncremented) | Watches for nonce incremented events |
| **Policy Actions** | |
| [`policy.create`](/tempo/actions/policy.create) | Creates a new transfer policy for token access control |
| [`policy.getData`](/tempo/actions/policy.getData) | Gets the data for a transfer policy, including its type and admin address |
| [`policy.isAuthorized`](/tempo/actions/policy.isAuthorized) | Checks if an address is authorized by a transfer policy |
| [`policy.modifyBlacklist`](/tempo/actions/policy.modifyBlacklist) | Modifies the blacklist for a blacklist-type transfer policy |
| [`policy.modifyWhitelist`](/tempo/actions/policy.modifyWhitelist) | Modifies the whitelist for a whitelist-type transfer policy |
| [`policy.setAdmin`](/tempo/actions/policy.setAdmin) | Sets the admin for a transfer policy |
| [`policy.watchAdminUpdated`](/tempo/actions/policy.watchAdminUpdated) | Watches for policy admin update events |
| [`policy.watchBlacklistUpdated`](/tempo/actions/policy.watchBlacklistUpdated) | Watches for blacklist update events |
| [`policy.watchCreate`](/tempo/actions/policy.watchCreate) | Watches for policy creation events |
| [`policy.watchWhitelistUpdated`](/tempo/actions/policy.watchWhitelistUpdated) | Watches for whitelist update events |
| **Receive Policy Actions** | |
| [`receivePolicy.burn`](/tempo/actions/receivePolicy.burn) | Burns the funds backing a blocked receipt |
| [`receivePolicy.claim`](/tempo/actions/receivePolicy.claim) | Claims blocked funds for a receipt |
| [`receivePolicy.get`](/tempo/actions/receivePolicy.get) | Gets the receive policy configured for an account |
| [`receivePolicy.getBlockedBalance`](/tempo/actions/receivePolicy.getBlockedBalance) | Gets the blocked balance for an encoded receipt |
| [`receivePolicy.set`](/tempo/actions/receivePolicy.set) | Sets the receive policy for the calling account |
| [`receivePolicy.validate`](/tempo/actions/receivePolicy.validate) | Checks whether a transfer or mint to a receiver is allowed |
| [`receivePolicy.watchBlocked`](/tempo/actions/receivePolicy.watchBlocked) | Watches for blocked transfer events |
| [`receivePolicy.watchBurned`](/tempo/actions/receivePolicy.watchBurned) | Watches for receipt burned events |
| [`receivePolicy.watchClaimed`](/tempo/actions/receivePolicy.watchClaimed) | Watches for receipt claimed events |
| [`receivePolicy.watchUpdated`](/tempo/actions/receivePolicy.watchUpdated) | Watches for receive policy update events |
| **Reward Actions** | |
| [`reward.claim`](/tempo/actions/reward.claim) | Claims accumulated rewards for the caller |
| [`reward.distribute`](/tempo/actions/reward.distribute) | Distributes rewards to opted-in token holders |
| [`reward.getGlobalRewardPerToken`](/tempo/actions/reward.getGlobalRewardPerToken) | Gets the global reward per token value |
| [`reward.getPendingRewards`](/tempo/actions/reward.getPendingRewards) | Calculates the pending claimable rewards for an account |
| [`reward.getUserRewardInfo`](/tempo/actions/reward.getUserRewardInfo) | Gets reward information for a specific account |
| [`reward.setRecipient`](/tempo/actions/reward.setRecipient) | Sets or changes the reward recipient for a token holder |
| [`reward.watchRewardDistributed`](/tempo/actions/reward.watchRewardDistributed) | Watches for reward distributed events |
| [`reward.watchRewardRecipientSet`](/tempo/actions/reward.watchRewardRecipientSet) | Watches for reward recipient set events |
| **Simulate Actions** | |
| [`simulate.simulateBlocks`](/tempo/actions/simulate.simulateBlocks) | Simulates calls on block(s) via `tempo_simulateV1` |
| [`simulate.simulateCalls`](/tempo/actions/simulate.simulateCalls) | Simulates a batch of calls in a single block via `tempo_simulateV1` |
| **Stablecoin DEX Actions** | |
| [`dex.buy`](/tempo/actions/dex.buy) | Buys a specific amount of tokens from the Stablecoin DEX orderbook |
| [`dex.cancel`](/tempo/actions/dex.cancel) | Cancels an order from the orderbook |
| [`dex.cancelStale`](/tempo/actions/dex.cancelStale) | Cancels a stale order from a blacklisted maker |
| [`dex.createPair`](/tempo/actions/dex.createPair) | Creates a new trading pair on the DEX |
| [`dex.getBalance`](/tempo/actions/dex.getBalance) | Gets a user's token balance on the Stablecoin DEX |
| [`dex.getBuyQuote`](/tempo/actions/dex.getBuyQuote) | Gets the quote for buying a specific amount of tokens |
| [`dex.getOrder`](/tempo/actions/dex.getOrder) | Gets an order's details from the orderbook |
| [`dex.getTickLevel`](/tempo/actions/dex.getTickLevel) | Gets the price level information at a specific tick |
| [`dex.getSellQuote`](/tempo/actions/dex.getSellQuote) | Gets the quote for selling a specific amount of tokens |
| [`dex.place`](/tempo/actions/dex.place) | Places a limit order on the orderbook |
| [`dex.placeFlip`](/tempo/actions/dex.placeFlip) | Places a flip order that automatically flips when filled |
| [`dex.sell`](/tempo/actions/dex.sell) | Sells a specific amount of tokens from the Stablecoin DEX orderbook |
| [`dex.watchFlipOrderPlaced`](/tempo/actions/dex.watchFlipOrderPlaced) | Watches for flip order placed events |
| [`dex.watchOrderCancelled`](/tempo/actions/dex.watchOrderCancelled) | Watches for order cancelled events |
| [`dex.watchOrderFilled`](/tempo/actions/dex.watchOrderFilled) | Watches for order filled events |
| [`dex.watchOrderPlaced`](/tempo/actions/dex.watchOrderPlaced) | Watches for order placed events |
| [`dex.withdraw`](/tempo/actions/dex.withdraw) | Withdraws tokens from the DEX to the caller's wallet |
| **Token Actions** | |
| [`token.approve`](/tempo/actions/token.approve) | Approves a spender to transfer TIP-20 tokens on behalf of the caller |
| [`token.burn`](/tempo/actions/token.burn) | Burns TIP-20 tokens from the caller's balance |
| [`token.burnBlocked`](/tempo/actions/token.burnBlocked) | Burns TIP-20 tokens from a blocked address |
| [`token.changeTransferPolicy`](/tempo/actions/token.changeTransferPolicy) | Changes the transfer policy for a TIP-20 token |
| [`token.create`](/tempo/actions/token.create) | Creates a new TIP-20 token and assigns the admin role and optional logo URI |
| [`token.getAllowance`](/tempo/actions/token.getAllowance) | Gets the amount of tokens that a spender is approved to transfer on behalf of an account |
| [`token.getBalance`](/tempo/actions/token.getBalance) | Gets the token balance of an address |
| [`token.getMetadata`](/tempo/actions/token.getMetadata) | Gets the metadata for a TIP-20 token, including name, symbol, logo URI, decimals, currency, and total supply |
| [`token.grantRoles`](/tempo/actions/token.grantRoles) | Grants one or more roles to an address |
| [`token.mint`](/tempo/actions/token.mint) | Mints new TIP-20 tokens to a recipient |
| [`token.pause`](/tempo/actions/token.pause) | Pauses a TIP-20 token, preventing all transfers |
| [`token.renounceRoles`](/tempo/actions/token.renounceRoles) | Renounces one or more roles from the caller's address |
| [`token.revokeRoles`](/tempo/actions/token.revokeRoles) | Revokes one or more roles from an address |
| [`token.setRoleAdmin`](/tempo/actions/token.setRoleAdmin) | Sets the admin role for another role |
| [`token.setSupplyCap`](/tempo/actions/token.setSupplyCap) | Sets the supply cap for a TIP-20 token |
| [`token.transfer`](/tempo/actions/token.transfer) | Transfers TIP-20 tokens from the caller to a recipient |
| [`token.unpause`](/tempo/actions/token.unpause) | Unpauses a TIP-20 token, allowing transfers to resume |
| [`token.watchAdminRole`](/tempo/actions/token.watchAdminRole) | Watches for role admin update events |
| [`token.watchApprove`](/tempo/actions/token.watchApprove) | Watches for token approval events |
| [`token.watchBurn`](/tempo/actions/token.watchBurn) | Watches for token burn events |
| [`token.watchCreate`](/tempo/actions/token.watchCreate) | Watches for new token creation events |
| [`token.watchMint`](/tempo/actions/token.watchMint) | Watches for token mint events |
| [`token.watchRole`](/tempo/actions/token.watchRole) | Watches for role membership update events |
| [`token.watchTransfer`](/tempo/actions/token.watchTransfer) | Watches for token transfer events |
| **Validator Actions** | |
| [`validator.add`](/tempo/actions/validator.add) | Adds a new validator |
| [`validator.changeOwner`](/tempo/actions/validator.changeOwner) | Changes the owner of a validator |
| [`validator.changeStatus`](/tempo/actions/validator.changeStatus) | Changes the status of a validator |
| [`validator.get`](/tempo/actions/validator.get) | Gets validator information |
| [`validator.getByIndex`](/tempo/actions/validator.getByIndex) | Gets a validator by index |
| [`validator.getCount`](/tempo/actions/validator.getCount) | Gets the total validator count |
| [`validator.getNextFullDkgCeremony`](/tempo/actions/validator.getNextFullDkgCeremony) | Gets the next full DKG ceremony block number |
| [`validator.getOwner`](/tempo/actions/validator.getOwner) | Gets the owner of a validator |
| [`validator.list`](/tempo/actions/validator.list) | Lists all validators |
| [`validator.setNextFullDkgCeremony`](/tempo/actions/validator.setNextFullDkgCeremony) | Sets the next full DKG ceremony block number |
| [`validator.update`](/tempo/actions/validator.update) | Updates a validator |
| **Virtual Address Actions** | |
| [`virtualAddress.getMasterAddress`](/tempo/actions/virtualAddress.getMasterAddress) | Gets the registered master address for a master ID |
| [`virtualAddress.registerMaster`](/tempo/actions/virtualAddress.registerMaster) | Registers the caller as a virtual address master |
| [`virtualAddress.resolve`](/tempo/actions/virtualAddress.resolve) | Resolves an address to its effective recipient |
| **Zone Actions** | |
| [`zone.deposit`](/tempo/actions/zone.deposit) | Deposits tokens into a zone on the parent Tempo chain |
| [`zone.encryptedDeposit`](/tempo/actions/zone.encryptedDeposit) | Deposits tokens into a zone with encrypted recipient and memo |
| [`zone.getAuthorizationTokenInfo`](/tempo/actions/zone.getAuthorizationTokenInfo) | Gets the authenticated account and expiry from the current authorization token |
| [`zone.getDepositStatus`](/tempo/actions/zone.getDepositStatus) | Gets deposit processing status for a given Tempo block number |
| [`zone.getEncryptionKey`](/tempo/actions/zone.getEncryptionKey) | Gets the active sequencer encryption key and index |
| [`zone.getWithdrawalFee`](/tempo/actions/zone.getWithdrawalFee) | Gets the withdrawal fee for a given gas limit |
| [`zone.getZoneInfo`](/tempo/actions/zone.getZoneInfo) | Gets metadata about the current zone |
| [`zone.requestVerifiableWithdrawal`](/tempo/actions/zone.requestVerifiableWithdrawal) | Requests a verifiable withdrawal from a zone to the parent Tempo chain |
| [`zone.requestWithdrawal`](/tempo/actions/zone.requestWithdrawal) | Requests a withdrawal from a zone to the parent Tempo chain |
| [`zone.signAuthorizationToken`](/tempo/actions/zone.signAuthorizationToken) | Signs a zone authorization token for authenticating zone RPC requests |
| [`zone.waitForDepositStatus`](/tempo/actions/zone.waitForDepositStatus) | Waits for a zone to process deposits from a Tempo block |
