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
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
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.