Navigation

Paygo Overview

Paygo is a prototype payments service built using the verifiable application pattern. It allows users to securely send, receive, delegate and escrow funds. The client-facing components of the service are similar to a simple digital payments service:

To support verifiability, additional backend components operate out-of-band from the realtime path:

Key Components

Realtime Execution

Paygo's execution can be thought of as a state machine supporting a flexible set of operations. It supports the following state types:

  • Accounts - contains an EVM-style address, a nonce, and a balance
  • Transfers - account can send and receive funds
  • Delegations - accounts can grant a spending allowance to other accounts
  • Escrows - accounts can lock and unlock funds based on customizable conditions

The supported operations are tailored to these state types. While not as expressive as the EVM, Paygo is purposefully designed to tightly fit a handful of targeted use cases at far greater efficiency. In Paygo's case, the simplicity of the realtime execution path results in operation costs that approach becoming too cheap to meter.

Background Proving

While Paygo's realtime path is quickly handling client requests, a background worker runs the verifiable path. It picks up any unproven transactions and creates a block out of them, effectively acting as a state snapshot. This state snapshot is proven as a batch in order to periodically advance the verifiable path of the system. The costs associated with proving a batch are currently ~$0.00003 per transaction. We expect this cost to continue to decrease over time as the software and hardware used for proof generation continue to improve.

Future

Beyond Paygo's initial support for payments, delegations, and escrows, we're excited to explore an increasing scope of application types and use cases that can benefit from this pattern:

  • Multi-asset origination
  • Keystores, identity, and authentication
  • AMMs, auctions, and contests
  • NFTs and digital provenance games
  • Customizable and private execution models

Paygo is a prototype payments protocol developed by Sina, Mihir and Joe (the team behind Witness).

Caveats & Disclaimers

  • Paygo is an unaudited prototype under active development.
  • Paygo is currently operating as a devnet and should not be used in production.
  • Paygo's database and system state may be reset at any time as new features are added.
  • Paygo's settlement contracts are not yet implemented.
  • Figures and benchmarks are rapidly evolving and subject to change.