PACT: Programmable Agreements, Contracts & Transfers

Inspiration

AI has made building software easier and faster than ever, but actually selling that software is still complicated. Developers have to figure out payments, licensing, access control, and how to verify that someone has purchased their product.

I wanted to create something that would make that process easier, especially for independent developers and people building applications with AI tools. That's where the idea for PACT came from.

What it does

PACT is a blockchain-based software licensing platform that allows developers to create, sell, and verify software licenses.

Developers can create license agreements with their own terms, prices, and expiration periods. Buyers connect their Phantom wallet and purchase licenses using Solana. Their license is recorded on the blockchain, allowing applications to verify whether they have permission to access certain features.

PACT also provides an SDK and integration tools so developers can connect the licensing system to their own applications.

To demonstrate this, I integrated PACT into Saturday Lights, a separate football application. Users without a valid license are restricted from certain features, while licensed users can access them.

How we built it

I built PACT using Next.js, React, TypeScript, Tailwind CSS, and Vercel. The blockchain functionality runs on Solana Devnet, using a Rust program built with Pinocchio. Phantom handles wallet connections and transaction approvals.

One of the most interesting parts of development was using Codex in VS Code with multiple specialized AI agents. I organized agents into architecture, frontend, backend, QA, and code review roles.

Rather than having one AI agent handle everything, I used this structure to coordinate development, test functionality, review changes, and catch issues before deployment.

I also built an SDK and integration wizard to make connecting other applications to PACT easier.

Challenges we ran into

One of my biggest challenges was getting the blockchain integration working correctly. I initially explored a different blockchain approach before switching the primary implementation to Solana Devnet.

Another challenge was making the purchasing process simple. Originally, buyers needed to manually enter license metadata in JSON format. I developed a shareable purchase link that automatically provides and verifies that information.

I also encountered a bug where the buyer's offer information repeatedly disappeared and reappeared during background verification. I tracked down the issue and fixed it without removing the security checks.

Balancing blockchain functionality, security, and a user-friendly experience was one of the biggest challenges throughout the project.

Accomplishments that we're proud of

My biggest accomplishment was getting PACT working with a completely separate application.

Integrating Saturday Lights proved that PACT wasn't just a marketplace or a concept. It could actually control access to features in another piece of software based on a user's blockchain license.

I'm also proud that I was able to build and deploy the entire platform during Hacklanta, including the marketplace, licensing system, wallet integration, developer tools, and verification functionality.

The final application passed 435 automated acceptance checks and 46 local program tests before being deployed publicly.

What we learned

I learned a lot about Solana development, smart contracts, wallet integrations, software licensing, and blockchain-based verification.

I also gained valuable experience managing multiple AI coding agents. I learned how important it is to give agents clear responsibilities, maintain checkpoints, and independently test their work rather than assuming generated code will function correctly.

Most importantly, I learned that building a technically functional product isn't enough. It also has to be something people can understand and actually use.

What's next for PACT

My goal is to turn PACT into a platform that developers can easily integrate into almost any application.

Some of my next priorities include supporting USDC stablecoin payments, expanding wallet compatibility, building a more complete developer API, and making license metadata retrieval automatic.

I also want to expand the licensing options, improve developer onboarding, and strengthen the platform's security for eventual production use.

Ultimately, I want PACT to make selling and protecting software as easy as building it.

Live Demo: https://pact-hacklanta-demo.vercel.app/

Saturday Lights Integration: https://saturday-lights-pact-demo.lehr-exe.chatgpt.site/

Built With

Share this project:

Updates

Submission history