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 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.
Merces is live across multiple testnets today.
- Confidential mode on Arc and Base testnets. Reference Implementation: merces-dashboard.taceo.io/arc.
- Fully private mode and the compliance dashboard on Plasma testnet. Referenece App: merces.taceo.io.
The 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.
How Merces works
Merces wraps existing ERC-20 tokens (such as USDC) into a private 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:
- 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.
- State transitions are cryptographically secured and 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.
- 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.
Two privacy modes
Merces supports two modes for transfers, selectable per transaction:
| Mode | What's hidden | What's visible | Use when |
|---|---|---|---|
| Confidential | Amounts, balances | Sender and receiver wallet addresses | You want to hide pricing or amounts but settle to known counterparty wallets. The basis for Confidential x402. |
| Private | Amounts, balances, sender, receiver, transaction history | Nothing identifying about the transfer | You need full transaction-graph privacy: consumer payments, sensitive treasury moves, regulated user flows. |
Both modes share the same underlying protocol, the same secret-shared balance model, and the same compliance primitives. Callers pick the mode for each transfer.
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.
Feature overview
| Capability | Status | Reference |
|---|---|---|
| Confidential transfers (amounts hidden, addresses visible) | 🟢 Live | Performance Dashboard |
| Fully private transfers (amounts and addresses hidden) | 🟢 Live | Reference App |
| Per-transaction mode selection | 🟢 Live | Reference App |
| Compliance dashboard with selective disclosure | 🟢 Live | Compliance |
transferWithAuthorization (basis for Confidential x402) | 🟢 Live | x402 App |
| Allowlists at the contract layer | 🟢 Live | - |
| Private yield | 🟢 Live | Private Yield |
| Private DeFi (swaps, staking, approvals) | 🟡 In Development | - |
| Mainnet deployment | 🔵 Per Customer Request | - |
Who it's for
| Audience | What Merces gives them |
|---|---|
| Stablecoin issuers | Privacy as a feature for issued tokens, without forking the asset |
| Fintechs and neobanks | A confidential rail under existing user accounts |
| Payment infrastructure builders | An SDK-integrable private ledger on the EVM they already target |
| Institutions and treasuries | Confidential settlement on public rails for payroll, vendor payments, and intra-org transfers |
| AI agents and agent platforms | Spending that doesn't broadcast strategy across paid endpoints |
Get started
| Goal | Start here |
|---|---|
| Analyse performance metrics on the dashboard | merces-dashboard.taceo.io |
| Try fully private payments and the compliance dashboard | merces.taceo.io |
| Apply confidential payments to your agent | confidential-x402.taceo.io |
| Understand the protocol architecture | How it works |
| Read the underlying paper | Escudero et al., IACR ePrint 2026/850 |
| Browse source | github.com/TaceoLabs |
For production access, integration support, or a deeper conversation about a specific use case, email the team.