ZkApps

zkApp reference, endpoints, and links.

Mina has only two native transaction types: User Transactions and Internal Commands. Programmability and custom logic are achieved through zkApps - smart contracts based on zk-proof technology that are deployed off-chain. Effectively, a zkApp is equivalent to a dApp on Mina. For each zkApp, there's an on-chain representation in the form of a zkApp account.

zkApp transactions run through zkApp accounts which can also mint custom tokens. Each zkApp account has a set of account updates - fields that define how transactions run on-chain and how accounts are updated - permissions defining authorization configs for users to run a zkApp transaction, and preconditions - account and network conditions required for a zkApp transaction to run. Each zkApp account has 8 Account Update fields. When a zkApp transaction runs, these fields change, which results in the change of the zkApp account and the Mina blockchain at large.

Minascan shows a list of zkApp accounts and zkApp transactions.

The following endpoints are available for zkApps on Blockberry.

EndpointDescription
getZkAppTransactionByAccountAddressZkApp transactions are transactions run via zkApps - equivalents to dApps on Mina that are based on the zero-knowledge proof technology.
getZkAppTransactionsByBlockStateHashGet a list of all zkApp transactions contained in the queried block.
getZkAppTransactionsGet a list of all zkApp transactions on the Mina Blockchain.
getZkAppTransactionBalanceChangeByTxHashGet the account balance change brought about by the queried zkApp transaction.
getZkAppTxRawDataByHashGet details of the queried zkApp transaction in a raw JSON format by hash.
getZkAppTransactionByTxHashGet the queried zkAPpp transaction by hash.
getZkAppByAddressGet the queried zkApp by the address of its creator.