{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"codeGuideFiles":[],"seo":{"title":"Rakurai Activation CLI","description":"Learn how to work with Staking API for managing deposits, withdrawals, and stake pool information."},"dynamicMarkdocComponents":[],"metadata":{"type":"markdown"},"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"rakurai-activation-cli"},"children":["Rakurai Activation CLI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Command-line tool for managing the Rakurai Activation Account (RAA)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Audience:"]}," Solana validator operators running Rakurai nodes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Binary:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rakurai-activation"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1.-overview"},"children":["1. Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Rakurai Activation CLI"]}," manages the Rakurai activation setup for validator operators. It interacts with a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["multisig-based Solana smart contract"]}," responsible for enabling or disabling the Rakurai scheduler."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each validator must create a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Rakurai Activation Account (RAA)"]}," — a PDA jointly controlled by both the validator and Rakurai. Enabling the Rakurai scheduler requires ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2/2 multisig approval"]}," (both validator and Rakurai). Disabling the scheduler can be done ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["unilaterally by either party (1/2 multisig)"]},". Validators can also configure the percentage of block rewards they want to retain (0–100%). The remaining portion is distributed to stakers."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#31-init"},"children":["Initialize RAA"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#32-scheduler-control"},"children":["Enable or disable the scheduler"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#33-update-commission"},"children":["Update commission"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#34-show"},"children":["Display RAA state"]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For build and install steps, see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/cli/readme#2-installation"},"children":["CLI overview"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2.-usage"},"children":["2. Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-activation [OPTIONS] --program-id <PROGRAM_ID> <COMMAND>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2.1.-global-options"},"children":["2.1. Global options"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These options are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["critical"]}," and must be used with care:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-k, --keypair <PATH>"]},": Path to the Solana keypair file. This keypair must have authority to send transactions—typically the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["validator identity keypair"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-u, --url <URL>"]},": RPC URL of the target Solana cluster or moniker (for the testnet cluster, use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-u t"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-u https://api.testnet.solana.com"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-p, --program-id <PROGRAM_ID>"]},": Deployed Rakurai Activation program ID.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mainnet:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rAKACC6Qw8HYa87ntGPRbfYEMnK2D9JVLsmZaKPpMmi"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Testnet:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pmQHMpnpA534JmxEdwY3ADfwDBFmy5my3CeutHM2QTt"]}]}]}]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Incorrect keypair, RPC, or program ID will result in failed transactions."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3.-commands"},"children":["3. Commands"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3.1.-init"},"children":["3.1. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["init"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.1.1.-description"},"children":["3.1.1. Description"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To create a Rakurai Activation Account (RAA), you must provide your validator's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vote_pubkey"]}," along with its corresponding ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["node identity"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["keypair"]}," as the signer. This node identity is used later to authorize or modify RAA parameters."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also specify a validator commission percentage on block rewards (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["block_reward_commission_bps"]},") in basis points (BPS). The default is 100% (10,000 BPS), meaning the validator keeps the full block reward. If you set it below 100%, the remaining portion of the block reward is distributed to stakers, proportional to their stake, by the Reward Distribution program. This commission is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["independent"]}," of Solana's voting commission and applies only to block rewards."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Creating an RAA is a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["mandatory step"]}," for running a Rakurai-Solana validator."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.1.2.-usage"},"children":["3.1.2. Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-activation -p <PROGRAM_ID> init --vote_pubkey <VOTE_PUBKEY> --keypair <IDENTITY_KEYPAIR> --url <RPC_URL>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.1.3.-arguments"},"children":["3.1.3. Arguments"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-v, --vote_pubkey <PUBKEY>"]},": Validator's vote account public key."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-c, --block_reward_commission_bps <VALUE>"]}," (optional): Validator's commission on block rewards in basis points (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}," for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5%"]},")."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3.2.-scheduler-control"},"children":["3.2. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scheduler-control"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.2.1.-description"},"children":["3.2.1. Description"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Controls the Rakurai scheduler by enabling or disabling it."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["enable"]}," the scheduler, both the validator and Rakurai must independently submit a transaction. The scheduler becomes active ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["only after both sides"]}," have performed the enable transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["disable"]}," the scheduler, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["either party"]}," (the validator or Rakurai) can submit a disable transaction. Only one side is required to disable it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["By default, this command ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["enables"]}," the scheduler. To explicitly disable it, use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-d"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--disable_scheduler"]}," flag."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.2.2.-usage"},"children":["3.2.2. Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-activation -p <PROGRAM_ID> scheduler-control --identity_pubkey <IDENTITY_PUBKEY> --keypair <IDENTITY_KEYPAIR> --url <RPC_URL>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.2.3.-arguments"},"children":["3.2.3. Arguments"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-d, --disable_scheduler"]},": Flag to disable the scheduler (default: enable)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-i, --identity_pubkey <PUBKEY>"]},": Validator identity account pubkey."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3.3.-update-commission"},"children":["3.3. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update-commission"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.3.1.-description"},"children":["3.3.1. Description"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Updates the validator's block reward commission."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Validators can update their share of the block reward at any time, independent of Rakurai. Only the validator can change their commission. The updated commission applies from the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["current epoch"]}," if no ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/programs/reward_distribution/readme#31-rewardcollectionaccount-account-initialization"},"children":["RewardCollectionAccount"]}," has been initialized yet, or from the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["next epoch"]}," if one already exists."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.3.2.-usage"},"children":["3.3.2. Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-activation -p <PROGRAM_ID> update-commission --block_reward_commission_bps <VALUE> --identity_pubkey <IDENTITY_PUBKEY> --keypair <IDENTITY_KEYPAIR> --url <RPC_URL>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.3.3.-arguments"},"children":["3.3.3. Arguments"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-c, --block_reward_commission_bps <VALUE>"]},": Commission percentage on block rewards in basis points (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}," means ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5%"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-i, --identity_pubkey <PUBKEY>"]},": Validator identity account pubkey."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3.4.-show"},"children":["3.4. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["show"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.4.1.-description"},"children":["3.4.1. Description"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Displays the current state of the Rakurai Activation Account (RAA)."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scheduler status"]},": Whether the Rakurai scheduler is enabled or disabled."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Validator commission"]},": The current block reward commission in basis points."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authority"]},": The account authorized to manage the Rakurai Activation Account (RAA)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This command provides an overview of the RAA's current configuration and state."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.4.2.-usage"},"children":["3.4.2. Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-activation -p <PROGRAM_ID> show --identity_pubkey <IDENTITY_PUBKEY> --url <RPC_URL>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"3.4.3.-arguments"},"children":["3.4.3. Arguments"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-i, --identity_pubkey <PUBKEY>"]},": Validator identity account pubkey."]}]}]},"headings":[{"value":"Rakurai Activation CLI","id":"rakurai-activation-cli","depth":1},{"value":"1. Overview","id":"1.-overview","depth":2},{"value":"2. Usage","id":"2.-usage","depth":2},{"value":"2.1. Global options","id":"2.1.-global-options","depth":3},{"value":"3. Commands","id":"3.-commands","depth":2},{"value":"3.1. init","id":"3.1.-init","depth":3},{"value":"3.1.1. Description","id":"3.1.1.-description","depth":4},{"value":"3.1.2. Usage","id":"3.1.2.-usage","depth":4},{"value":"3.1.3. Arguments","id":"3.1.3.-arguments","depth":4},{"value":"3.2. scheduler-control","id":"3.2.-scheduler-control","depth":3},{"value":"3.2.1. Description","id":"3.2.1.-description","depth":4},{"value":"3.2.2. Usage","id":"3.2.2.-usage","depth":4},{"value":"3.2.3. Arguments","id":"3.2.3.-arguments","depth":4},{"value":"3.3. update-commission","id":"3.3.-update-commission","depth":3},{"value":"3.3.1. Description","id":"3.3.1.-description","depth":4},{"value":"3.3.2. Usage","id":"3.3.2.-usage","depth":4},{"value":"3.3.3. Arguments","id":"3.3.3.-arguments","depth":4},{"value":"3.4. show","id":"3.4.-show","depth":3},{"value":"3.4.1. Description","id":"3.4.1.-description","depth":4},{"value":"3.4.2. Usage","id":"3.4.2.-usage","depth":4},{"value":"3.4.3. Arguments","id":"3.4.3.-arguments","depth":4}],"frontmatter":{"seo":{"title":"Rakurai Activation CLI"}},"lastModified":"2026-07-21T11:42:43.000Z"},"slug":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/cli/activation","userData":{"isAuthenticated":false,"teams":["anonymous"]}}