Accounts-payable escrow: funds stay locked until payee+amount match; mismatch holds; replay is already_settled. Angular+Solidity. Live on Vercel; Arbitrum Sepolia for this buildathon.




Paylock is an accounts-payable escrow for onchain invoices.
The payer locks native tokens against a listed payee and amount. A payment to a different address does not transfer funds — the invoice stays held (payee_mismatch). Only the listed payee can release. A second payment after release returns already_settled.
Stack: Angular 17 UI, TypeScript, viem, Solidity, Foundry tests. Live demo: https://paylock.vercel.app — public repo: https://github.com/Nazito/paylock.
Originally shipped on Monad Testnet; for this buildathon we deploy and demo the same fail-closed flow on Arbitrum Sepolia. No Stylus/Rust — Solidity escrow + wallet UI.
Before the Open House window: working product (UI + Solidity), public GitHub, live Vercel demo, Monad Testnet deployment with four-step demo (lock / mismatch held / release / replay).
During the hackathon: deploy the same contract to Arbitrum Sepolia, point the existing Arbitrum chip in the UI at the Sepolia address, re-run the four-step demo on Arbitrum, submit explorer links and demo video for judges.
Bootstrap / self-funded. No raise. Solo builder. Seeking hackathon visibility and possible grants, not a priced round.