Show / Hide Table of Contents

Class CreateNftParams

NFT Token Type Creation Parameters.

Inheritance
object
TransactionParams
TransactionParams<CreateTokenReceipt>
CreateNftParams
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public sealed class CreateNftParams : TransactionParams<CreateTokenReceipt>
Remarks

These parameters are used to create a new NFT token type on the Hedera network. To create instances of an NFT, use the mint functionality.

Examples

Create an NFT collection with the payer as treasury and a capped max-supply. Separate Administrator and SupplyEndorsement keys are typical in production; reusing one key is fine for getting started:

var createReceipt = await client.CreateNftAsync(new CreateNftParams
{
    Name = "Sample NFTs",
    Symbol = "SNFT",
    Ceiling = 100,
    Treasury = treasury,
    Administrator = adminEndorsement,
    SupplyEndorsement = adminEndorsement,
    Memo = "Hiero SDK sample NFT collection"
});
Console.WriteLine($"NFT collection created: {createReceipt.Token}");

Properties

| Edit this page View Source

Administrator

Administrator key for signing transactions modifying this NFT Token's metadata properties.

Declaration
public Endorsement? Administrator { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

CancellationToken

Optional Cancellation token that interrupts the token creation process.

Declaration
public CancellationToken? CancellationToken { get; set; }
Property Value
Type Description
CancellationToken?
| Edit this page View Source

Ceiling

The maximum number of NFTs allowed to be minted. If set to a value of zero or less, an infinite amount of assets can be minted.

Declaration
public long Ceiling { get; set; }
Property Value
Type Description
long
| Edit this page View Source

ConfiscateEndorsement

Administrator key for signing transactions that confiscate and destroy (wipe) NFTs from an arbitrary crypto address.

Declaration
public Endorsement? ConfiscateEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

Expiration

Original expiration date for the NFT, fees will be charged as appropriate.

Declaration
public ConsensusTimeStamp Expiration { get; set; }
Property Value
Type Description
ConsensusTimeStamp
| Edit this page View Source

GrantKycEndorsement

Administrator key for signing transactions updating the grant or revoke KYC status of an account.

Declaration
public Endorsement? GrantKycEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

InitializeSuspended

The default frozen setting for current and newly created accounts.  A value 
of 
true

will default crypto account status of

Frozen
with relationship to this asset.  A value of 
false

will default to an tradable/unfrozen relationship.

Declaration
public bool InitializeSuspended { get; set; }
Property Value
Type Description
bool
| Edit this page View Source

Memo

Additional Short description of the asset, not checked for uniqueness.

Declaration
public string Memo { get; set; }
Property Value
Type Description
string
| Edit this page View Source

MetadataEndorsement

Administrator key for changing metadata associated with this NFT token type.

Declaration
public Endorsement? MetadataEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

Name

Name of the NFT class of tokens.

Declaration
public string Name { get; set; }
Property Value
Type Description
string
| Edit this page View Source

PauseEndorsement

Administrator key for signing transactions that can pause or continue the exchange of all assets across all accounts on the network.

Declaration
public Endorsement? PauseEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

RenewAccount

Optional address of the account supporting the auto renewal of the asset at expiration time. The NFT token lifetime will be extended by the RenewPeriod at expiration time if this account contains sufficient funds. The private key associated with this account must sign the transaction if RenewAccount is specified.

Declaration
public EntityId? RenewAccount { get; set; }
Property Value
Type Description
EntityId
Remarks

If specified, an Administrator Endorsement must also be specified.

| Edit this page View Source

RenewPeriod

Interval of the NFT token and auto-renewal period. If the associated renewal account does not have sufficient funds to renew at the expiration time, it will be renewed for a period of time the remaining funds can support. If no funds remain, the NFT token instance will be deleted.

Declaration
public TimeSpan? RenewPeriod { get; set; }
Property Value
Type Description
TimeSpan?
| Edit this page View Source

Royalties

The list of royalties applied to transactions when transferring this asset. If a royalty endorsement is not supplied upon creation, the royalties are immutable after creation.

Declaration
public IReadOnlyList<IRoyalty>? Royalties { get; set; }
Property Value
Type Description
IReadOnlyList<IRoyalty>
| Edit this page View Source

RoyaltiesEndorsement

Administrator key for signing transactions updating the royalty (custom transfer fees) associated with this NFT.

Declaration
public Endorsement? RoyaltiesEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

Signatory

Additional private key, keys or signing callback method required to create this asset. Typically matches the Administrator, GrantKycEndorsement, SuspendEndorsement and other listed endorsements associated with this asset.

Declaration
public Signatory? Signatory { get; set; }
Property Value
Type Description
Signatory
Remarks

Keys/callbacks added here will be combined with those already identified in the client object's context when signing this transaction to create this NFT token type.

| Edit this page View Source

SupplyEndorsement

Administrator key for signing transactions for minting or unminting NFTs in the treasury account.

Declaration
public Endorsement? SupplyEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

SuspendEndorsement

Administrator key for signing transactions for freezing or unfreezing an account's ability to transfer assets.

Declaration
public Endorsement? SuspendEndorsement { get; set; }
Property Value
Type Description
Endorsement
| Edit this page View Source

Symbol

Symbol of the NFT class of tokens.

Declaration
public string Symbol { get; set; }
Property Value
Type Description
string
| Edit this page View Source

Treasury

The treasury account receiving NFTs when they are minted.

Declaration
public EntityId Treasury { get; set; }
Property Value
Type Description
EntityId
  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph