All endpoints return the following response headers:
- X-Id — The node’s public key identifier
- X-Session-Token — The current cluster session token
- Request-Signature — Cryptographic signature of the response for verification
Building a valid transaction: Each transaction must reference its parent — the previous transaction from the same source address. Use
GET /transactions/last-reference/{address} to retrieve the correct parent.hash and parent.ordinal before constructing a new transaction. The new transaction’s ordinal must be exactly parent.ordinal + 1.POST /transactions
Submits a signed $DAG transaction for processing. If accepted, the transaction enters the node’s mempool and will be included in the next block.SignedTransaction
The transaction payload
Array of cryptographic signature proofs. Must be signed by the source address owner.
200 OK
Hash of the accepted transaction. Use this to look up the transaction status via
GET /transactions/{hash}.400 Bad Request
The transaction was rejected. The error response includes one of the following rejection reasons:
GET /transactions/
Returns the current view of a $DAG transaction in the L1 mempool for the given hash. Only transactions currently in the mempool are returned — once a transaction is included in a block and a global snapshot, this endpoint returns400.
The transaction hash (hex-encoded SHA-256)
200 OK
The full transaction data (see
Transaction schema in POST /transactions)The transaction hash
Current status of the transaction in the mempool. Currently:
Waiting400 Bad Request
No transaction with the given hash is found in the mempool. The transaction may have already been processed into a block, or the hash may be invalid.
GET /transactions/last-reference/
Returns the last accepted $DAG transaction reference for a given address. Always call this endpoint before constructing a new transaction to get the correctparent values.
DAG wallet address
200 OK
Ordinal of the last accepted transaction. Use
ordinal + 1 as your new transaction’s parent ordinal.Hash of the last accepted transaction. Use this as your new transaction’s
parent.hash. Returns empty string "" for addresses with no prior transactions.