Dash Platform WASM JS SDK Documentation

Overview

The Dash Platform WASM JS SDK provides a WebAssembly-based interface for interacting with the Dash Platform from JavaScript and TypeScript applications. This documentation covers all available queries and state transitions.

Key Concepts

Note: All examples below can be run directly in your browser using the testnet. Click the "Run" button to execute any example.

Test Identity: All examples use the testnet identity 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
This is a known identity with activity on testnet that you can use for testing.

Queries

Identity Queries

Get Identity

Fetch an identity by its identifier

Parameters:
Identity ID text (required)
Example
return await window.wasmFunctions.identity_fetch(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk');

Get Identity Keys

Retrieve keys associated with an identity

Parameters:
Identity ID text (required)
Key Request Type select (optional)
Options: All Keys (AllKeys {}) - Get all keys for the identity, Specific Keys (SpecificKeys with key_ids) - Get specific keys by ID [🚧 Work in Progress], Search Keys (SearchKey with purpose_map) - Search by purpose and security level [🚧 Work in Progress]
Specific Key IDs (required for 'specific' type) array (optional)
Example: 0,1,2
Search Purpose Map JSON (required for 'search' type) text (optional)
Example: {"0": {"0": "current"}, "1": {"0": "all"}}
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Example
return await window.wasmFunctions.get_identity_keys(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'all', 10, 0);
Example 2 - Get Specific Keys
return await window.wasmFunctions.get_identity_keys(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'specific', [0, 1, 2]);
Example 3 - Search Keys by Purpose
return await window.wasmFunctions.get_identity_keys(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'search', undefined, '{"0": {"0": "current"}, "1": {"0": "current"}}');

Get Identities Contract Keys

Get keys for multiple identities related to a specific contract

Parameters:
Identity IDs array (required)
Contract ID text (required)
Document Type (optional) text (optional)
Key Purposes multiselect (optional)
Options: Authentication, Encryption, Decryption, Transfer, Voting
Example
return await window.wasmFunctions.get_identities_contract_keys(sdk, ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain');

Get Identity Nonce

Get the current nonce for an identity

Parameters:
Identity ID text (required)
Example
return await window.wasmFunctions.get_identity_nonce(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk');

Get Identity Contract Nonce

Get the nonce for an identity in relation to a specific contract

Parameters:
Identity ID text (required)
Contract ID text (required)
Example
return await window.wasmFunctions.get_identity_contract_nonce(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec');

Get Identity Balance

Get the credit balance of an identity

Parameters:
Identity ID text (required)
Example
return await window.wasmFunctions.get_identity_balance(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk');

Get Identities Balances

Get balances for multiple identities

Parameters:
Identity IDs array (required)
Example
return await window.wasmFunctions.get_identities_balances(sdk, ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk']);

Get Identity Balance and Revision

Get both balance and revision number for an identity

Parameters:
Identity ID text (required)
Example
return await window.wasmFunctions.get_identity_balance_and_revision(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk');

Get Identity by Unique Public Key Hash

Find an identity by its unique public key hash

Parameters:
Public Key Hash text (required)
Example: b7e904ce25ed97594e72f7af0e66f298031c1754
Example
return await window.wasmFunctions.get_identity_by_public_key_hash(sdk, 'b7e904ce25ed97594e72f7af0e66f298031c1754');

Get Identity by Non-Unique Public Key Hash

Find identities by non-unique public key hash

Parameters:
Public Key Hash text (required)
Example: 518038dc858461bcee90478fd994bba8057b7531
Start After text (optional)
Example
return await window.wasmFunctions.get_identity_by_non_unique_public_key_hash(sdk, '518038dc858461bcee90478fd994bba8057b7531', null);

Get Identity Token Balances

Get token balances for an identity

Parameters:
Identity ID text (required)
Token IDs array (required)
Example
return await window.wasmFunctions.get_identity_token_balances(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', ['Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv']);

Get Identities Token Balances

Get token balance for multiple identities

Parameters:
Identity IDs array (required)
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
return await window.wasmFunctions.get_identities_token_balances(sdk, ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv');

Get Identity Token Info

Get token information for an identity's tokens

Parameters:
Identity ID text (required)
Token IDs (optional) array (optional)
Example: ["Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv"]
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Example
return await window.wasmFunctions.get_identity_token_infos(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', ['Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv'], 10, 0);

Get Identities Token Info

Get token information for multiple identities with a specific token

Parameters:
Identity IDs array (required)
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
return await window.wasmFunctions.get_identities_token_infos(sdk, ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv');

Data Contract Queries

Get Data Contract

Fetch a data contract by its identifier

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Example
return await window.wasmFunctions.data_contract_fetch(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec');

Get Data Contract History

Get the version history of a data contract

Parameters:
Data Contract ID text (required)
Example: HLY575cNazmc5824FxqaEMEBuzFeE4a98GDRNKbyJqCM
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Start At Timestamp (ms) number (optional)
Example
return await window.wasmFunctions.get_data_contract_history(sdk, 'HLY575cNazmc5824FxqaEMEBuzFeE4a98GDRNKbyJqCM', 10, 0, '0');

Get Data Contracts

Fetch multiple data contracts by their identifiers

Parameters:
Data Contract IDs array (required)
Example: ["GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec", "ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A"]
Example
return await window.wasmFunctions.get_data_contracts(sdk, ['GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A']);

Document Queries

Get Documents

Query documents from a data contract

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Document Type text (required)
Example: domain
Where Clause (JSON) text (optional)
Example: [["normalizedParentDomainName", "==", "dash"], ["normalizedLabel", "==", "therea1s11mshaddy5"]]
Order By (JSON) text (optional)
Example: [["$createdAt", "desc"]]
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Example
return await window.wasmFunctions.get_documents(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', JSON.stringify([["normalizedParentDomainName", "==", "dash"]]), JSON.stringify([["normalizedLabel", "asc"]]), 10);

Get Document

Fetch a specific document by ID

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Document Type text (required)
Example: domain
Document ID text (required)
Example: 7NYmEKQsYtniQRUmxwdPGeVcirMoPh5ZPyAKz8BWFy3r
Example
return await window.wasmFunctions.get_document(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', '7NYmEKQsYtniQRUmxwdPGeVcirMoPh5ZPyAKz8BWFy3r');

DPNS Queries

Get DPNS Usernames

Get DPNS usernames for an identity

Parameters:
Identity ID text (required)
Example
return await window.wasmFunctions.get_dpns_usernames(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk');

DPNS Check Availability

Check if a DPNS username is available

Parameters:
Label (Username) text (required)
Example
return await window.wasmFunctions.dpns_is_name_available(sdk, 'alice');

DPNS Resolve Name

Resolve a DPNS name to an identity ID

Parameters:
Name text (required)
Example
return await window.wasmFunctions.dpns_resolve_name(sdk, 'alice');

DPNS Search Name

Search for DPNS names that start with a given prefix

Parameters:
Name Prefix text (required)
Example: Enter prefix (e.g., ali)
Limit number (optional)
Example: Default: 10
Example
return await window.wasmFunctions.get_documents(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', JSON.stringify([["normalizedLabel", "startsWith", "ali"], ["normalizedParentDomainName", "==", "dash"]]), JSON.stringify([["normalizedLabel", "asc"]]), 10);

Voting & Contested Resources

Get Contested Resources

Get list of contested resources

Parameters:
Document Type text (required)
Data Contract ID text (required)
Index Name text (required)
Result Type text (required)
Allow Include Locked and Abstaining Vote Tally checkbox (optional)
Start At Value text (optional)
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_contested_resources(sdk, 'domain', 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'parentNameAndLabel', 'documents', null, null, 10, 0, true);

Get Contested Resource Vote State

Get the current vote state for a contested resource

Parameters:
Data Contract ID text (required)
Document Type text (required)
Index Name text (required)
Index Values array (required)
Example: ["dash", "alice"]
Result Type text (required)
Allow Include Locked and Abstaining Vote Tally checkbox (optional)
Start At Identifier Info text (optional)
Count number (optional)
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_contested_resource_vote_state(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', 'parentNameAndLabel', ['dash', 'alice'], 'documents', null, null, 100, true);

Get Contested Resource Voters for Identity

Get voters who voted for a specific identity in a contested resource

Parameters:
Contract ID text (required)
Document Type text (required)
Index Name text (required)
Index Values array (required)
Example: ["dash", "alice"]
Contestant Identity ID text (required)
Start At Identifier Info text (optional)
Count number (optional)
Example: Default: 100
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_contested_resource_voters_for_identity(sdk, 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', 'parentNameAndLabel', ['dash', 'alice'], '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', null, 100, true);
🚧 Work in Progress

Get Contested Resource Identity Votes

Get all votes cast by a specific identity

Parameters:
Identity ID text (required)
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_contested_resource_identity_votes(sdk, '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 10, 0, true);

Get Vote Polls by End Date

Get vote polls within a time range

Parameters:
Start Time (ms) number (optional)
Example: Timestamp in milliseconds as string (e.g., 1650000000000)
End Time (ms) number (optional)
Example: Timestamp in milliseconds as string (e.g., 1650086400000)
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Offset number (optional)
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_vote_polls_by_end_date(sdk, Date.now() - 86400000, Date.now(), 10, 0, true);

Protocol & Version

Get Protocol Version Upgrade State

Get the current state of protocol version upgrades

Parameters:

No parameters required

Example
return await window.wasmFunctions.get_protocol_version_upgrade_state(sdk);

Get Protocol Version Upgrade Vote Status

Get voting status for protocol version upgrades

Parameters:
Start ProTx Hash text (required)
Example: 143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113
Count number (required)
Example
return await window.wasmFunctions.get_protocol_version_upgrade_vote_status(sdk, '143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113', 100);

Epoch & Block

Get Epochs Info

Get information about epochs

Parameters:
Start Epoch number (required)
Count number (required)
Ascending Order checkbox (optional)
Example
return await window.wasmFunctions.get_epochs_info(sdk, 8635, 100, true);

Get Current Epoch

Get information about the current epoch

Parameters:

No parameters required

Example
return await window.wasmFunctions.get_current_epoch(sdk);

Get Finalized Epoch Info

Get information about finalized epochs

Parameters:
Start Epoch number (required)
Count number (required)
Ascending Order checkbox (optional)
Example
return await window.wasmFunctions.get_finalized_epoch_infos(sdk, 8635, 100, true);

Get Evonodes Proposed Epoch Blocks by IDs

Get proposed blocks by evonode IDs

Parameters:
Epoch number (required)
ProTx Hashes array (required)
Example: ["143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113"]
Example
return await window.wasmFunctions.get_evonodes_proposed_epoch_blocks_by_ids(sdk, 8635, ['143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113']);

Get Evonodes Proposed Epoch Blocks by Range

Get proposed blocks by range

Parameters:
Epoch number (required)
Limit number (optional)
Default: 100 (maximum items returned if not specified)
Start After (Evonode ID) text (optional)
Example: 143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113
Order Ascending checkbox (optional)
Example
return await window.wasmFunctions.get_evonodes_proposed_epoch_blocks_by_range(sdk, 8635, 10, null, true);

Token Queries

Get Token Statuses

Get token statuses

Parameters:
Token IDs array (required)
Example
return await window.wasmFunctions.get_token_statuses(sdk, ['Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv', 'H7FRpZJqZK933r9CzZMsCuf1BM34NT5P2wSJyjDkprqy']);

Get Token Direct Purchase Prices

Get direct purchase prices for tokens

Parameters:
Token IDs array (required)
Example
return await window.wasmFunctions.get_token_direct_purchase_prices(sdk, ['H7FRpZJqZK933r9CzZMsCuf1BM34NT5P2wSJyjDkprqy']);

Get Token Contract Info

Get information about a token contract

Parameters:
Data Contract ID text (required)
Example: EETVvWgohFDKtbB3ejEzBcDRMNYkc9TtgXY6y8hzP3Ta
Example
return await window.wasmFunctions.get_token_contract_info(sdk, 'EETVvWgohFDKtbB3ejEzBcDRMNYkc9TtgXY6y8hzP3Ta');

Get Token Perpetual Distribution Last Claim

Get last claim information for perpetual distribution

Parameters:
Identity ID text (required)
Token ID text (required)
Example
return await window.wasmFunctions.get_token_perpetual_distribution_last_claim(sdk, '5RG84o6KsTaZudDqS8ytbaRB8QP4YYQ2uwzb6Hj8cfjX', 'HEv1AYWQfwCffXQgmuzmzyzUo9untRTmVr67n4e4PSWa');

Get Token Total Supply

Get total supply of a token

Parameters:
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
return await window.wasmFunctions.get_token_total_supply(sdk, 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv');

Group Queries

Get Group Info

Get information about a group

Parameters:
Contract ID text (required)
Group Contract Position number (required)
Example
return await window.wasmFunctions.get_group_info(sdk, '49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0);

Get Group Infos

Get information about multiple groups

Parameters:
Contract ID text (required)
Start at Position number (optional)
Include Start Position checkbox (optional)
Count number (optional)
Example
return await window.wasmFunctions.get_group_infos(sdk, '49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', null, 100);

Get Group Actions

Get actions for a group

Parameters:
Contract ID text (required)
Group Contract Position number (required)
Status select (required)
Options: Active, Closed
Start Action ID text (optional)
Include Start Action checkbox (optional)
Count number (optional)
Example
return await window.wasmFunctions.get_group_actions(sdk, '49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0, 'ACTIVE', null, 100);

Get Group Action Signers

Get signers for a group action

Parameters:
Contract ID text (required)
Group Contract Position number (required)
Status select (required)
Options: Active, Closed
Action ID text (required)
Example
return await window.wasmFunctions.get_group_action_signers(sdk, '49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0, 'ACTIVE', '6XJzL6Qb8Zhwxt4HFwh8NAn7q1u4dwdoUf8EmgzDudFZ');

System & Utility

Get Status

Get system status

Parameters:

No parameters required

Example
return await window.wasmFunctions.get_status(sdk);

Get Current Quorums Info

Get information about current quorums

Parameters:

No parameters required

Example
return await window.wasmFunctions.get_current_quorums_info(sdk);

Get Prefunded Specialized Balance

Get prefunded specialized balance

Parameters:
Specialized Balance ID text (required)
Example: AzaU7zqCT7X1kxh8yWxkT9PxAgNqWDu4Gz13emwcRyAT
Example
return await window.wasmFunctions.get_prefunded_specialized_balance(sdk, 'AzaU7zqCT7X1kxh8yWxkT9PxAgNqWDu4Gz13emwcRyAT');

Get Total Credits in Platform

Get total credits in the platform

Parameters:

No parameters required

Example
return await window.wasmFunctions.get_total_credits_in_platform(sdk);

Get Path Elements

Access any data in the Dash Platform state tree. This low-level query allows direct access to GroveDB storage by specifying a path through the tree structure and keys to retrieve at that path. Common paths include: Identities (32), Tokens (96), DataContractDocuments (64), Balances (16), Votes (80), and more.

Parameters:
Path array (required)
Keys array (required)
Example
return await window.wasmFunctions.get_path_elements(sdk, ['96'], ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk']);
🚧 Work in Progress
Common Path Values:
Path ValueDescription
64Data Contract Documents
32Identities
24Unique Public Key Hashes to Identities
8Non-Unique Public Key Hashes to Identities
16Tokens
48Pools
40Prefunded Specialized Balances
72Spent Asset Lock Transactions
80Withdrawal Transactions
88Group Actions
96Balances
104Misc
112Votes
120Versions
Example Paths:
  • [32, identity_id] - Access identity data
  • [96, identity_id] - Access identity balance
  • [16, contract_id, token_id] - Access token info
  • [64, contract_id, 1, document_type] - Access documents by type
  • [88, contract_id, group_position] - Access group actions
  • [112] - Access votes tree

Wait for State Transition Result

Internal query to wait for and retrieve the result of a previously submitted state transition

Parameters:
State Transition Hash text (required)
Example
return await window.wasmFunctions.wait_for_state_transition_result(sdk, '0000000000000000000000000000000000000000000000000000000000000000');

This is an internal query used to wait for and retrieve the result of a previously submitted state transition. It requires a valid state transition hash from a prior operation.

State Transitions

Identity Transitions

Identity Create

Create a new identity with initial credits

Parameters:
Asset Lock Proof string (required)
Hex-encoded JSON asset lock proof
Asset Lock Proof Private Key string (required)
WIF format private key
Public Keys string (required)
JSON array of public keys
Example
// Asset lock proof is a hex-encoded JSON object const assetLockProof = "a9147d3b... (hex-encoded)"; const assetLockProofPrivateKey = "XFfpaSbZq52HPy3WWwe1dXsZMiU1bQn8vQd34HNXkSZThevBWRn1"; // WIF format // Public keys array with proper key types const publicKeys = JSON.stringify([ { id: 0, type: 0, // ECDSA_SECP256K1 = 0, BLS12_381 = 1, ECDSA_HASH160 = 2 purpose: 0, // AUTHENTICATION = 0, ENCRYPTION = 1, DECRYPTION = 2, TRANSFER = 3, etc. securityLevel: 0, // MASTER = 0, CRITICAL = 1, HIGH = 2, MEDIUM = 3 data: "A5GzYHPIolbHkFrp5l+s9IvF2lWMuuuSu3oWZB8vWHNJ", // Base64-encoded public key readOnly: false }, { id: 1, type: 0, purpose: 0, securityLevel: 2, data: "AnotherBase64EncodedPublicKeyHere", // Base64-encoded public key readOnly: false } ]); const result = await sdk.identityCreate(assetLockProof, assetLockProofPrivateKey, publicKeys);

Identity Top Up

Add credits to an existing identity

Parameters:
Identity ID string (required)
Base58 format identity ID
Asset Lock Proof string (required)
Hex-encoded JSON asset lock proof
Asset Lock Proof Private Key string (required)
WIF format private key
Example
const identityId = "5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"; // base58 const assetLockProof = "a9147d3b... (hex-encoded)"; const assetLockProofPrivateKey = "XFfpaSbZq52HPy3WWve1dXsZMiU1bQn8vQd34HNXkSZThevBWRn1"; // WIF format const result = await sdk.identityTopUp(identityId, assetLockProof, assetLockProofPrivateKey);

Identity Update

Update identity keys (add or disable)

Parameters:
Keys to Add (JSON array) textarea (optional)
Example: [{"keyType":"ECDSA_HASH160","purpose":"AUTHENTICATION","data":"base64_key_data"}]
Key IDs to Disable (comma-separated) text (optional)
Example: 2,3,5
Example
const result = await sdk.identityUpdate(identityHex, /* params */, privateKeyHex);

Identity Credit Transfer

Transfer credits between identities

Parameters:
Recipient Identity ID text (required)
Amount (credits) number (required)
Example
const result = await sdk.identityCreditTransfer(identityHex, /* params */, privateKeyHex);

Identity Credit Withdrawal

Withdraw credits from identity to Dash address

Parameters:
Dash Address text (required)
Amount (credits) number (required)
Core Fee Per Byte (optional) number (optional)
Example
const result = await sdk.identityCreditWithdrawal(identityHex, /* params */, privateKeyHex);

Data Contract Transitions

Data Contract Create

Create a new data contract

Parameters:
Can Be Deleted checkbox (optional)
Read Only checkbox (optional)
Keeps History checkbox (optional)
Documents Keep History (Default) checkbox (optional)
Documents Mutable (Default) checkbox (optional)
Documents Can Be Deleted (Default) checkbox (optional)
Requires Identity Encryption Key (optional) text (optional)
Requires Identity Decryption Key (optional) text (optional)
Document Schemas JSON json (required)
Example: { "note": { "type": "object", "properties": { "message": { "type": "string", "maxLength": 100, "position": 0 } }, "required": ["message"], "additionalProperties": false } }
Groups (optional) json (optional)
Example: {}
Tokens (optional) json (optional)
Example: {}
Keywords (comma separated, optional) text (optional)
Description (optional) text (optional)
Example
const result = await sdk.dataContractCreate(identityHex, /* params */, privateKeyHex);

Data Contract Update

Add document types, groups, or tokens to an existing data contract

Parameters:
Data Contract ID text (required)
New Document Schemas to Add (optional) json (optional)
Example: { "newType": { "type": "object", "properties": { "field": { "type": "string", "maxLength": 100, "position": 0 } }, "required": ["field"], "additionalProperties": false } }
New Groups to Add (optional) json (optional)
Example: {}
New Tokens to Add (optional) json (optional)
Example: {}
Example
const result = await sdk.dataContractUpdate(identityHex, /* params */, privateKeyHex);

Document Transitions

Document Create

Create a new document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Fetch Schema button (optional)
Document Fields dynamic (optional)
Example
const result = await sdk.document_create( identityHex, contractId, "note", JSON.stringify({ message: "Hello!" }), privateKeyHex );

Document Replace

Replace an existing document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Load Document button (optional)
Document Fields dynamic (optional)
Example
const result = await sdk.documentReplace(identityHex, /* params */, privateKeyHex);

Document Delete

Delete an existing document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Example
const result = await sdk.documentDelete(identityHex, /* params */, privateKeyHex);

Document Transfer

Transfer document ownership

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Recipient Identity ID text (required)
Example
const result = await sdk.documentTransfer(identityHex, /* params */, privateKeyHex);

Document Purchase

Purchase a document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Price (credits) number (required)
Example
const result = await sdk.documentPurchase(identityHex, /* params */, privateKeyHex);

Document Set Price

Set or update document price

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Price (credits, 0 to remove) number (required)
Example
const result = await sdk.documentSetPrice(identityHex, /* params */, privateKeyHex);

DPNS Register Name

Register a new DPNS username

Parameters:
Username text (required)
Example: Enter username (e.g., alice)
Example
const result = await sdk.dpnsRegister(identityHex, /* params */, privateKeyHex);

Token Transitions

Token Burn

Burn tokens

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Amount to Burn text (required)
Public Note text (optional)
Example
const result = await sdk.tokenBurn(identityHex, /* params */, privateKeyHex);

Token Mint

Mint new tokens

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Amount to Mint text (required)
Issue To Identity ID text (optional)
Public Note text (optional)
Example
const result = await sdk.tokenMint(identityHex, /* params */, privateKeyHex);

Token Claim

Claim tokens from a distribution

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Distribution Type select (required)
Options: Perpetual, Pre-programmed
Public Note text (optional)
Example
const result = await sdk.tokenClaim(identityHex, /* params */, privateKeyHex);

Token Set Price

Set or update the price for direct token purchases

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Price Type select (required)
Options: Single Price, Tiered Pricing
Price Data (single price or JSON map) text (optional)
Example: Leave empty to remove pricing
Public Note text (optional)
Example
const result = await sdk.tokenSetPriceForDirectPurchase(identityHex, /* params */, privateKeyHex);

Token Direct Purchase

Purchase tokens directly at the configured price

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Amount to Purchase text (required)
Total Agreed Price (in credits) - Optional, fetches from pricing schedule if not provided text (optional)
Key ID (for signing) number (required)
Example
const result = await sdk.tokenDirectPurchase(identityHex, /* params */, privateKeyHex);

Token Config Update

Update token configuration settings

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Config Item Type select (required)
Options: Conventions, Max Supply, Perpetual Distribution, New Tokens Destination Identity, Minting Allow Choosing Destination, Manual Minting, Manual Burning, Conventions Control Group, Conventions Admin Group, Max Supply Control Group, Max Supply Admin Group
Config Value (JSON or specific value) text (required)
Public Note text (optional)
Example
const result = await sdk.tokenConfigUpdate(identityHex, /* params */, privateKeyHex);

Token Transfer

Transfer tokens between identities

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Amount to Transfer text (required)
Recipient Identity ID text (required)
Public Note text (optional)
Example
const result = await sdk.token_transfer( identityHex, contractId, tokenId, 1000000, // amount recipientId, privateKeyHex );

Token Freeze

Freeze tokens for a specific identity

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Identity ID to Freeze text (required)
Public Note text (optional)
Example
const result = await sdk.tokenFreeze(identityHex, /* params */, privateKeyHex);

Token Unfreeze

Unfreeze tokens for a specific identity

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Identity ID to Unfreeze text (required)
Public Note text (optional)
Example
const result = await sdk.tokenUnfreeze(identityHex, /* params */, privateKeyHex);

Token Destroy Frozen

Destroy frozen tokens

Parameters:
Data Contract ID text (required)
Token Contract Position number (required)
Identity ID whose frozen tokens to destroy text (required)
Public Note text (optional)
Example
const result = await sdk.tokenDestroyFrozen(identityHex, /* params */, privateKeyHex);

Voting Transitions

DPNS Username

Cast a vote for a contested DPNS username

Parameters:
Contested Username text (required)
Example: Enter the contested username (e.g., 'myusername')
Vote Choice select (required)
Options: Abstain, Lock (Give to no one), Vote for Identity
Target Identity ID (if voting for identity) text (optional)
Example: Identity ID to vote for
Example
const result = await sdk.dpnsUsername(identityHex, /* params */, privateKeyHex);

Contested Resource

Cast a vote for contested resources as a masternode

Parameters:
Data Contract ID text (required)
Example: Contract ID containing the contested resource
Get Contested Resources button (optional)
Contested Resources dynamic (optional)
Vote Choice select (required)
Options: Abstain, Lock (Give to no one), Vote for Identity
Target Identity ID (if voting for identity) text (optional)
Example: Identity ID to vote for
Example
const result = await sdk.masternodeVote(identityHex, /* params */, privateKeyHex);
↑ Top