Trust

How to know it is real.

A name that costs nothing to claim will be copied by scammers. This page says what the real thing looks like, how to check it yourself, and what you still have to take on trust.

What the real claim never does

The official accounts

Every Genesis pass and every .on name is issued from accounts published here. An NFT from any other issuer is not a Genesis pass and not a .on name, whatever it is called or looks like.

PLACEHOLDER. The Mainnet accounts have not been created yet, so no address is shown below. Until addresses appear here, nothing on Mainnet is an OnWallet pass or name.

Network
XRP Ledger Mainnet
Genesis pass issuer
Not published yet
Names issuer
Not published yet
Minter accounts
Not published yet
Issuer domain
Not published yet

The same addresses will be published in four places, so that changing one of them is not enough to fool you:

  1. on this page;
  2. inside OnWallet, where they are fixed in the build and cannot be changed by a server;
  3. in the registrar's public status answer, at /v1/status;
  4. on the ledger itself: each issuer account's Domain field points to a site that lists the account in its xrp-ledger.toml file.

The signed file

A signed file at a fixed web address will list the official accounts with every minter, current and retired, the web origins of the registrar and the resolver, and the store IDs of the real OnWallet extension, so a copy of the wallet can be told from the original. It carries a serial number and the dates it is valid between.

File
Not published yet
Signature
Not published yet
Signed by
Not published yet. The file is signed with the issuer account's own key, or by the accounts on its signer list.

The file does not say who must have signed it, and neither does this page: a website that handed you both a file and the list of its signers would be vouching for itself. Take the signers from somewhere this website does not control: OnWallet, where they are fixed in the build, or a public explorer, which shows the issuer account and its signer list.

The file is plain JSON in one fixed form, and each signature is an ordinary XRP Ledger account signature over its bytes. The ledger's reference key library and OpenSSL both verify one; the exact commands are in the project's documentation of the issuer tool. You do not need this page to check it.

Verify the signed file in your browser

From OnWallet or a public explorer, not from this website. If the signer list gives an account a weight other than 1, write it after the address.

1 for the issuer's own key; otherwise the signer list's quorum.

Check a pass or a name yourself

Any public XRP Ledger explorer shows what an account holds, for example livenet.xrpl.org, xrpscan.com or bithomp.com. None of them is run by us, and that is the point.

  1. Open an explorer and look up your own account address.
  2. Open its NFTs. Each one shows an NFTokenID, an issuer, a taxon, flags and a URI.
  3. Compare the issuer with the address published above, character by character.
  4. Check the table below.
Genesis pass.on name
IssuerThe pass issuer aboveThe names issuer above
Taxon12
TransferableNo, and neverNo, at launch
URI can changeYes: the issuer writes the number and levelNo: the name is fixed
URI, read as textA web address ending in the level and the numberopenwallet-name: followed by the name, and nothing else

A name is matched whole. An NFT whose URI says openwallet-name:malice.on is the name malice.on; it is not alice.on, although it ends the same way.

If the same name was ever minted twice, the NFT with the lowest mint sequence is the name, and a later copy never is. A name still sitting in the issuer's or a minter's account has been minted but not claimed, and points to nobody.

Decode an NFT in your browser

How .on differs from other name services

Several services put names on the XRP Ledger. Each has its own issuer, its own suffix and its own rules, and a name from one does not exist in another. A .xrp name and a .on name are unrelated, even when the word before the dot is the same.

What is trustless, and what is not

Anyone can check, without trusting OpenApps

  • that a given NFT exists, was issued by the names issuer, has the right flags, carries exactly a given name, and is held by a given account;
  • that it has the lowest mint sequence among the issuer's live NFTs with that name;
  • so a lookup service's answer is checkable. One that lies is caught.

Depends on the registrar behaving

  • Uniqueness. The ledger lets an issuer mint duplicates. A later duplicate loses, but only the registrar stops one being minted.
  • Revocation. The issuer and its current minter can burn any name, and after a burn can mint it to someone else. The policy says when that may happen; the ledger does not enforce it.
  • The reserved list and the look-alike rule. Applied by the registrar when a name is registered. Anyone can audit them afterwards.
  • Pass numbers and levels. Whatever the minter writes.

A stolen minter key could mint duplicates, burn a name and mint it again to another account. It could not change a name in place, take an NFT out of your account without burning it, or touch your funds. The draft name policy describes the waits and the public log that make such a move visible.

Report something

Report a security problem privately to security@onwallet.si. For a fake site, a fake extension or a message that claims to be from OnWallet, write to the support address: not published yet.