Blocks

Block submission and lookup.

Block submission and lookup. Every POST /blocks/* endpoint takes a block that is already signed and already carries a valid proof-of-work nonce — the node computes neither on your behalf.

POST
/blocks/burn
Submit burn blockPermanently destroys XE from the issuing account. XE only — burning XUSD is rejected. The block carries no destination, no source and no counterpart; the amount must be greater than zero and within the account balance. An optional memo is allowed.
POST
/blocks/lease
Submit lease blockConsumer requests compute from a provider, escrowing the XUSD cost. Asset must be XUSD, and the block must reference the provider's active performance certificate, which locks the price multiplier.
POST
/blocks/lease_accept
Submit lease_accept blockProvider accepts a lease request and stakes XUSD. Requires timekeeper attestations, the same certificate hash the consumer referenced, and the emission parameters locked at accept time (locked_r must be set).
POST
/blocks/lease_cancel
Submit lease_cancel blockConsumer cancels its own lease while it is still in the created state, refunding the escrowed XUSD. Asset must be XUSD, and only the account that issued the lease block may cancel it.
POST
/blocks/lease_force_settle
Submit lease_force_settle blockConsumer resolves an accepted lease the provider never settled: the escrowed cost is refunded and the provider's stake is not returned. Asset must be XUSD. Requires timekeeper attestations whose median is past expiry plus the settle grace plus the force-settle gap, and still inside the escrow-expiry window.
POST
/blocks/lease_settle
Submit lease_settle blockProvider settles an expired lease on its own chain, minting the XE emission. Asset must be XE. Requires timekeeper attestations whose median falls inside the settle window — at or after expiry and no later than expiry plus the settle grace.
POST
/blocks/mint
Submit mint blockCreates new XUSD on an authorized minter's own chain. The account must be listed in the state chain's sys.minter config — every other account is rejected. XUSD only, with no destination, no source and no memo. The minter then distributes the XUSD by ordinary send and receive.
POST
/blocks/multisig_open
Open multisig accountOpens a new multisig account whose address is derived from the keyset hash, and registers the keyset on the ledger. The account must not already exist, `previous` must be `0`, and `balance` must be 0.
POST
/blocks/multisig_update
Rotate multisig keysetRotates the keyset on an existing multisig account. Must be signed by the current keyset's threshold.
POST
/blocks/receive
Submit receive blockSubmits a signed receive block that credits a pending send to the recipient. A receive whose source send is contested by an unresolved conflict is deferred (503) until the conflict resolves; a receive of a live lease escrow is rejected outright.
GET
/blocks/recent
Recent blocksReturns recently processed blocks across all accounts, newest first. The node caches the newest 1000 blocks for up to a second and serves the requested window from that cache, so `limit` cannot reach further back than 1000 blocks.
POST
/blocks/send
Submit send blockSubmits a signed send block carrying a valid proof-of-work nonce. Debits the sender and creates a pending entry the recipient must then receive. The amount must be greater than zero, within the account balance, and addressed to a different account.
GET
/blocks/{hash}
Get block by hashReturns a block by hash, with a `finalized` flag alongside the block's own fields.