Skip to main content
If you hold alice.nova, you can create names such as shop.alice.nova and tips.alice.nova. You control their records through the parent name, while each can receive at a different destination.

Before you begin

Your parent name must be active. Its namespace needs compatible Registrar and Resolver contracts, with the subname policy set to Enabled. Connect the parent holder’s wallet. The current naming format allows one child level, not another child beneath shop.alice.nova.

Create a subname in the app

The app’s creation and removal flow requires a classic G-account parent holder. A parent held by a C contract requires an integration that authorizes the action through that contract.
  1. Find your parent name through Soran’s lookup and open its public record.
  2. In Subnames, choose Manage subnames and connect the parent holder wallet.
  3. Enter a label such as shop in New subname.
  4. Choose Review & create subname, review the network cost and approve the wallet request.
  5. Follow Open shop.alice.nova after confirmation.
The new subname initially receives at your holder wallet. On its record page, you can change its Stellar payment instructions or add enabled network addresses. If your intended destination needs a memo or muxed routing ID, save the complete instruction before sharing the subname for payments. You should see the subname listed beneath its parent and its public record marked Parent-controlled. Receiving at another wallet does not transfer control to that wallet.

Create a subname from code

Use Holder 0.10.0 with Lookup 0.11.0 and the same deployment configuration. This example uses a classic account’s wallet signer:
The generation values bind the write to the parent and child state you reviewed. An already-active child cannot be created again. A failed read must not be treated as an absent record. Creation accepts a G/C destination without a memo. Start with your own holder address when the intended recipient needs additional routing details. Then use setPayment, setChainAddress or setProfile with the complete child name to publish its records.

List or remove subnames

The list includes historical and removed records. Use current metadata or payment resolution to check whether a subname works now. In the app, choose Remove shop on the parent’s record. In code, reread both records before removing:

Understand what can change

Stopping new creation leaves existing subnames usable. Suspension pauses resolution and editing, while removal remains available. Parent expiry pauses its subnames; renewing the same ownership restores valid records. Transfer, reclaim or reissue of the parent invalidates its subnames. Removing and recreating a child starts fresh records. Subnames cannot be transferred or renewed independently. See subname control and lifecycle before offering them to others.