Devnet snapshot · signs nothing, holds no keys · this project is not secure, not audited, not production-ready (P-5)

W-CONF

What confidential Multi-Purpose Tokens (MPTs) on the XRP Ledger hide, and what they do not. A research project, shown on one snapshot of the Devnet.

A holder is never private from the issuer

The protocol keeps a second copy of every confidential balance, the IssuerEncryptedBalance, encrypted to the issuer’s key. The issuer can always decrypt it, and no setting turns this off (CLAIMS.md P-9).

This page shows that each copy is on the ledger. It does not show the decrypted figures: a visitor could not check them, so this project does not publish them (ADR-0004 D-H3).

Public balance
MPTAmount
an ordinary amount anyone can read
The holder's encryption key
HolderEncryptionKey
public once registered, and never changeable
Spending balance, encrypted to the holder
ConfidentialBalanceSpending
value hidden, unless it is the recognisable zero
Inbox, encrypted to the holder
ConfidentialBalanceInbox
value hidden, unless it is the recognisable zero
The issuer's copy, encrypted to the issuer
IssuerEncryptedBalance
kept beside every confidential balance; the issuer can read it
The auditor's copy, if the token names an auditor
AuditorEncryptedBalance
encrypted to the auditor; the auditor can read it
Version counter
ConfidentialBalanceVersion
counts changes to the balance, publicly
On the token: the total held in confidential form
ConfidentialOutstandingAmount
public
publichidden from the publicthe issuer can read it
One confidential position on the ledger. The issuer's copy sits beside the holder's own, encrypted to the issuer's key; the next panels show that each copy is there, never the figure.

Where these values come from

read from https://s.devnet.rippletest.net:51234
validated ledger 6324784 at 2026-10-22T12:49:50.477Z
network_id 2 (Devnet) rippled 3.4.1

This page shows the XRPL Devnet, a test network. Its tokens have no value, and it is reset from time to time. Each value was read from Ripple's public Devnet endpoint, at the ledger and date shown, and a lying or lagging server behind it would have made it wrong. The page does not update: it shows Devnet as it was at that ledger, not as it is now. Nothing on this page signs or submits. Do not use a value shown here to build a transaction.

Vercel, which hosts this page, sees your IP address and the pages you open.

The issuance

MPTokenIssuanceID 004625C9F2DDC3E652071A9FFA07507F2151FEE332CB25E8
issuer rP9wBAcBUXNDSiUNPgLRv2WWjMn1L8xzRa
IssuerEncryptionKey 029DDE4953B75D741FC54DB86B44DF7E486E5B1BDFBCECD5F671B68E7E1CFD6CB9

Issuer's copy: Holder A — an active position

rHeah37pL6aFPf59nzWGwujPzSFkp4TUL8

One of the two accounts the observer view was first read against, on 2026-08-28 (CLAIMS.md E-208).

read at validated ledger 6324784

IssuerEncryptedBalance 0227B2F019BB9F3887355B85C959B2011DBEF7AC80439E42514390BBB236CF43A80237189EBACB6E36B5C7AE7B8F251B8E97D55D37C3AC01B281F93C84C7395A75D3

Present, encrypted to the IssuerEncryptionKey above. It is a different ciphertext from the holder’s own balance.

Issuer's copy: Holder B — a derived-key account

rDYMkRMh7o7QfkNaoGvtd7TgFzmt12FEM8

Onboarded with the derived key, so its ElGamal key comes from its master seed.

read at validated ledger 6324784

IssuerEncryptedBalance 034958E9C943B437E117E9021E017799168DF9EE45270FE310212BF8F5BA957C10035E00F894315900DBBE99B2BC859F4FB45ECDA17381C0768E4F5C2D435412302D

Present, encrypted to the IssuerEncryptionKey above. It is a different ciphertext from the holder’s own balance.

Issuer's copy: Holder C — the ed25519 signing account

rsc9Z29Qz6w99TnpECxbeU6vBs2L3E3CbY

The account the hedged ed25519 signing ran on. Its ledger view is ordinary: an observer cannot see the signing change.

read at validated ledger 6324784

IssuerEncryptedBalance 022E7F2111A54AA7B0CA18EE831CB0BFCFF32FB4A4DBF2E10AAEB9ED5698657F9802EDC9E003481C3DB14F60A83767C9B88C53525104C1A408DA61677EFAE4887CD0

Present, encrypted to the IssuerEncryptionKey above. It is a different ciphertext from the holder’s own balance.

Issuer's copy: Holder D — an early spike account

rEVXh6wpmhKvuot95mNMb4DmkJsZqkdsWH

An early test account, kept as a second position to compare against.

read at validated ledger 6324784

IssuerEncryptedBalance 03578671D93AB129EA4196A34214E45B4EA639DB43758C63D2516A457F7735CF5702C2587A7AAD3AFFD05A691C26390E5623C44DAE1E4FCFF5DC3952D5342563C93D

Present, encrypted to the IssuerEncryptionKey above. It is a different ciphertext from the holder’s own balance.