Inspiration

Independent service buyers and sellers often agree scope in one place, review work in another, and pay somewhere else. When a payment needs explaining, the agreed version and accepted handoff can be difficult to reconstruct. SettleProof connects these records for short, fixed-price digital-service engagements.

What it does

Two separate role links share versioned milestones. Either role can counteroffer before checkout, and every revision requires fresh consent from both. The seller submits a handoff; the buyer can request changes or accept it. AI proposes clearer acceptance criteria and ambiguity questions. A person adopts and edits the draft, while the server preserves the entered amounts.

An accepted milestone unlocks PayPal Sandbox Checkout. Approval and capture are separate human steps. The server binds the order to the stored invoice and amount, then fetches fresh order and capture facts before showing a verified result. A callback, timeout or AI statement cannot mark an invoice paid.

A hash-linked JSON receipt joins scope, human decisions and provider observations. A separately retained earlier sequence/hash can verify that later history still contains that prefix. An altered event fails verification. This is integrity checking with a retained anchor, not blockchain consensus or immutable storage.

How we built it

React and TypeScript provide the product interface. Cloudflare Workers and a SQLite Durable Object own capability hashes, version checks, consent, operation reservations and bounded history. Official PayPal Server SDK 2.5.0 creates, reads and captures Sandbox orders through a restricted transport. The official PayPal JavaScript SDK v6 opens Checkout; an existing stored Sandbox approval link lets a buyer resume the same order.

Cloudflare Workers AI runs @cf/meta/llama-3.3-70b-instruct-fp8-fast for editable criteria proposals and cited explanations of deterministic reconciliation. It has no payment tools. A shared atomic quota bounds inference attempts. The separate evidence desk uses AG Grid Community to filter, sort, inspect and export reconciliation cases.

Challenges we ran into

Stale terms, wrong-role actions, double clicks and uncertain provider responses require explicit state rules. Terms freeze after a checkout reservation. Retries keep the original request identifier, with a bounded safety window. Receipt capacity is reserved before provider work.

A real Worker Request regression exposed a redirect-mode incompatibility that mocked fetch tests missed. Both transports now use manual mode and reject redirects. SDK initialization also has a deadline and explicit recovery controls.

Accomplishments

The genuine Sandbox rehearsal used an invented USD12/USD8 engagement: editable AI draft, counteroffer, fresh dual consent, requested revision and accepted handoff. Closing the v6 Checkout window captured nothing. Stored-link approval in a normal Chrome tab reused the same order; a fresh server read showed APPROVED with zero captured. A separate explicit capture produced fresh COMPLETED order and capture evidence for USD12. The USD8 milestone remained pending and unpaid. A successful v6 onApprove callback is not claimed.

The final 25-event API export matched the prefix retained at event 5. Changing the first event failed the real UI verifier. The release passed 93 automated tests, TypeScript and production build; automated provider fixtures are distinguished from the genuine hosted observations.

What we learned and what is next

Approval is not capture, and a valid hash chain does not establish identity or delivery quality. One operator exercised both roles, using invented project details and fictitious Sandbox funds. There is no escrow, custody, arbitration, legal-signature or irreversible-settlement claim.

Next, validate the workflow with independent buyers and service sellers, then evaluate authenticated identities, recovery, accessibility and payment-event handling before considering production. No customer adoption or revenue uplift is claimed.

Tools and provenance

Ajnas N B owns this new project, started 17 October 2026. OpenAI Codex and cooperating coding agents assisted concept review, implementation, tests and documentation. Runtime AI is the Workers AI model named above. The demo uses HyperFrames and genuine product captures. Source is MIT licensed, with dependency notices retained. Unrelated private project code, customer records and assets were not copied.

Live demo: https://settleproof.ajnasnb.com Source and reproducible setup: https://github.com/AjnasNB/settleproof Sanitized actual Sandbox evidence: https://github.com/AjnasNB/settleproof/blob/main/artifacts/agreements-provider-proof.json

Built With

Share this project:

Updates

Submission history