Inspiration

Freelancers and small businesses get scammed every day because trust is still manual. A client says “do the work and I’ll pay later,” a contractor claims a milestone was completed, or two parties agree on terms in chat but have no reliable way to lock the money and automate the payout. Existing options are bad: trust the other side blindly, pay large platform fees, or use legal/escrow processes that are too heavy for small transactions.

What it does

Our project solves this by turning bunq into a programmable trust layer for fiat money. We are bringing the core promise of smart contracts to fiat banking: conditional, programmable, money movement - without crypto volatility, terrible UX, or blockchain complexity. Instead of relying on blockchain wallets or tokens, users create real agreements in natural language, fund them with real euros, and let the system automatically release or return the money when the agreed conditions are met.

The product works in two stages:

Stage 1: One user describes their respective perception on agreement using structured input or by uploading text documents. Our AI converts that into a structured contract containing the parties, amount, deadline, trigger conditions, required evidence, and payout logic: the bare minimum for a clear unambiguous contract. Our AI also checks if the information is consistent and complete, and asks clarification questions otherwise. The contract is then shared with the second party, who can accept it or counter it. This negotiation continues until both parties agree on a final machine-readable contract. Once accepted, the app uses the bunq API to create and fund an escrow-style account that holds the money until the contract is resolved.

Stage 2: The contract waits for realisation, which is checked by our AI. When the party thinks the contract is fulfilled, it can upload the proof in any kind of modality: plain text, images, screenshots, audio, PDFs, or other files depending on the agreement. Our AI Judge reads the final contract, checks the trigger conditions and required evidence, and evaluates whether the submission satisfies the agreement, producing binary PASS or FAIL decision, a confidence score, and a reasoning summary. If the evidence fails before the deadline, the user can see what is missing and upload new evidence. If the deadline passes, the system executes the payout logic defined in the contract and uses bunq to release the money from escrow to the correct party.

Such a system utilises AI in two roles: contract creator and fulfillment judge. The first role focuses on assisting to transform general ideas and messy human inputs into clean and structured contracts that software can execute and ensuring that such contracts are unambiguous. The second role accounts for a realistic variety of potential contract fulfillment conditions and covers all kinds of evidence modalities. Such set-up creates room for automating any kind of contract formation and validation, but also allows the AI to have a complete picture from various sources to provide fair, unbiased and transparent judgements.

This makes the project much more than a payments app. It is an AI-powered fiat smart contract engine for freelancers, creators, contractors, and small businesses — a system that reduces fraud, reduces disputes, and makes trust programmable using real banking rails.

How we built it

We used Haiku 4.5 as a a model powering all of the decisions wrapped using Langchain. The backend is written in Python and Next.js for frontend.

Accomplishments that we're proud of

A working demo

What we learned

The current models wihtout pretraining can solve such tasks, meaning that SLMs can be also used for contract creation and validations

What's next for Contractify

Improve the judging quality, UI/UX, including more people in the contracts

Built With

Share this project:

Updates