Dash Platform Evo JS SDK Documentation

Overview

The Dash Platform Evo JS SDK exposes a modern JavaScript interface for interacting with platform data and submitting state transitions. This documentation mirrors the legacy layout so you can quickly find queries and transitions while using the Evo SDK.

Key Concepts

Tip: Examples below execute against Dash Platform Testnet via the Evo SDK client. Click "Run" to invoke any example.

Test Identity: Examples use the testnet identity 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
This identity has activity on testnet and is safe to use for read-only demonstrations.

Queries

Identity Queries

Get Identity

Fetch an identity by its identifier.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.identities.fetch('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

Get Identity (Unproved)

Fetch an identity without requesting cryptographic proofs.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.identities.fetchUnproved('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

Get Identity Keys

Retrieve public keys for an identity, including support for specific key IDs or purpose searches.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Key Request Type select (required)
Options: All Keys, Specific Key IDs, Search by Purpose Map
Specific Key IDs array (optional)
Example: [0,1,2]
Search Purpose Map json (optional)
Example: {"0": {"0": "current"}, "1": {"0": "all"}}
Limit number (optional)
Offset number (optional)
Example
// Evo SDK example return await sdk.identities.getKeys({ identityId: '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', keyRequestType: 'all', limit: 10, offset: 0 })

Get Contract Keys for Identities

Fetch contract-specific keys for one or more identities.

Parameters:
Identity IDs array (required)
Example: ["5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"]
Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Key Purposes multiselect (optional)
Options: Authentication (0), Encryption (1), Decryption (2), Transfer (3), Voting (5)
Example
// Evo SDK example return await sdk.identities.contractKeys({ identityIds: ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], contractId: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec' })

Get Identity Nonce

Retrieve the global nonce associated with an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.identities.nonce('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

Get Identity Contract Nonce

Retrieve the per-contract nonce for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Example
// Evo SDK example return await sdk.identities.contractNonce('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec')

Get Identity Balance

Fetch the credit balance for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.identities.balance('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

Get Multiple Identity Balances

Fetch balances for multiple identities in a single request.

Parameters:
Identity IDs array (required)
Example: ["5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"]
Example
// Evo SDK example return await sdk.identities.balances(['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'])

Get Identity Balance & Revision

Retrieve both the balance and revision number for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.identities.balanceAndRevision('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

Get Identity by Unique Public Key Hash

Lookup an identity via its unique public key hash.

Parameters:
Public Key Hash text (required)
Example: b7e904ce25ed97594e72f7af0e66f298031c1754
Example
// Evo SDK example return await sdk.identities.byPublicKeyHash('b7e904ce25ed97594e72f7af0e66f298031c1754')

Get Identity by Non-Unique Public Key Hash

Lookup identities that match a non-unique public key hash.

Parameters:
Public Key Hash text (required)
Example: 518038dc858461bcee90478fd994bba8057b7531
Start After (Key ID) text (optional)
Example
// Evo SDK example return await sdk.identities.byNonUniquePublicKeyHash('518038dc858461bcee90478fd994bba8057b7531', { startAfter: null })

Get Identity Token Balances

Retrieve balances for a set of token IDs held by an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Token IDs array (required)
Example: ["Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv"]
Example
// Evo SDK example return await sdk.identities.tokenBalances('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', ['Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv'])

Get Token Balances for Identities

Fetch balances for multiple identities for a single token.

Parameters:
Identity IDs array (required)
Example: ["5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"]
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
// Evo SDK example return await sdk.tokens.balances(['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv')

Get Identity Token Info

Retrieve token metadata and balances for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Token IDs (optional) array (optional)
Example: ["Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv"]
Limit number (optional)
Offset number (optional)
Example
// Evo SDK example return await sdk.tokens.identityTokenInfos('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', ['Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv'], { limit: 10, offset: 0 })

Get Token Info for Identities

Retrieve token metadata for multiple identities for a single token.

Parameters:
Identity IDs array (required)
Example: ["5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"]
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
// Evo SDK example return await sdk.tokens.identitiesTokenInfos(['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'], 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv')

Data Contract Queries

Get Data Contract

Fetch a data contract by its identifier.

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Example
// Evo SDK example return await sdk.contracts.fetch('GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec')

Get Data Contract History

Retrieve the version history for a data contract.

Parameters:
Data Contract ID text (required)
Example: HLY575cNazmc5824FxqaEMEBuzFeE4a98GDRNKbyJqCM
Limit number (optional)
Start Timestamp (ms) number (optional)
Example
// Evo SDK example return await sdk.contracts.getHistory({ contractId: 'HLY575cNazmc5824FxqaEMEBuzFeE4a98GDRNKbyJqCM', limit: 10, startAtMs: '0' })

Get Data Contracts

Fetch multiple data contracts by their identifiers.

Parameters:
Data Contract IDs array (required)
Example: ["GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec","ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A"]
Example
// Evo SDK example return await sdk.contracts.getMany([ 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A' ])

Document Queries

Get Documents

Query documents from a data contract using optional filters.

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Document Type text (required)
Example: domain
Where Clause (JSON) json (optional)
Example: [["normalizedParentDomainName", "==", "dash"], ["normalizedLabel", "==", "therea1s11mshaddy5"]]
Order By (JSON) json (optional)
Example: [["$createdAt","desc"]]
Limit number (optional)
Start After text (optional)
Start At text (optional)
Example
// Evo SDK example return await sdk.documents.query({ contractId: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', type: 'domain', where: JSON.stringify([["normalizedParentDomainName", "==", "dash"]]), orderBy: JSON.stringify([["normalizedLabel", "asc"]]), limit: 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
// Evo SDK example return await sdk.documents.get( 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', 'domain', '7NYmEKQsYtniQRUmxwdPGeVcirMoPh5ZPyAKz8BWFy3r' )

DPNS Queries

Get Primary Username

Fetch the primary DPNS username for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Example
// Evo SDK example return await sdk.dpns.username('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk')

List Usernames for Identity

Fetch all DPNS usernames owned by an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Limit number (optional)
Example
// Evo SDK example return await sdk.dpns.usernames('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', { limit: 10 })

Get Username by Name

Fetch DPNS username details by full name.

Parameters:
Username text (required)
Example: alice.dash
Example
// Evo SDK example return await sdk.dpns.getUsernameByName('alice.dash')

Resolve DPNS Name

Resolve a DPNS name to its identity information.

Parameters:
DPNS Name text (required)
Example: alice.dash
Example
// Evo SDK example return await sdk.dpns.resolveName('alice.dash')

Check DPNS Availability

Check if a DPNS label is available for registration.

Parameters:
Label (Username) text (required)
Example: alice
Example
// Evo SDK example return await sdk.dpns.isNameAvailable('alice')

Convert to Homograph Safe

Convert a label to its homograph-safe representation.

Parameters:
Label text (required)
Example: ąlice
Example
// Evo SDK example return sdk.dpns.convertToHomographSafe('ąlice')

Validate Username

Validate whether a label conforms to DPNS username rules.

Parameters:
Label text (required)
Example: alice
Example
// Evo SDK example return sdk.dpns.isValidUsername('alice')

Is Contested Username

Check if a label is currently part of a contested DPNS registration.

Parameters:
Label text (required)
Example: alice
Example
// Evo SDK example return sdk.dpns.isContestedUsername('alice')

Voting & Contested Resources

Get Contested Resources

List contested resources for a document type and index.

Parameters:
Document Type text (required)
Example: domain
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Index Name text (required)
Start At Value text (optional)
Limit number (optional)
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.group.contestedResources({ contractId: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', documentTypeName: 'domain', indexName: 'parentNameAndLabel', startAtValue: null, limit: 10, orderAscending: true })

Get Contested Resource Vote State

Retrieve vote tallies for a contested resource.

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Document Type text (required)
Example: domain
Index Name text (required)
Index Values array (required)
Example: ["dash","alice"]
Result Type text (required)
Example: documents
Include Locked & Abstaining Tallies checkbox (optional)
Start At Identifier Info text (optional)
Count number (optional)
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.voting.contestedResourceVoteState({ contractId: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', documentTypeName: 'domain', indexName: 'parentNameAndLabel', indexValues: ['dash', 'alice'], resultType: 'documents', count: 10, orderAscending: true })

Get Voters for Identity

List voters that voted for a specific identity in a contested resource.

Parameters:
Data Contract ID text (required)
Example: GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec
Document Type text (required)
Example: domain
Index Name text (required)
Index Values array (required)
Example: ["dash","alice"]
Contestant Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Start At Voter Info text (optional)
Start At Identifier Info (Proof) text (optional)
Limit number (optional)
Count (Proof) number (optional)
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.group.contestedResourceVotersForIdentity({ contractId: 'GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec', documentTypeName: 'domain', indexName: 'parentNameAndLabel', indexValues: ['dash', 'alice'], contestantId: '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', limit: 10, orderAscending: true })

Get Identity Votes

Fetch contested resource votes submitted by a particular identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Limit number (optional)
Start At Vote Poll Info text (optional)
Offset (Proof) number (optional)
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.voting.contestedResourceIdentityVotes( '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', { limit: 10, orderAscending: true } )

Get Vote Polls by End Date

Fetch vote polls filtered by end time. Use JSON time info for standard responses or millisecond timestamps with proof.

Parameters:
Start Time Info (JSON) json (optional)
End Time Info (JSON) json (optional)
Start Time (ms) number (optional)
End Time (ms) number (optional)
Limit number (optional)
Offset (Proof) number (optional)
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.voting.votePollsByEndDate({ startTimeInfo: null, endTimeInfo: null, limit: 10, orderAscending: true, })

Protocol & Version

Get Protocol Version Upgrade State

Retrieve protocol upgrade vote tallies.

Parameters:

No parameters required

Example
// Evo SDK example return await sdk.protocol.versionUpgradeState()

Get Protocol Version Vote Status

Fetch voting status for masternodes on protocol upgrades.

Parameters:
Start ProTxHash text (optional)
Example: 143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113
Count number (optional)
Example
// Evo SDK example return await sdk.protocol.versionUpgradeVoteStatus({ startProTxHash: '143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113', count: 10 })

Epoch & Block Queries

Get Epochs Info

Retrieve summary information for one or more epochs.

Parameters:
Start Epoch number (optional)
Count number (optional)
Ascending Order checkbox (optional)
Example
// Evo SDK example return await sdk.epoch.epochsInfo({ startEpoch: 8635, count: 5, ascending: true })

Get Current Epoch

Fetch the current platform epoch.

Parameters:

No parameters required

Example
// Evo SDK example return await sdk.epoch.current()

Get Finalized Epoch Infos

Retrieve finalized epoch information for a range.

Parameters:
Start Epoch number (optional)
Count number (optional)
Ascending Order checkbox (optional)
Example
// Evo SDK example return await sdk.epoch.finalizedInfos({ startEpoch: 8635, count: 5, ascending: true })

Get Epoch Blocks by Evonode IDs

Fetch proposed blocks for specific evonode ProTx hashes.

Parameters:
Epoch number (required)
Evonode ProTx Hashes array (required)
Example: ["143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113"]
Example
// Evo SDK example return await sdk.epoch.evonodesProposedBlocksByIds( 8635, ['143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113'] )

Get Epoch Blocks by Range

Fetch proposed blocks in range order.

Parameters:
Epoch number (required)
Limit number (optional)
Start After (ProTxHash) text (optional)
Example: 143dcd6a6b7684fde01e88a10e5d65de9a29244c5ecd586d14a342657025f113
Order Ascending checkbox (optional)
Example
// Evo SDK example return await sdk.epoch.evonodesProposedBlocksByRange(8635, { limit: 5, orderAscending: true })

Token Queries

Get Token Statuses

Retrieve status information for one or more tokens.

Parameters:
Token IDs array (required)
Example: ["Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv"]
Example
// Evo SDK example return await sdk.tokens.statuses([ 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv', 'H7FRpZJqZK933r9CzZMsCuf1BM34NT5P2wSJyjDkprqy' ])

Get Direct Purchase Prices

Fetch direct purchase prices for tokens.

Parameters:
Token IDs array (required)
Example: ["Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv"]
Example
// Evo SDK example return await sdk.tokens.directPurchasePrices([ 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv' ])

Get Token Contract Info

Retrieve metadata for a token contract.

Parameters:
Token Contract ID text (required)
Example: ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A
Example
// Evo SDK example return await sdk.tokens.contractInfo('ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A')

Get Token Distribution Last Claim

Fetch the last perpetual distribution claim for an identity and token.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
// Evo SDK example return await sdk.tokens.perpetualDistributionLastClaim( '5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', 'Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv' )

Get Token Total Supply

Fetch the total supply for a token.

Parameters:
Token ID text (required)
Example: Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv
Example
// Evo SDK example return await sdk.tokens.totalSupply('Hqyu8WcRwXCTwbNxdga4CN5gsVEGc67wng4TFzceyLUv')

Get Token Price by Contract

Retrieve the price details for a token indexed by contract position.

Parameters:
Token Contract ID text (required)
Example: ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A
Token Position number (required)
Example: 0
Example
// Evo SDK example return await sdk.tokens.priceByContract('ALybvzfcCwMs7sinDwmtumw17NneuW7RgFtFHgjKmF3A', 0)

Group Queries

Get Group Info

Fetch metadata for a specific group contract position.

Parameters:
Group Contract ID text (required)
Example: 49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N
Group Position number (required)
Example: 0
Example
// Evo SDK example return await sdk.group.info('49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0)

List Group Infos

List group information entries for a contract.

Parameters:
Group Contract ID text (required)
Example: 49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N
Start At Info text (optional)
Count number (optional)
Example
// Evo SDK example return await sdk.group.infos('49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', null, 10)

Get Group Members

Retrieve member entries for a group.

Parameters:
Group Contract ID text (required)
Example: 49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N
Group Position number (required)
Example: 0
Member Identity IDs array (optional)
Start At Member Info text (optional)
Limit number (optional)
Example
// Evo SDK example return await sdk.group.members('49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0, { limit: 10 })

Get Group Actions

Fetch actions associated with a group.

Parameters:
Group Contract ID text (required)
Example: 49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N
Group Position number (required)
Example: 0
Action Status select (required)
Options: PENDING, ACTIVE, EXECUTED, CANCELLED
Start At Action Info text (optional)
Count number (optional)
Example
// Evo SDK example return await sdk.group.actions('49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0, 'ACTIVE', { count: 10 })

Get Group Action Signers

List signers for a specific group action.

Parameters:
Group Contract ID text (required)
Example: 49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N
Group Position number (required)
Example: 0
Action Status select (required)
Options: PENDING, ACTIVE, EXECUTED, CANCELLED
Action ID text (required)
Example
// Evo SDK example return await sdk.group.actionSigners('49PJEnNx7ReCitzkLdkDNr4s6RScGsnNexcdSZJ1ph5N', 0, 'ACTIVE', '6XJzL6Qb8Zhwxt4HFwh8NAn7q1u4dwdoUf8EmgzDudFZ')

Get Identity Groups

Fetch group memberships for an identity.

Parameters:
Identity ID text (required)
Example: 5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk
Member Data Contracts array (optional)
Owner Data Contracts array (optional)
Moderator Data Contracts array (optional)
Example
// Evo SDK example return await sdk.group.identityGroups('5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk', {})

Get Groups Data Contracts

Fetch group configuration documents for the supplied data contracts.

Parameters:
Data Contract IDs array (required)
Example: ["GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec"]
Example
// Evo SDK example return await sdk.group.groupsDataContracts(['GWRSAVFMjXx8HpQFaNJMqBV7MBgMK4br5UESsB4S31Ec'])

System & Utility

Get Platform Status

Retrieve basic platform status information.

Parameters:

No parameters required

Example
// Evo SDK example return await sdk.system.status()

Get Current Quorums Info

Fetch details about currently active quorums.

Parameters:

No parameters required

Example
// Evo SDK example return await sdk.system.currentQuorumsInfo()

Get Prefunded Specialized Balance

Retrieve a prefunded specialized balance entry.

Parameters:
Specialized Balance ID text (required)
Example: AzaU7zqCT7X1kxh8yWxkT9PxAgNqWDu4Gz13emwcRyAT
Example
// Evo SDK example return await sdk.system.prefundedSpecializedBalance('AzaU7zqCT7X1kxh8yWxkT9PxAgNqWDu4Gz13emwcRyAT')

Get Total Credits in Platform

Fetch the total credit balance stored in the platform.

Parameters:

No parameters required

Example
// Evo SDK example return await sdk.system.totalCreditsInPlatform()

Get Path Elements

Access items in the GroveDB state tree by specifying a path and keys.

Parameters:
Path Segments array (required)
Example: ["32"]
Keys array (required)
Example: ["5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk"]
Example
// Evo SDK example return await sdk.system.pathElements(['96'], ['5DbLwAxGBzUzo81VewMUwn4b5P4bpv9FNFybi25XB5Bk'])

Wait for State Transition Result

Wait for a state transition to be processed and return the result.

Parameters:
State Transition Hash text (required)
Example: 0000000000000000000000000000000000000000000000000000000000000000
Example
// Evo SDK example return await sdk.system.waitForStateTransitionResult('0000000000000000000000000000000000000000000000000000000000000000')

State Transitions

State transitions require valid identities, funds, and private keys. Configure your Evo SDK client appropriately before running these operations on mainnet.

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. Key requirements: ECDSA_SECP256K1 requires privateKeyHex or privateKeyWif for signing, BLS12_381 requires privateKeyHex for signing, ECDSA_HASH160 requires either the data field (base64-encoded 20-byte public key hash) or privateKeyHex (produces empty signatures).
Example
// Evo SDK example (requires keys/funding) return await sdk.identities.create({ assetLockProof, assetLockPrivateKeyWif, 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
// Evo SDK example (requires keys/funding) return await sdk.identities.topUp({ identityId, assetLockProof, assetLockPrivateKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.identities.update({ identityId, addPublicKeys, disablePublicKeyIds, privateKeyWif })

Identity Credit Transfer

Transfer credits between identities

Parameters:
Recipient Identity ID text (required)
Amount (credits) number (required)
Example
// Evo SDK example (requires keys/funding) return await sdk.identities.creditTransfer({ senderId, recipientId, amount, privateKeyWif, keyId })

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
// Evo SDK example (requires keys/funding) return await sdk.identities.creditWithdrawal({ identityId, toAddress, amount, coreFeePerByte, privateKeyWif, keyId })

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
// Evo SDK example (requires keys/funding) return await sdk.contracts.create({ ownerId, definition, privateKeyWif, keyId })

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
// Evo SDK example (requires keys/funding) return await sdk.contracts.update({ contractId, ownerId, updates, privateKeyWif, keyId })

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
// Evo SDK example (requires keys/funding) return await sdk.documents.create({ contractId, type: documentType, ownerId, data, entropyHex, privateKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.documents.replace({ contractId, type: documentType, documentId, ownerId, data, revision, privateKeyWif })

Document Delete

Delete an existing document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Example
// Evo SDK example (requires keys/funding) return await sdk.documents.delete({ contractId, type: documentType, documentId, ownerId, privateKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.documents.transfer({ contractId, type: documentType, documentId, ownerId, recipientId, privateKeyWif })

Document Purchase

Purchase a document

Parameters:
Data Contract ID text (required)
Document Type text (required)
Document ID text (required)
Price (credits) number (required)
Example
// Evo SDK example (requires keys/funding) return await sdk.documents.purchase({ contractId, type: documentType, documentId, buyerId, price, privateKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.documents.setPrice({ contractId, type: documentType, documentId, ownerId, price, privateKeyWif })

DPNS Register Name

Register a new DPNS username

Parameters:
Username text (required)
Example: Enter username (e.g., alice)
Example
// Evo SDK example (requires keys/funding) return await sdk.dpns.registerName({ label, identityId, publicKeyId, privateKeyWif, onPreorder })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.burn({ contractId, tokenPosition, amount, identityId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.mint({ contractId, tokenPosition, amount, identityId, privateKeyWif, recipientId, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.claim({ contractId, tokenPosition, distributionType, identityId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.setPriceForDirectPurchase({ contractId, tokenPosition, identityId, priceType, priceData, privateKeyWif, publicNote })

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)
Example
// Evo SDK example (requires keys/funding) return await sdk.tokens.directPurchase({ contractId, tokenPosition, amount, identityId, totalAgreedPrice, privateKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.configUpdate({ contractId, tokenPosition, configItemType, configValue, identityId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.transfer({ contractId, tokenPosition, amount, senderId, recipientId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.freeze({ contractId, tokenPosition, identityToFreeze, freezerId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.unfreeze({ contractId, tokenPosition, identityToUnfreeze, unfreezerId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.tokens.destroyFrozen({ contractId, tokenPosition, identityId: frozenIdentityId, destroyerId, privateKeyWif, publicNote })

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
// Evo SDK example (requires keys/funding) return await sdk.voting.masternodeVote({ masternodeProTxHash, contractId, documentTypeName, indexName, indexValues, voteChoice, votingKeyWif })

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
// Evo SDK example (requires keys/funding) return await sdk.voting.masternodeVote({ masternodeProTxHash, contractId, documentTypeName, indexName, indexValues, voteChoice, votingKeyWif })