Guide

Everything you need to know about registering, transferring, and protecting your NSIT name.

What is an NSIT name?

An NSIT name is a human-readable label permanently recorded on the Bitcoin blockchain. It maps to a Nostr public key, which hosts a website via the nsite protocol.

When someone types nsite://yourname into the Titan browser, it looks up the name in the index, finds the associated Nostr pubkey, fetches the site manifest from relays, downloads content from Blossom servers, and renders the page. No DNS, no certificates, no hosting providers.

Names are permanent and first-come-first-served. Once registered, a name exists as long as Bitcoin exists. There is no renewal, no expiration, and no dispute process.

How ownership works

Name ownership is based on Bitcoin's UTXO model. When you register a name, the transaction creates an ownership UTXO — specifically, the first non-OP_RETURN output of the registration transaction.

Whoever can spend that UTXO controls the name. This is how Bitcoin works at its core — ownership is the ability to spend.

To transfer a name or update the pubkey it points to, you create a new transaction that spends the ownership UTXO and includes an NSIT OP_RETURN with the new pubkey. The first non-OP_RETURN output of that transfer transaction becomes the new ownership UTXO.

What you need

Bitcoin Core — a full Bitcoin node with a wallet. This is the software that creates and broadcasts your registration and transfer transactions. Download it from bitcoincore.org.

A funded wallet — your wallet needs a small amount of Bitcoin to pay the mining fee (typically a few hundred sats, ~$0.10). There is no registration fee beyond what you pay miners.

A Nostr keypair — the public key (npub) that your name will resolve to. This is the identity that hosts your website content. You can get one from any Nostr client.

bitcoin-cli — the command-line tool that comes with Bitcoin Core. All registration and transfer operations are done through this tool. The register and transfer pages generate the exact commands you need to run.

Registering a name

Check availability. Go to the search page and look up the name you want. If it shows as "Available," you can register it.
Use the registration tool. Go to the register page, enter your name and npub, and follow the step-by-step bitcoin-cli commands. Each step generates the exact command to run and explains what it does.
Wait for confirmation. After broadcasting, the transaction needs to be included in a block (usually 10-30 minutes). The indexer picks up the registration within 30 seconds of the block being mined.
Protect the ownership UTXO. After confirmation, find the first non-OP_RETURN output of your transaction in your wallet. Freeze it and label it "NSIT: myname" so you don't accidentally spend it.

Transferring a name

A transfer updates the Nostr pubkey your name points to. It can also hand off ownership to someone else. Both happen in one transaction.

Look up the name on the search page. Note the Owner UTXO — you need to spend this specific UTXO in the transfer transaction.
Use the transfer tool. Go to the transfer page, enter the new npub and destination address, and follow the step-by-step bitcoin-cli commands. The tool pre-fills the ownership UTXO for you.
Wait for confirmation. Same as registration — the indexer processes the transfer within 30 seconds of the block.
Freeze the new ownership UTXO. The first non-OP_RETURN output of the transfer transaction is the new ownership UTXO. Freeze and label it.

What is a UTXO?

UTXO stands for Unspent Transaction Output. Every Bitcoin transaction creates one or more outputs. Each output is a specific amount of Bitcoin that can only be spent once. Think of them like individual bills in your wallet — each one has a fixed value and can only be used once.

A UTXO is identified by a txid:vout pair. The txid is the transaction ID (a 64-character hex string), and vout is the output index (a number starting from 0). For example, 322ab8...e7002f:1 means "output #1 of transaction 322ab8...e7002f".

In the NSIT protocol, the ownership UTXO is the specific output that controls a name. Spending it (in a transaction with an NSIT OP_RETURN) is how you prove you own the name and authorize a transfer.

Risks

If you accidentally spend the ownership UTXO in a regular transaction (without an NSIT OP_RETURN), the name is permanently frozen.

It will still resolve — the site will work — but nobody will ever be able to transfer it or update the pubkey again. There is no recovery mechanism. This is irreversible.

This is the single most important thing to understand about NSIT name ownership.

Protecting your name

After registering or transferring a name, you need to protect the ownership UTXO so you don't accidentally spend it. Here's how using bitcoin-cli:

Find your ownership UTXO. List your wallet's unspent outputs:

bitcoin-cli listunspent

Find the entry matching your registration/transfer txid. Note the txid and vout values.
Lock it. This prevents Bitcoin Core from automatically spending it in future transactions:

bitcoin-cli lockunspent false '[{"txid":"YOUR_TXID","vout":VOUT_NUMBER}]'

Returns true on success. You can verify with bitcoin-cli listlockunspent which shows all locked UTXOs.
Label the address. Bitcoin Core can label addresses (not individual UTXOs), but since each registration creates a unique output address, labeling it helps you identify it later:

bitcoin-cli setlabel "ADDRESS" "NSIT: yourname"

Replace ADDRESS with the address from listunspent and yourname with the name you registered. The label will show in listunspent output and in the Bitcoin Core GUI.
Understand the limitation. lockunspent locks are temporary — they reset every time Bitcoin Core restarts. For permanent protection, use a dedicated wallet (next step).
Create a dedicated wallet (recommended). The safest approach is a separate wallet that you only use for NSIT names:

bitcoin-cli createwallet "nsit-names"

Use -rpcwallet="nsit-names" for all registration and transfer commands. Since you never spend from this wallet for anything else, the ownership UTXOs can't be accidentally spent.
Back up your wallet. The name is controlled by the private key that can spend the ownership UTXO. If you lose access to that key, you lose the ability to transfer the name. Back up with:

bitcoin-cli -rpcwallet="nsit-names" backupwallet "/path/to/backup.dat"

Store the backup securely. Standard Bitcoin backup practices apply.

Common questions

How much does registration cost?

Just the Bitcoin transaction fee — typically a few hundred sats (~$0.10) at low fee rates. There is no registration fee beyond what you pay miners.

Can someone take my name?

No. Once registered, a name cannot be seized, revoked, or reassigned by anyone. The only way to transfer it is by spending the ownership UTXO. As long as you control the private key, you control the name.

What happens if two people register the same name?

First-in-chain wins. If two registrations appear in the same block, the one with the lower transaction index wins. The other is ignored.

Can I change what my name points to?

Yes. A transfer updates the Nostr pubkey. You can point your name at a different npub anytime by using the transfer tool. Send the new ownership output back to yourself to retain control.

Can I sell a name?

Yes. Use the transfer tool and set the destination address to the buyer's Bitcoin address (with their npub in the transfer data). They will control the name after confirmation. Payment can be arranged however you like — the protocol doesn't handle payment, just ownership.

Do I need to run Bitcoin Core?

For browsing nsites, no. The Titan browser looks up names through Nostr relay events published by an indexer service. You only need Bitcoin Core to register or transfer names.

What is bitcoin-cli?

bitcoin-cli is the command-line interface that comes with Bitcoin Core. It lets you create transactions, sign them, and broadcast them to the network. You run it in a terminal (Terminal on macOS, Command Prompt or PowerShell on Windows, any terminal on Linux).

If Bitcoin Core is installed and running, bitcoin-cli should work from any terminal. If it says "command not found," you may need to add Bitcoin Core's bin directory to your PATH.

What is an OP_RETURN?

OP_RETURN is a special type of Bitcoin transaction output that stores data on the blockchain without creating a spendable coin. It's how the NSIT protocol embeds name registration and transfer data in Bitcoin transactions. The data is limited to 80 bytes, which is enough for the protocol header, name, and public key.