Parametric Rainfall Derivatives · Smart Contracts · Product UX

Bruma Protocol
Price the rain. Transfer the risk.

Built for the Chainlink Convergence hackathon in Medellín, Bruma turns rainfall — the oldest unpriced risk in agriculture and outdoor business — into a structured financial position. Priced by Chainlink oracles against a decade of historical data, settled automatically, owned as an NFT. No counterparty negotiations, no intermediaries.

Chainlink Convergence|Medellín, Colombia · 2026
View Live App →

01 / The Challenge

Rainfall is the oldest risk nobody prices.

Farmers, event operators, and anyone running an outdoor business absorb weather risk every season with no structured way to hedge it. Institutional weather derivatives exist, but they were never built for an individual operator.

The idea came from a conversation with a woman in Medellín who checked the weather every morning — not as a ritual, but as a necessity.

The challenge wasn’t building another DeFi protocol. It was turning that daily act of reading the sky into a financial instrument — priced transparently, with no intermediary standing between the risk and the person carrying it.

02 / The Solution

An index, not an insurance claim.

Bruma structures rainfall as a bilateral index contract instead of a policy. A Call or Put settles purely on what a Chainlink oracle reports against a chosen strike — never on an assessment of actual loss.

A buyer may be hedging real exposure, or simply taking a financial position on rainfall. The protocol doesn’t distinguish between the two — it only reads the index.

Pricing, settlement, and payout all run through Chainlink Functions and Automation, so no one — including the protocol’s own builder — holds discretion over the outcome.

Live Walkthrough

An index priced, held, and settled on-chain.

DEPLOYED ON ETHEREUM SEPOLIA & AVALANCHE FUJI · CONNECT WALLET TO PRICE A POSITION.

03 / Product Architecture

Six layers. One verifiable settlement.

Pricing, automation, and custody are split across independent layers so no single party — oracle, vault, or builder — can move an outcome alone.

01 / Oracle Layer

Chainlink Functions

Prices premiums and settles positions by fetching and computing rainfall data on-chain

02 / Automation Layer

Chainlink Automation

Keepers monitor option expiry and trigger settlement — no claims process, no manual step

03 / Workflow Layer

Chainlink CRE

Vault Risk Guardian fetches 7-day forecasts and tightens utilization limits ahead of adverse rainfall

04 / Asset Layer

ERC-721 Position NFT

Every position is a transferable, self-custodied token — full ownership, no intermediary

05 / Liquidity Layer

ERC-4626 Vault

Standard vault with virtual share offset; 80% max utilization, 20% per-location cap

06 / Security

Pull Payment Pattern

CEI-pattern settlement with manual claim fallback if an auto-transfer fails

System Mechanics

Four steps from exposure to position

Fully automated via Chainlink Functions and Automation. Settlement is determined by oracle data, not by any assessment of actual loss.

1. Define the indexChoose location, observation window, strike rainfall in millimeters, spread, and Call or Put. The protocol takes no position on why you’re entering the trade.
2. Receive a Chainlink-priced quoteChainlink Functions computes a fair premium from 10 years of historical rainfall data for the exact coordinates. Pricing is deterministic — no human sets it, and the quote holds for one hour.
3. Pay the premium, hold the positionThe position mints as an ERC-721 NFT. Collateral locks in the ERC-4626 vault at a maximum 80% utilization rate, with a 20% cap per location.
4. Settlement runs on its ownAt expiry, Chainlink Automation fetches the actual rainfall reading and transfers the payout if the index condition is met. No adjuster, no claims form — the oracle decides.

Risk Framework

Two instruments, one liquidity pool.

Long Rainfall

Call Option

Pays out when oracle-reported rainfall exceeds the strike during the observation window, scaling linearly up to the spread cap. Built for exposure to excess rainfall — harvest operations, event venues, infrastructure.

Short Rainfall

Put Option

Pays out when oracle-reported rainfall falls below the strike, scaling down to the spread cap. Built for exposure to dry conditions — irrigated farms, seasonal tourism, water-dependent production.

Risk Counterparty

Liquidity Pool

Depositors act as the counterparty to option buyers and earn a share of every premium collected, governed by the same utilization and per-location caps that protect the vault.

Product Console

Every position, priced and monitored in one place.

The console covers the full lifecycle of a position — from choosing a location and strike, to watching the historical rainfall context behind a quote, to tracking vault health and the automation runs that settle it.

Bruma Protocol — Create weather protection screen
Bruma Protocol — Option parameters and historical rainfall context

The machinery behind settlement, made visible.

A Pool view tracks vault TVL, utilization, and liquidity provider positions. A Workflow view surfaces the same three automation runs — settlement, vault risk guardian, reinsurance pool monitor — that operate the protocol on-chain, with a live execution log.

Bruma Protocol — Vault and liquidity pool overview
Bruma Protocol — Workflow monitor and execution log

Full-Stack Execution

How We Built It

01

Parametric Pricing Engine

Chainlink Functions computes premiums from a decade of historical rainfall data at the moment of quote, so no party sets the price by hand.

02

Three-Workflow Orchestration

Settlement, a Vault Risk Guardian, and a Reinsurance Pool Monitor run as independent Chainlink CRE and Automation workflows, each on its own schedule.

03

Vault & Collateral Design

An ERC-4626 vault with virtual share offset protection backs every open position, capped at 80% utilization and 20% per location to keep the protocol solvent.

04

Position Ownership

Every option mints as an ERC-721 NFT — fully on-chain, self-custodied, and transferable, with transfers locked during the settlement window to prevent front-running.

05

Frontend Application

Built a full protocol console in Next.js — Create, Options, Pool, and Workflow views — for pricing positions, managing liquidity, and monitoring live automation runs.

Technologies Used

SolidityChainlink FunctionsChainlink AutomationChainlink CREERC-4626ERC-721Next.jsWagmiViemEthereum SepoliaAvalanche Fuji

Recognition

Built for the Chainlink Convergence.

Bruma Protocol was conceived, designed, and built solo over an intense sprint for the Chainlink Convergence hackathon in Medellín — with a little help from AI companions across architecture, interface, and code.

The protocol is designed to be autonomous: admin keys move to a timelock before any mainnet deployment, so the builder retains no ongoing discretion over settlement, pricing, or payouts — only the oracle and the vault parameters govern outcomes.

Ready to build products that make complex systems understandable?

One Team. Zero Handoffs. Full-Stack Product Engineering.

Start a Project →