{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"codeGuideFiles":[],"seo":{"title":"MCA — share backrun profit","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":"mca--share-backrun-profit"},"children":["MCA — share backrun profit"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The MevShare Collection Account (MCA) is where you pay the validator their agreed cut of the profit you made from post-pack confirmations."]}," The ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/post_pack/psa"},"children":["PSA"]}," buys the stream; the MCA shares what the stream earned you."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Settlement is self-reported because backrun and arbitrage profit lands in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["your own wallet"]},", where no on-chain program can see it. So after each epoch you do two things: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["report"]}," what you owe, then ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["send"]}," it. What you report is written on-chain where the validator can read it. If you do not settle within the grace period, you lose post-pack access."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Audience:"]}," Searchers and TIN partners who already consume post-pack and share backrun profit."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"You must hold the MCA record authority"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reporting is signed by the MCA ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["record_authority"]}," keypair. Without that key you cannot record what you owe, and therefore cannot settle — which eventually stops your post-pack access. Confirm which key it is with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rakurai-revshare get-account --detail"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Record auth"]},") as soon as the account is created."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1.-who-this-is-for"},"children":["1. Who this is for"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Searchers and TIN partners that:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Already fund a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/post_pack/psa"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["PSA"]}]}," for that validator"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Capture MEV (backruns or arbitrage) from the post-pack stream"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Share a percentage"]}," of that profit with the validator"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is one MCA per ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["service"]}," per ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["validator"]},", matching the PSA layout. The vault itself is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RevenueShareAccountV1"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["share_kind = MevShare"]},", derived from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[REVENUE_SHARE_V1, MEV_SHARE, name, vote]"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"MCA and TCA are the same struct, different vaults"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A custom ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["tip"]}," account settles into a TCA (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--revenue-kind Tip"]},") and a post-pack ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["backrun"]}," share settles into an MCA (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--revenue-kind Mev-share"]},"). They use the same on-chain struct and the same CLI, but they are separate accounts and separate balances. Passing the wrong ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--revenue-kind"]}," targets the wrong vault."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2.-register"},"children":["2. Register"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Onboard as for the PSA: share your endpoint and a wallet pubkey you control with the Rakurai team — ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/setup_guide#1.-contact-rakurai-and-share-your-wallet-pubkey"},"children":["Setup guide"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rakurai creates the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MCA"]}," and gives you a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["revenue name"]}," plus the record key. The revenue name is a PDA seed — use the exact value Rakurai assigned, including case."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Confirm the account exists and the record authority matches your key:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-revshare \\\n  --url <RPC_URL> \\\n  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \\\n  get-account --detail \\\n  --revenue-kind Mev-share \\\n  --revenue-name <REVENUE_NAME> \\\n  --vote-pubkey <VALIDATOR_VOTE_PUBKEY>\n","lang":"sh"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Start consuming post-pack and settle after each epoch."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Partner vaults are created by Rakurai or ops. Creating one is not a partner CLI path."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3.-during-the-epoch"},"children":["3. During the epoch"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Nothing is taken automatically."]}," Profit stays in your accounts for the whole epoch and no ledger entry is written on your behalf."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is the opposite of a custom tip account, where the validator records what is owed on every leader turn and you only transfer afterwards. For MevShare, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["you"]}," do both the recording and the transfer. See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/programs/reward_distribution/readme#4.-tca--tips-for-landing-transactions"},"children":["TCA"]}," and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/tips#6.1.-leader-turn-stage-every-leader-turn"},"children":["Tips — leader-turn stage"]}," for the contrast."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"4.-after-the-epoch"},"children":["4. After the epoch"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"4.1.-report-what-you-owe"},"children":["4.1. Report what you owe"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["record-revenue"]}," writes the amount into the epoch ledger. It moves ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["no SOL"]}," and always targets the current cluster epoch."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-revshare \\\n  --url <RPC_URL> \\\n  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \\\n  --keypair <RECORD_AUTHORITY_KEYPAIR> \\\n  record-revenue \\\n  --revenue-kind Mev-share \\\n  --revenue-name <REVENUE_NAME> \\\n  --vote-pubkey <VALIDATOR_VOTE_PUBKEY> \\\n  --amount <LAMPORTS>\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Record once per validator per epoch"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["record-revenue"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["adds to"]}," the existing epoch entry rather than replacing it. Running it twice for the same epoch and vote books twice the amount owed, and you will then be expected to transfer that inflated figure. Check the current entry with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-pending-record"]}," before recording."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"4.2.-send-the-sol"},"children":["4.2. Send the SOL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfer"]}," settles one epoch on one vault; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfer-all"]}," settles every pending epoch across matching vaults. Both accept ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"rakurai-revshare \\\n  --url <RPC_URL> \\\n  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \\\n  --keypair <FUNDER_KEYPAIR> \\\n  transfer-all \\\n  --revenue-kind Mev-share \\\n  --revenue-name <REVENUE_NAME> \\\n  --dry-run\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["What is still outstanding is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending = amount - transferred_amount"]},", visible per epoch with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-pending-record"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-all-pending-records"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"4.3.-what-rakurai-does-next"},"children":["4.3. What Rakurai does next"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rakurai's commission is deducted from what you sent, and the remainder is credited to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["validator identity"]},". With ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["block_reward_conversion_enabled"]}," on (the default), that remainder is then converted into a high-priority block reward — the same treatment TCA and PSA revenue gets. Indexers should not count both — see the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/readme#6.-do-not-double-count-tips-and-converted-block-rewards"},"children":["indexing note"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"danger","name":"Settle within 2 epochs"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you do not report ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["and"]}," send within roughly two epochs, post-pack access and MCA prioritization stop after that grace period."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"5.-cli"},"children":["5. CLI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Full command reference: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/cli/partner_reward_settlement"},"children":["Tip and MevShare Revenue Settlement CLI (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rakurai-revshare"]},")"]}]},". On-chain struct: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/rakurai_programs/programs/reward_distribution/readme#7.1.-tca-/-mca--revenueshareaccountv1"},"children":["Reward Distribution — RevenueShareAccountV1"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"6.-related"},"children":["6. Related"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/post_pack/psa"},"children":["PSA"]}," — required before the MCA matters"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/post_pack/using_p2c"},"children":["Using P2C"]}," — the stream and how to reply with bundles"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/tips"},"children":["Tips"]}," — tipping reply bundles is separate from MevShare settlement"]}]}]},"headings":[{"value":"MCA — share backrun profit","id":"mca--share-backrun-profit","depth":1},{"value":"1. Who this is for","id":"1.-who-this-is-for","depth":2},{"value":"2. Register","id":"2.-register","depth":2},{"value":"3. During the epoch","id":"3.-during-the-epoch","depth":2},{"value":"4. After the epoch","id":"4.-after-the-epoch","depth":2},{"value":"4.1. Report what you owe","id":"4.1.-report-what-you-owe","depth":3},{"value":"4.2. Send the SOL","id":"4.2.-send-the-sol","depth":3},{"value":"4.3. What Rakurai does next","id":"4.3.-what-rakurai-does-next","depth":3},{"value":"5. CLI","id":"5.-cli","depth":2},{"value":"6. Related","id":"6.-related","depth":2}],"frontmatter":{"seo":{"title":"MCA — share backrun profit"}},"lastModified":"2026-09-09T17:58:54.000Z"},"slug":"/docs/services/rakurai_jito_private/rakurai_docs/transaction_inclusion/post_pack/mca","userData":{"isAuthenticated":false,"teams":["anonymous"]}}