Create

Text inscriptions

Inscribe general texts and content on Kaspa.

Typescript example

const data = "abc";
const buf = Buffer.from(data);
const script = new ScriptBuilder()
  .addData(XOnlyPublicKey.fromAddress(account).toString())
  .addOp(Opcodes.OpCheckSig)
  .addOp(Opcodes.OpFalse)
  .addOp(Opcodes.OpIf)
  .addData(Buffer.from("kns"))
  .addI64(0n)
  .addData(buf)
  .addOp(Opcodes.OpEndIf);

Domain inscriptions

Create domains on Kaspa.

Standard

Domains follow the same standard as ENSarrow-up-right

We use the ENS libraryarrow-up-right to normalize the domain name.

Any characters outside this standard will not be verified.

Rules

  • Price is calculated based on the visual character length of the domain. See here

    • For example: '🏳️‍🌈' has a visual character length of 1

    • We use graphemerarrow-up-right to calculate the character length

  • Domains are registered in a first-come, first-serve basis

  • Fees have to be paid to the KNS receiving address in output 0 of the reveal transaction

    • Testnet 10 payment address: kaspatest:qq9h47etjv6x8jgcla0ecnp8mgrkfxm70ch3k60es5a50ypsf4h6sak3g0lru

    • Mainnet: kaspa:qyp4nvaq3pdq7609z09fvdgwtc9c7rg07fuw5zgeee7xpr085de59eseqfcmynn

  • JSON format

    key
    required
    description

    op

    yes

    operation. "create"

    v

    yes

    inscription value. length has to be greater than 1.

    p

    yes

    protocol. "domain"

    s

    no

    the top level domain, defaults to kas, currently only supports kas

Pricing

  • Mainnet (price in kaspa). char indicates character length of the string

    1 char
    2 char
    3 char
    4 char
    5 char

    Price

    4200

    4200

    2100

    525

    35

Typescript example

This would create a example.kas domain

Inscriptions of other mimeTypes

  • hex string of the file data

Typescript example

Last updated