Parley
An end-to-end encrypted communication layer for payments. Every payment already has an id both sides know: an invoice, a transaction, a PayBox request. Parley gives each one its own private, end-to-end-encrypted thread between the two wallets, so you can ask, agree, pay, and prove in one place.

Project Overview
The thread can carry a payment request, the payment itself, and a sealed receipt that the other side verifies on-chain: ask, agree, pay, prove, in one place.
Built solo in about 36 hours for the MoonPay PayBox Hackathon (Chapter 1, Oct 2026). Results are pending. PayBox reposted the launch post and MoonPay liked it.
What I Built
- Smart contracts (Solidity, Foundry, upgradeable proxy) live on Base mainnet and Base Sepolia, with 48 tests
- PayBox plugin: a TypeScript MCP server with 9 tools. It reads data or proposes transactions; it never holds keys, and every send or payment is approved by the user in PayBox
- Gasless relay (Node, Docker): signed actions (EIP-712 / ERC-1271) so new users don't need gas, plus a concierge bot that replies and verifies payments on-chain
- Web inbox with a free one-minute demo (no wallet needed) and a one-line merchant widget
Technologies
- TypeScript, Node, Docker, Vercel
- Solidity + Foundry, upgradeable proxy
- viem, deployed on Base
- Model Context Protocol (MCP) server
- EIP-712 / ERC-1271 signed actions
Encryption
Messages use an X25519 key wrap with XChaCha20-Poly1305, and the invoice id is hidden inside the ciphertext.
Tested with Claude
Tested from Claude through the PayBox MCP connector: Claude discovered the plugin and ran its tools on its own.
Screens




