Skip to main content

Private Payments

Private Payments is the core capability of Merces, TACEO's confidential token transfer protocol. It lets users send and receive ERC-20 tokens on a public EVM chain, with two privacy modes that callers select per transaction.

The integration model is API/SDK: stablecoin issuers, fintechs, and payment infrastructure builders white-label Merces into their products. End users never see TACEO.

Live infrastructure

Merces is live across multiple testnets today.

The confidential network has processed ~5M demo transactions sustaining ~300 TPS, with single-digit-cents gas per transfer on L2.

The problem with public rails

Public blockchains expose everything by default: balances, counterparties, amounts, transaction flows. For real financial operations this is a non-starter.

  • Payroll broadcasts every employee's salary to the world.
  • Treasury moves reveal cash position, runway, and operational tempo.
  • B2B settlement exposes customer relationships, deal sizes, and pricing structure.
  • Consumer payments turn every wallet into a public spending diary.

Existing privacy approaches force a trade-off. Privacy-first L1s require migrating off the chain you've already chosen. Cryptographic toolkits hand you raw primitives and leave assembly to you. Neither is a path most issuers, fintechs, or institutions can take to production.

Two privacy modes

Merces supports two modes for transfers, selectable per transaction:

ModeWhat's hiddenWhat's visibleUse when
ConfidentialAmounts, balances, transfer historySender and receiver wallet addressesYou want to hide pricing or amounts but settle to known counterparty wallets. The basis for Confidential x402.
Fully privateAmounts, balances, sender, and receiverNothing identifying about the transferYou need full transaction-graph privacy: consumer payments, sensitive treasury moves, regulated user flows.

Both modes share the same Merces protocol, the same secret-shared balance model, and the same compliance primitives. Callers pick the mode for each transfer.

How Merces works

Merces wraps existing ERC-20 tokens (such as USDC) into a shielded form that lives alongside the public token on the same chain. Users gain a private virtual account without leaving their existing wallet, RPC, or chain.

Three properties make this work:

  1. Balances are held as secret shares across the TACEO Network's MPC operators. No single party, including TACEO, ever sees a plaintext balance or amount.
  2. State transitions are verified onchain via CoSNARKs. Both the client's spending proof and the MPC network's balance update proof are checked by the Merces contract before any commitment moves.
  3. The chain stays the chain. Merces deploys as a contract on the EVM you already use. There's no bridge, no new consensus, no migration.

For a step-by-step walk through the cryptographic flow (commitments, secret shares, Groth16 proofs, EIP-712 signing, and the MPC settlement loop), see How it works, which uses the x402 payment as the worked example but documents the underlying Merces protocol.

What you get

CapabilityStatus
Confidential transfers (amounts hidden, addresses visible)Live on Arc and Base testnets
Fully private transfers (amounts and addresses hidden)Live on Plasma testnet
Per-transaction mode selectionLive on Plasma testnet
Compliance dashboard with selective disclosureLive on Plasma testnet (see Compliance)
transferWithAuthorization (basis for Confidential x402)Live on Base testnet
Allowlists at the contract layerLive on testnet
Private yieldIn development (see Private Yield)
Private DeFi (swaps, dark pools, approvals)On the roadmap
Mainnet deploymentShipping toward production

Privacy assumptions

In confidential mode, Merces hides balances, transfer amounts, and the state of the virtual account. Sender and receiver wallet addresses remain visible onchain.

In fully private mode, Merces additionally hides sender and receiver. A gateway service abstracts gas payment and submitter identity so the transaction graph itself stays opaque.

In both modes, no single party (including TACEO) ever sees a plaintext balance or amount. Balances are held as MPC secret shares; reveals require explicit authorization through the compliance flow.

For a full privacy analysis at the protocol level, see the x402 Protocol reference.

Who it's for

AudienceWhat Merces gives them
Stablecoin issuersPrivacy as a feature for issued tokens, without forking the asset
Fintechs and neobanksA confidential rail under existing user accounts
Payment infrastructure buildersAn SDK-integrable shielded ledger on the EVM they already target
Institutions and treasuriesConfidential settlement on public rails for payroll, vendor payments, and intra-org transfers
AI agents and agent platformsSpending that doesn't broadcast strategy across paid endpoints

Get started

GoalStart here
Try confidential payments in a browsermerces-dashboard.taceo.io/arc
Try fully private payments and the compliance dashboardmerces.taceo.io
See it run end-to-end with a real (test) payment via x402Confidential x402 Quickstart
Understand the protocol architectureHow it works
Look up addresses and endpointsNetwork & Contracts
Read the underlying paperEscudero et al., IACR ePrint 2026/850
Browse sourcegithub.com/TaceoLabs

For production access, integration support, or a deeper conversation about a specific use case, email the team.