monero.loveA little love for the network.

Monero glossary / Protocol and cryptography

RingCT: confidential amounts with public verification

Ring Confidential Transactions is the framework that lets nodes verify confidential Monero payments without publishing their transferred amounts. It combines commitments, signatures and proofs.

Also called: Ring Confidential Transactions.

Verifying a payment without its amounts

RingCT replaces publicly readable payment amounts with commitments. A commitment binds an amount to a cryptographic value while a secret mask keeps that amount hidden. Nodes can check relationships between commitments without learning each value.

The pieces have separate jobs. Balance checks establish conservation of value, range proofs constrain output amounts, and input signatures prove the required spending relationships. In the reviewed stable format, those signatures use CLSAG and the range proofs use Bulletproofs+.

References: Monero source: ringct/rctSigs.cpp · Monero source: cryptonote_core/blockchain.cpp

A payment with change

Consider a wallet paying a recipient from one previously received output. It creates a recipient output and usually a change output for itself. The committed input amount must balance the committed output amounts plus the transaction fee.

The recipient scans the transaction and recovers the amount intended for them. A validating node checks the proofs instead. Neither the recipient nor a public explorer needs to know the amount of every other payment to check the part relevant to them.

References: Monero source: ringct/rctSigs.cpp · Monero source: wallet/wallet2.cpp

Range proofs and conservation of value

Commitment arithmetic alone is not enough to rule out invalid amounts. The range proof constrains each confidential output value to the allowed range. Without that constraint, balancing an equation would not by itself establish a valid payment.

RingCT is the overall transaction construction, not the name of one permanent proof system. Earlier transactions used different signature and range-proof constructions. Historical validation still needs to understand those formats.

References: Monero source: ringct/rctSigs.cpp · Monero source: cryptonote_core/blockchain.cpp

Public transaction data and outside records

RingCT does not encrypt the entire transaction. Fees, key images, output public keys and transaction structure remain visible. Stealth-address derivation handles recipient unlinkability, while network routing determines what a node or network observer can learn about the connection.

A sender can also retain records of whom they paid. Confidential amounts on the blockchain do not erase an invoice, an exchange account or a compromised wallet.

References: Moneropedia: ringCT · Monero source: ringct/rctSigs.cpp

Related glossary terms

Practical guides

Technical baseline: v0.18.5.4. Reviewed 2026-11-08 UTC.

Find RingCT in the A-Z glossary

Support Monero Love

Help keep the public nodes and packages running. Send any amount of XMR.

Scan with a Monero wallet to donate to Monero Love.89hGTKxRVA3AUeKAbCRBt5TMSzq3MQZooNNsezCpNFjp2oeJPRx8AJeGKA8ziHZNqab78f4Vr1ntxhPDxX5298nnGZjHkhm