Last updated

MCA — share backrun profit

The MevShare Collection Account (MCA) is how backrun partners share 65% of backrun profit with the validator through TIN.

Backrun-only: pre-conf is free — you share 65% of backrun profit through the MCA (post-pack confirmation and optional TPU included). No PSA. If you also sell, keep a funded PSA for those updates as well.

Settlement is self-reported because backrun profit lands in your own wallet. After each epoch: record what you owe, then transfer it. Miss the grace window and you lose post-pack access.

Audience: Searchers and TIN partners who backrun from P2C (optionally alongside PSA reselling).

Related: PSA · Using P2C · Revenue settlement · rakurai-revshare CLI

You must hold the MCA record authority

Reporting is signed by the MCA 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 rakurai-revshare get-account --detail (Record auth) as soon as the account is created.


1. Who this is for

Searchers and TIN partners that:

  • Capture MEV (backruns or arbitrage) from the post-pack stream
  • Share 65% of that profit with the validator through an MCA
  • Expected baseline: 65 SOL / month / 1M stake
  • Use MCA for backrun settlement (add a PSA only if you also resell)

There is one MCA per service per validator, matching the PSA layout. The vault itself is RevenueShareAccountV1 with share_kind = MevShare, derived from [REVENUE_SHARE_V1, MEV_SHARE, name, vote].

MCA and TCA are the same struct, different vaults

A custom tip account settles into a TCA (--revenue-kind Tip) and a post-pack backrun share settles into an MCA (--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 --revenue-kind targets the wrong vault.


2. Register

  1. Onboard as for the PSA: share your endpoint and a wallet pubkey you control with the Rakurai team — Setup guide.
  2. Rakurai creates the MCA and gives you a revenue name plus the record key. The revenue name is a PDA seed — use the exact value Rakurai assigned, including case.
  3. Confirm the account exists and the record authority matches your key:
rakurai-revshare \
  --url <RPC_URL> \
  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \
  get-account --detail \
  --revenue-kind Mev-share \
  --revenue-name <REVENUE_NAME> \
  --vote-pubkey <VALIDATOR_VOTE_PUBKEY>
  1. Start consuming post-pack and settle after each epoch.

Partner vaults are created by Rakurai or ops. Creating one is not a partner CLI path.


3. During the epoch

Nothing is taken automatically. Profit stays in your accounts for the whole epoch and no ledger entry is written on your behalf.

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, you do both the recording and the transfer. See TCA and Tips — leader-turn stage for the contrast.


4. After the epoch

4.1. Report what you owe

record-revenue writes the amount into the epoch ledger. It moves no SOL and always targets the current cluster epoch.

rakurai-revshare \
  --url <RPC_URL> \
  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \
  --keypair <RECORD_AUTHORITY_KEYPAIR> \
  record-revenue \
  --revenue-kind Mev-share \
  --revenue-name <REVENUE_NAME> \
  --vote-pubkey <VALIDATOR_VOTE_PUBKEY> \
  --amount <LAMPORTS>
Record once per validator per epoch

record-revenue 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 get-pending-record before recording.

4.2. Send the SOL

transfer settles one epoch on one vault; transfer-all settles every pending epoch across matching vaults. Both accept --dry-run.

rakurai-revshare \
  --url <RPC_URL> \
  --program-id <REWARD_DISTRIBUTION_PROGRAM_ID> \
  --keypair <FUNDER_KEYPAIR> \
  transfer-all \
  --revenue-kind Mev-share \
  --revenue-name <REVENUE_NAME> \
  --dry-run

What is still outstanding is pending = amount - transferred_amount, visible per epoch with get-pending-record or get-all-pending-records.

4.3. What Rakurai does next

Rakurai's commission is deducted from what you sent, and the remainder is credited to the validator identity. With 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 indexing note.

Settle within 2 epochs

If you do not report and send within roughly two epochs, post-pack access and MCA prioritization stop after that grace period.


5. CLI

Full command reference: Partner Tip and Mev Revenue Settlement CLI (rakurai-revshare). On-chain struct: Reward Distribution — RevenueShareAccountV1.


  • PSA — pay when selling pre-conf
  • Using P2C — the stream and how to reply with bundles
  • Tips — tipping reply bundles is separate from MevShare settlement