Skip to content

kaspeak-sdk


kaspeak-sdk / Kaspeak

Class: Kaspeak

Defined in: sdk/kaspeak.ts:42

Accessors

address

Get Signature

get address(): string

Defined in: sdk/kaspeak.ts:270

Returns

string


balance

Get Signature

get balance(): number

Defined in: sdk/kaspeak.ts:278

Returns

number


isConnected

Get Signature

get isConnected(): boolean

Defined in: sdk/kaspeak.ts:241

Returns

boolean


kaspaWasm

Get Signature

get kaspaWasm(): __module

Defined in: sdk/kaspeak.ts:286

Returns

__module


kaspaWasmEventBus

Get Signature

get kaspaWasmEventBus(): EventBus\<KaspaWasmEvents>

Defined in: sdk/kaspeak.ts:290

Returns

EventBus\<KaspaWasmEvents>


publicKey

Get Signature

get publicKey(): string

Defined in: sdk/kaspeak.ts:274

Returns

string


rpcClient

Get Signature

get rpcClient(): RpcClient

Defined in: sdk/kaspeak.ts:297

Returns

RpcClient


utxoContext

Get Signature

get utxoContext(): UtxoContext

Defined in: sdk/kaspeak.ts:300

Returns

UtxoContext


utxoCount

Get Signature

get utxoCount(): number

Defined in: sdk/kaspeak.ts:282

Returns

number


utxoProcessor

Get Signature

get utxoProcessor(): UtxoProcessor

Defined in: sdk/kaspeak.ts:294

Returns

UtxoProcessor

Methods

~~connect()~~

connect(url?): Promise\<void>

Defined in: sdk/kaspeak.ts:237

Parameters

url?

string

Returns

Promise\<void>

Deprecated

This method is deprecated. Use connectNode(url) instead.


connectIndexer()

connectIndexer(url?): void

Defined in: sdk/kaspeak.ts:586

Parameters

url?

string

Returns

void


connectNode()

connectNode(url?): Promise\<void>

Defined in: sdk/kaspeak.ts:204

Parameters

url?

string

Returns

Promise\<void>


createPayload()

createPayload(outpointIds, messageCtor, identifier, data): Promise\<string>

Defined in: sdk/kaspeak.ts:406

Parameters

outpointIds

string

messageCtor

MessageClass

identifier

Identifier | SecretIdentifier

data

Uint8Array

Returns

Promise\<string>


createTransaction()

createTransaction(dataLength, recipients?): Promise\<Transaction>

Defined in: sdk/kaspeak.ts:453

Drafts an unsigned “send-to-self” transaction sized for a Kaspeak payload.

The SDK adds its fixed HEADER_SIZE to the supplied dataLength to reserve enough bytes in the payload field. Fee bucket is taken from #feeLevel, plus any extra tip in #priorityFeeSompi.

Parameters

dataLength

number

– Length of the encoded message body; used to calculate the required payload capacity.

recipients?

PaymentOutput[]

Array of objects { address, amountKas }, where amountKas is a number or string in KAS.

Returns

Promise\<Transaction>

Unsigned Transaction ready to be filled and signed.


decode()

decode\<T>(header, data, key?): Promise\<T>

Defined in: sdk/kaspeak.ts:345

Reconstruct a typed message from raw payload bytes. On any failure an UnknownMessage is returned

Type Parameters

T

T extends BaseMessage

Parameters

MessageHeader

– Parsed MessageHeader of the payload.

data

Uint8Array

– Raw bytes from the blockdag.

key?

Uint8Array\<ArrayBufferLike>

– Shared secret for decryption when required.

Returns

Promise\<T>

Concrete message instance or UnknownMessage.

Throws

Error if decryption is required but no key is provided.


deriveConversationKeys()

deriveConversationKeys(publicKey): ConversationKeys

Defined in: sdk/kaspeak.ts:383

Parameters

publicKey

string | Uint8Array\<ArrayBufferLike> | Point

Returns

ConversationKeys


encode()

encode(message, key?): Promise\<Uint8Array\<ArrayBufferLike>>

Defined in: sdk/kaspeak.ts:331

Turn a BaseMessage instance into bytes ready for the wire.

Pass key only when message.requiresEncryption is true; otherwise it is silently ignored.

Parameters

message

BaseMessage

– Message instance to encode.

key?

Uint8Array\<ArrayBufferLike>

– Shared secret for encryption (optional).

Returns

Promise\<Uint8Array\<ArrayBufferLike>>

Compressed (and maybe encrypted) byte buffer.

Throws

Error if encryption is required but no key is provided.


getAddressFromPublicKey()

getAddressFromPublicKey(publicKey): string

Defined in: sdk/kaspeak.ts:396

Parameters

publicKey

string | Uint8Array\<ArrayBufferLike> | PublicKey

Returns

string


getBalance()

getBalance(address?): Promise\<Balance>

Defined in: sdk/kaspeak.ts:256

Fetch the current balance and UTXO count.

If address is omitted the request is made for the SDK’s own wallet address and the internal sdk.balance / sdk.utxoCount caches are updated. The value is reported in KAS (not sompi).

Parameters

address?

string

– Optional Kaspa address to query.

Returns

Promise\<Balance>

{ balance, utxoCount }

Throws

Error when the node is disconnected


getOutpointIds()

getOutpointIds(tx): string

Defined in: sdk/kaspeak.ts:430

Parameters

tx

Transaction | ITransaction

Returns

string


getXPointFromAddress()

getXPointFromAddress(address): string

Defined in: sdk/kaspeak.ts:400

Parameters

address

string | Address

Returns

string


indexerRequest()

Call Signature

indexerRequest(request, parsed?): Promise\<QueryResponse>

Defined in: sdk/kaspeak.ts:603

Parameters
request

QueryRequest

parsed?

false

Returns

Promise\<QueryResponse>

Call Signature

indexerRequest(request, parsed): Promise\<MessageEvent[]>

Defined in: sdk/kaspeak.ts:604

Parameters
request

QueryRequest

parsed

true

Returns

Promise\<MessageEvent[]>


indexerSend()

indexerSend(request): void

Defined in: sdk/kaspeak.ts:597

Parameters

request

QueryRequest

Returns

void


off()

off\<E>(event, listener): void

Defined in: sdk/kaspeak.ts:310

Type Parameters

E

E extends keyof KaspeakEvents

Parameters

event

E

listener

(data) => void

Returns

void


on()

on\<E>(event, listener): void

Defined in: sdk/kaspeak.ts:306

Type Parameters

E

E extends keyof KaspeakEvents

Parameters

event

E

listener

(data) => void

Returns

void


once()

once\<E>(event, listener): void

Defined in: sdk/kaspeak.ts:314

Type Parameters

E

E extends keyof KaspeakEvents

Parameters

event

E

listener

(data) => void

Returns

void


parsePayload()

parsePayload(data): Payload

Defined in: sdk/kaspeak.ts:426

Parameters

data

string | Uint8Array\<ArrayBufferLike>

Returns

Payload


registerMessage()

registerMessage(message, worker?): void

Defined in: sdk/kaspeak.ts:363

Register a custom message type and its optional worker callback.

Every inbound payload whose type equals ctor.messageType (0-65535) is instantiated with new ctor(). If worker is supplied it is invoked asynchronously for each such message. Re-registering the same messageType overrides the previous entry

Parameters

message

MessageClass

– Class extending BaseMessage.

worker?

WorkerFn

– Optional handler for the raw payload.

Returns

void


sendTransaction()

sendTransaction(transaction, payload?): Promise\<string>

Defined in: sdk/kaspeak.ts:469

Fills, signs and broadcasts the prepared transaction.

transaction must come from createTransaction; payload is the hex string built by createPayload.

Parameters

transaction

Transaction

– Unsigned transaction.

payload?

string

– Hex-encoded Kaspeak payload to embed.

Returns

Promise\<string>

The resulting transaction ID.


setFeeLevel()

setFeeLevel(level): void

Defined in: sdk/kaspeak.ts:147

Enable dynamic fee selection based on current network load.

Three buckets are available: • "priority" — sub-second inclusion (default)"normal" — inclusion within about a minute • "low" — inclusion within roughly an hour

Call setPriorityFee only if you need to add a fixed extra tip on top of the chosen bucket.

Parameters

level

FeeLevel

"low", "normal" or "priority".

Returns

void


setPrefixFilterEnabled()

setPrefixFilterEnabled(enabled): void

Defined in: sdk/kaspeak.ts:117

Enable or disable prefix filtering.

When true (default) the SDK accepts only messages whose 4-byte prefix matches the one supplied at Kaspeak.create. Set to false if you need to watch traffic from several Kaspeak-based apps on the same node.

Parameters

enabled

boolean

true to keep the filter on, false to turn it off.

Returns

void


setPriorityFee()

setPriorityFee(feeKAS): void

Defined in: sdk/kaspeak.ts:158

Sets the priority fee in KAS (NOT SOMPI!) for transactions. The fee is converted to sompi (1 KAS = 1e8 sompi).

Parameters

feeKAS

number

The priority fee in KAS.

Returns

void

Throws

Error if the fee is negative.


setSignatureVerificationEnabled()

setSignatureVerificationEnabled(enabled): void

Defined in: sdk/kaspeak.ts:130

Toggle Schnorr-signature verification for incoming payloads.

Verification (true) guarantees authenticity but costs CPU; skipping it (false) boosts throughput at the expense of trust. Choose according to your threat model.

Parameters

enabled

boolean

true to verify every payload, false to skip checks.

Returns

void


setTransactionMaturityDAA()

setTransactionMaturityDAA(maturityDAA): void

Defined in: sdk/kaspeak.ts:186

Parameters

maturityDAA

bigint

Returns

void


setWaitForConnectionEnabled()

setWaitForConnectionEnabled(enabled): void

Defined in: sdk/kaspeak.ts:182

Toggle automatic waiting for an RPC connection.

When enabled (true), network-dependent methods such as getBalance, createTransaction and sendTransaction will silently await the internal “connect” event instead of throwing Error: Node is not connected. Call connect() first.

Disabled (false, default) keeps the SDK in strict fail-fast mode, making connectivity issues explicit.

Parameters

enabled

boolean

true to wait for the connection, false to throw immediately.

Returns

void


transferFunds()

transferFunds(recipients): Promise\<string>

Defined in: sdk/kaspeak.ts:495

Sends an amount of KAS to one or several addresses.

To send messages, use: createTransaction → createPayload → sendTransaction.

Parameters

recipients

PaymentOutput[]

Array of objects { address, amountKas }, where amountKas is a number or string in KAS.

Returns

Promise\<string>

Promise — tx-id of the created transaction.

Errors: — invalid amount (cannot be converted to sompi); — no node connection (if auto-wait is disabled).

Example

1
2
3
4
const txid = await sdk.transferFunds([
  { address: "kaspa:qz7vr…", amountKas: 2 },
  { address: "kaspa:qp3jc…", amountKas: "0.3" }
]);

create()

static create(privateKey, prefix, networkId): Promise\<Kaspeak>

Defined in: sdk/kaspeak.ts:88

Parameters

privateKey

string | number | bigint | Uint8Array\<ArrayBufferLike>

prefix

string = "TEST"

networkId

NetworkId = DEFAULT_NETWORK_ID

Returns

Promise\<Kaspeak>