Build (and optionally persist) a merkle tree

Computes a keccak256 merkle tree over entries, compatible with the Pirates Anchor program's on-chain verify_merkle_proof. When persist: true the tree is stored server-side under the composite key mint:airdrop_count; the returned id is the base64url encoding of that key and can be passed to GET /v2/merkle-trees/{id}/proofs/{wallet} or to the /v2/airdrops endpoints.

Replaces v1 /airdrops/tree/build.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
^[1-9A-HJ-NP-Za-km-z]{32,44}$
integer
0 to 65535
Defaults to 0

Discriminator (0–65535) so multiple distinct airdrops can share a mint without colliding in storage.

integer
0 to 18

If present, numeric entries[].amount values are scaled by 10^decimals. Omit when amounts are already raw u64 strings.

entries
array of objects
required
length between 1 and 50000
entries*
boolean
Defaults to true

Persist the tree in the merkle_trees table so proofs can be fetched later via GET /v2/merkle-trees/{id}/proofs/{wallet}.

string
length between 1 and 128
^[A-Za-z0-9_\-.:]+$

Optional client-supplied identifier echoed on the response. Prefer metadata for richer reconciliation.

metadata
object

Free-form string key/value bag echoed back on responses and webhook events.

Headers
string
length between 1 and 128

Optional client-supplied request ID, echoed in X-Request-Id response header.

string
length between 1 and 255

Client-supplied key (UUID v4 recommended) for safe write retries. Server stores (key, request_hash, response) and replays. Reusing with a different body returns 409 idempotency_conflict.

Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json