ZKCross on-chain Proxy Settlement Protocol

On-chain zkProxy settlement protocol

Blockchain-agnostic Settlement

The blockchain-agnostic settlement protocol establishes terms between a smart contract and application regarding distinct program inputs. Settlements can cover a range of components, from token and NFT transfers to on-chain data updates and incentive-based distributions.

Importantly, as long as proof verification passes, the settlement remains consistent across blockchains. This allows applications and contracts to operate in a blockchain-agnostic manner.

Specifically, an application can register for settlement via our zkProxy protocol by integrating the Solidity API. Some key capabilities include:

  • Token and NFT transfers: Applications can transfer fungible and non-fungible tokens to recipients in a trustless manner.

  • Data updates: Application data such as user profiles, balances, and permissions can be securely updated on-chain.

  • Incentive distributions: Applications are able to distribute rewards, rebates, or payments to users upon proof of work or other criteria.

By registering with our settlement API, applications can securely settle contracts and execute value transfers across any EVM-compatible blockchain in a standardized, blockchain-agnostic way.

register(appId, callbackFunction);

The callbackFunction will be called once the zkProof verification success in our zkProxy contract.

callbackFunction (bytes memory payload)
  Interpret the payload, and trigger real on-chain activity.
E.g if the OP_CODE in payload is GET_REWARD, then will mint or send reword token to the user address.

The memory payload is formatted as:

        ops[0] = OP_CODE;
        ops[1] = tokenIdx;
        ops[2] = Amount;
        ops[3] = address;

ZKCross also will provide some built-in contracts like token payment, NFT upgrade contracts. So that the developer don’t need to touch any solidity code.