Transactions

Transaction reference, endpoints, and links.

On Mina, a transaction is the result of an account update that changes the state of the whole blockchain. There are 3 types of transactions on Mina: user transactions, internal commands, and zkApp transactions.

User transactions are transactions that accounts can execute. They come in two types: Payment (transfer of tokens) and Delegation (delegating of staked tokens to a validator).

Internal commands are internal transactions that run within the protocol when accounts execute user transactions. They come in three types: Coinbase, Fee Transfer, and Fee Transfer via Coinbase.

zkApp transactions are run by zkApp accounts - the on-chain representation of a zkApp which is a smart contract on Mina deployed off-chain.

Transactions on Mina don't run instantly - once a transaction is initiated, it enters the Mempool, and validators pick them to validate. The higher the transaction fee is, the sooner a validator signs this transaction. Until then, a transaction has the Pending status.

Once a transaction runs, it takes time for it to make sure no one can reverse it. At least 15 blocks have to be added on top of the block in which the transaction was recorded. Once the block confirmation is done, the transaction is deemed irreversible and secure, and the full transaction finality is reached.

Suiscan shows a list of user transactions and internal commands on the Mina blockchain. Pending - or currently running - transactions are also available on Suiscan.

The following endpoints are available for Mina transactions on Blockberry.

EndpointDescription
getBlockConfirmationByTransactionHashGet transaction confirmation, i.e. the number of blocks added to the blockchain following the block which the transaction entered.
getTransactionsGet a list of all user transactions on the Mina Blockchain.
getInternalCommandsGet a list of all internal commands on the Mina Blockchain.
getPendingTransactionsGet a list of transactions that are currently pending, i.e. in the Mempool and are awaiting to be run.
getTransactionByHashGet details of the queried user transaction in a raw JSON format by hash.