Skip to main content
Issue names from a script or application with Owner 0.12.0. You authorize each write with the on-chain namespace owner’s wallet. The SDK finds the namespace’s Registrar through Registry. Choose the registration flow that fits your application: issue and issueBatch require Manual mode. Public mode blocks them even when public claims are paused. Reserved assignment is the explicit owner-authorized exception.

Configure the owner client

Use the matching deployment configuration. walletSigner implements publicKey() and signTransaction(xdr, options) for a classic G transaction-source account. Backend scripts can use keypairSigner with a securely supplied secret; keep secrets out of frontend configuration. C destinations or contract ownership require a compatible contract-wallet integration for signing. They are not supported by treating a C address as this adapter’s transaction source.

Issue one or a batch

Use a batch for up to 23 names in one transaction:
The initial Registrar address is the holder’s address. A native Resolver is needed for complete payment reads, and the holder can later publish different receiving instructions. Each issuance applies the namespace policy and creates a new generation. Manual issuance does not charge the public username claim price. In Public mode, use the native user claim method so the configured fee, eligibility, reservation and quota rules apply. Reserved assignment is the explicit owner-authorized exception. The top-level namespace escrow and Stellar transaction/storage fees remain separate.

Check batch outcomes

Check the result beyond the transaction hash: The contract skips already-held labels in a batch. Still check uncertain transaction hashes before retrying: expired/reissued state and other intervening activity can change the result of a later transaction.

Authorization

Namespace issuance requires the on-chain owner. A hosted console admin/issuer role does not create new contract signing authority. Owner power also does not confer a holder’s record-update or transfer authority. Names must be ASCII before SDK lowercase normalization. Malformed labels and Unicode lookalikes are rejected. Simulation catches many failures before signing. OwnerError exposes code and codeName; after submission it can also carry txHash. Reconcile that transaction before retrying. Read integrations use Lookup, while owner writes go directly to the namespace contracts. Continue with lifecycle and transfers.