ACK-Pay Payments Demo
Interactive guide demonstrating ACK-Pay payment flows.
Overview
ACK-Pay is a protocol built on W3C Standards designed to facilitate secure, verifiable, and interoperable financial transactions among autonomous agents, services, and human participants.
This interactive command-line demo illustrates the Server-Initiated payment flow, including:
- A Client Agent attempting to access a protected resource.
- A Server Agent issuing a Payment Request.
- The Client making a payment.
- A Receipt Service verifying the payment and issuing a receipt (in the form of a Verifiable Credential).
- Client using the receipt to access the protected resource.
Demo Video
Getting Started
Before running this demo, follow the Quickstart Guide at the repository root.
Running the Demo
Run from the repository root:
Alternatively, run from within the demo directory (./demos/payments
):
ACK-Pay Demo Components
- Client: The interactive agent requesting access to resources and making payments.
- Server: An HTTP server protecting resources and issuing payment requests.
- Receipt Service: HTTP service validating payments and issuing verifiable receipts (VCs).
- Payment Service (illustrated in optional paths): Handles credit card payments, currency conversion, compliance checks (KYC/AML), and complex payment routing.
Demo Walkthrough
The interactive CLI guides you through these steps:
Resource Request
Client requests access to a protected resource. Server responds with an HTTP 402 Payment Required
status containing a PaymentRequest
.
Making Payment
Client performs an on-chain stablecoin (USDC) payment to the Server’s wallet on Base Sepolia testnet. Alternatively, a credit card payment can be handled via a Payment Service.
Receipt Request
After payment completion, Client requests a receipt (VC) from the Receipt Service by providing proof of payment.
Receipt Verification
Receipt Service verifies provided transaction details and issues a Receipt Credential.
Accessing the Resource
Client retries accessing the resource, presenting the receipt to the Server. Server verifies receipt authenticity and grants resource access.
Further Exploration
Explore comprehensive ACK-Pay functionalities and integrations in real-world applications involving diverse payment methods and Payment Service integrations: