Logo
Learn
  • Explore Course
Build
  • Explore Buildathon
  • Project Archive

Fangorn Founders House

Fangorn is a programmable data layer for the agentic web. In this demonstration it is used to facilitate private computations via fully homomorphic encryption behind the x402 payment required protocol

Videos

Description

Fangorn is programmable access control infrastructure for agents and humans. It lets you encrypt data under a condition instead of a private key. Our ethos is 'proof over permission', meaning:

  • no key management

  • extensible & composable conditions

  • non-interactive and asynchronous between data publisher and consumer

Progress During Hackathon

<p>For this hackathon, we extended our previous work and delivered something entirely brand new: FHE computations over encrypted data gated behind a payment condition, facilitator via x402. That is, it's 'pay-per-insight' over encrypted data.</p><p>This extends our previous work, where we provided mechanisms to gate full-plaintext access using payments and other conditions. In this model, data discoverability is accomplished using a combination of a custom 'data source registry' contract and the ERC-8004 registries, where each datasource has an agent card that can be used to find and query the data. While this functions as intended for large data sets, it provides no safe means to let an agent infer intelligence without exposing the entire dataset to the agent. With our latest work, agents can execute functions over private data while:</p><ul><li><p>not exposing its own private query parameters (e.g. 'How many people have blood type 'A' in the data set?')</p></li><li><p>preserving the privacy of the data publisher</p></li></ul><p>The market for this is any domain where data is sensitive but aggregate insight is valuable: healthcare, finance, identity, ML training, and advertising.</p><p>- We replaced our entire encryption implementation with FHEnix/TFHE, removing the hybrid Lit/AES encryption used previously</p><p>- modified the fangorn-cli to encrypt data under a specific schema for the sake of the demo - meaning blood types are the only types of data it supports currently (represented by integers 0-7).</p><p>- implemented e2e tests to verify that entryptions, executions, and unsealing using the contract works</p><p>- We refactored our x402f implementation (fetch + server + facilitator) to be able to handle:</p><p>- encrypting values with FHE, serializing them, and passing it along to the facilitator as part of a request body</p><p>- execution and unsealing of a computation given that a specific USDC payment has been settled on-chain</p><p>- implemented e2e example to verify functionality</p><p>- We developed and deployed a FHEnix contract to compute over private blood type data, represented as integers, where BLOOD_TYPES = ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"]</p><p>- We deployed the latest version of fangorn to npm: <a href="https://www.npmjs.com/package/fangorn-fhe-sdk">https://www.npmjs.com/package/fangorn-fhe-sdk</a></p><p>- deployed to cloudrun</p><p>- it all works</p><p>- We learned the FHEnix stack inside and out</p><p></p><h3>Contracts</h3><table style="min-width: 75px"><colgroup><col style="min-width: 25px"><col style="min-width: 25px"><col style="min-width: 25px"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>contract name</p></th><th colspan="1" rowspan="1"><p>address</p></th><th colspan="1" rowspan="1"><p>type</p></th></tr><tr><td colspan="1" rowspan="1"><p>Datasource Registry Contract</p></td><td colspan="1" rowspan="1"><p>0x602aedafe1096004d4db591b6537bc39d7ac71a6</p></td><td colspan="1" rowspan="1"><p>stylus</p></td></tr><tr><td colspan="1" rowspan="1"><p>Settlement Tracker Contract</p></td><td colspan="1" rowspan="1"><p>0x7c6ae9eb3398234eb69b2f3acfae69065505ff69</p></td><td colspan="1" rowspan="1"><p>stylus</p></td></tr><tr><td colspan="1" rowspan="1"><p>Patient Evaluator Contract (FHE)</p></td><td colspan="1" rowspan="1"><p>0x1E92cF014b7a078482641136243574172d1D04eA</p></td><td colspan="1" rowspan="1"><p>sol</p></td></tr></tbody></table><h3>Deployed Services</h3><table style="min-width: 50px"><colgroup><col style="min-width: 25px"><col style="min-width: 25px"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>service</p></th><th colspan="1" rowspan="1"><p>url</p></th></tr><tr><td colspan="1" rowspan="1"><p>Facilitator</p></td><td colspan="1" rowspan="1"><p><a href="https://facilitator-133282782456.us-central1.run.app">https://facilitator-133282782456.us-central1.run.app</a></p></td></tr><tr><td colspan="1" rowspan="1"><p>Server</p></td><td colspan="1" rowspan="1"><p><a href="https://server-133282782456.us-central1.run.app">https://server-133282782456.us-central1.run.app</a></p></td></tr></tbody></table><p>Note: A more refined version of the Patient Evaluator Contract is deployed to this address - 0xA682FED2c3f0115A643a7D63E6DD36107C6c6bD1</p><p>For context we found out we were accepted to this event one week ago, found out where the event was being held on Tuesday (03/03/2026), found out it was a different hackathon (we thought it was a pitching competition for mature projects looking to understand GTM as well as direct exposure to investors) on Thursday (03/05/2026) evening (9pm) after a full day of travelling, spent all of our time on Friday figuring what to build, built everything on Saturday (03/06/2026) (this includes learning the entire architecture of FHEnix (pitch incoming regarding their threshold encryption architecture :D), completely gutted our codebase to properly fit the FHENix control flow, delivered by Sunday (03/07/2026). A much more refined submission for a project that is more in-line with our broader product framing is from our Arbitrum Open House submission here: <a href="https://www.hackquest.io/projects/Fangorn">https://www.hackquest.io/projects/Fangorn</a></p>

Tech Stack

Web3NodeSolidity

Fundraising Status

<p>No funds raised</p>

Team Leader
CColeman
Product Category
DeFiInfraAI