Private Payments · Solana

Your agent pays.
Nobody sees.

xPay integrates with MagicBlock's Private Ephemeral Rollup to obscure the amount and recipient of any Solana transfer. One flag — --private — is all it takes.

Beforexpay transfer 1 USDC <to>
Afterxpay transfer 1 USDC <to> --private
Amount hidden on-chain
Recipient obscured
Settles on Solana
How it works

One flag. Full privacy.

MagicBlock's Private Ephemeral Rollup handles the complexity. Your agent just adds --private.

01
Add --private

One flag routes the transfer through MagicBlock's Private Ephemeral Rollup instead of broadcasting directly on-chain.

xpay transfer 1 USDC <to> --private
02
Amount + recipient obscured

MagicBlock PER splits funds across micro-transactions with delayed execution — the amount and recipient are hidden from on-chain observers.

// Fund splitting + delayed execution // No direct on-chain trace
03
Settles privately

The payment settles on Solana with no traceable connection between the agent's intent and the final transaction.

// Funds land on Solana // No link to original intent
Architecture

How the PER works under the hood.

Your transfer never goes directly on-chain. MagicBlock routes it through an ephemeral rollup, splits the funds, and settles with no traceable link to the original intent.

Agent
xpay transfer --private
MagicBlock PER
off-chain execution
Fund splitting
amount obscured
Solana
private settlement
CLI

Test from your terminal.

The --private flag works on any transfer command. No extra setup beyond a funded xPay profile.

xpay transfer 1 USDC <to> --privateSend USDC privately via MagicBlock PER
xpay transfer 0.5 SOL <to> --privateAny SPL token, same privacy guarantee
xpay balanceCheck wallet before sending
xpay historyYour local transfer history
MCP Tools

Built into your agent.

Pass private: true to xpay_transfer. The two-step confirmation flow ensures no funds move without explicit user approval.

xpay_transferAccepts private: true — routes through MagicBlock PER
xpay_transfer_confirmTwo-step confirmation before funds move
xpay_balanceCheck USDC + SOL before the transfer
xpay_historyVerify settlement after the fact

Private payments, ready to ship.

Install xPay, fund your Solana wallet, and add --private to any transfer. MagicBlock handles the rest.

npm install @xona-labs/xpay && xpay transfer 1 USDC <to> --private