Blockchain-powered instant settlement for aviation fuel supply chains
Current B2B aviation payment cycles create significant cash flow challenges: suppliers deliver services immediately but wait 30-90 days for payment, while airlines manage credit risk and complex reconciliation processes. The manual verification required for each invoice — did the fuel quantity match the order? was it delivered to the correct aircraft? — adds delays and potential for disputes.
This challenge explores how smart contracts on Camino Network can automate the full supplier payment cycle: from service registration to validation and instant payment execution. Using blockchain-based logic, payments are released automatically once pre-set conditions are met — ensuring transparency, trust, and speed.
The Fuel Settlement dApp demonstrates how instant settlement benefits both parties:
- Suppliers receive immediate payment upon delivery confirmation, improving their working capital
- Airlines gain transparent verification, reducing reconciliation overhead and disputes
- Both parties benefit from an immutable audit trail showing exactly when service was delivered, who authorized it, and when payment executed
Our smart contract (FuelSettlement.sol) implements a complete fuel order lifecycle:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Created │ ───► │ Delivered │ ───► │ Settled │ │ Cancelled │
│ (Escrow) │ │ (Confirmed) │ │ (Paid) │ │ (Refunded) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ ▲
└──────────────────────────────────────────────────────────────┘
(Airline cancels or Supplier declines)
- Order Creation: Airline creates a fuel order specifying supplier, quantity, and price. Funds are locked in escrow.
- Delivery Confirmation: Supplier confirms fuel delivery (could be triggered by IoT sensors or manual input)
- Instant Settlement: Upon confirmation, payment is automatically released to supplier via CAM tokens
- Dispute Protection: Either party can cancel/decline before delivery, with automatic refund to airline
- Escrow-based Payments: Funds locked on order creation, released automatically on delivery confirmation
- Role-based Access Control: Airlines create/cancel orders; Suppliers confirm/decline deliveries
- Immutable Audit Trail: All transactions recorded on Camino blockchain
- CAM Token Settlement: Native token payments on Camino Columbus testnet
- Real-time Order Tracking: Frontend displays order status, quantities, and payment amounts
- Invoice Generation: PDF invoice creation for completed orders
enum OrderStatus { Created, Delivered, Settled, Cancelled, Declined }
struct FuelOrder {
uint256 orderId;
address payable supplier;
uint256 quantityLitres;
uint256 pricePerLitre;
uint256 totalAmount;
OrderStatus status;
bool deliveryConfirmed;
}Core Functions:
createFuelOrder()— Airline creates order with escrowed paymentconfirmDelivery()— Supplier confirms delivery, triggering instant paymentcancelOrder()— Airline cancels order before delivery (full refund)declineOrder()— Supplier declines order (full refund to airline)
Smart Contracts:
- Solidity ^0.8.9
- Hardhat
- OpenZeppelin Contracts
- Ethers.js v5
Frontend:
- React 18
- Vite
- TailwindCSS
- React Router
- Lucide Icons
Blockchain:
- Camino Network (Columbus Testnet)
- CAM Tokens
- Node.js (v14.x or higher)
- MetaMask or Camino Wallet
- CAM tokens on Columbus testnet
- Clone the repository:
git clone https://github.com/hermann-croowy/camino-hackathon-fuel-settlement.git
cd camino-hackathon-fuel-settlement- Install dependencies:
npm install
cd front-end/vite-project
npm install- Configure environment variables:
# In project root, create .env for contract deployment
cp .env.example .env
# Edit with your private key and RPC URL
# In front-end/vite-project, create .env for frontend
cd front-end/vite-project
cp .env.example .env- Set the contract address in
front-end/vite-project/.env:
VITE_FUEL_SETTLEMENT_ADDRESS=0x81605cE13a42Cb0Bb024660d3C89Ad3e7fE8B2EFNote: Replace with your deployed FuelSettlement contract address.
Add Camino Columbus Network to MetaMask:
| Setting | Value |
|---|---|
| Network Name | Camino Columbus |
| RPC URL | https://columbus.camino.network/ext/bc/C/rpc |
| Chain ID | 501 |
| Currency Symbol | CAM |
| Block Explorer | https://columbus-explorer.camino.network/ |
# Compile contracts
npx hardhat compile
# Deploy to Columbus testnet
npx hardhat run scripts/deploy.ts --network columbuscd front-end/vite-project
npm run devThe app will start at http://localhost:5173
- Connect your wallet (must be the contract deployer address)
- Navigate to "Create Order"
- Enter supplier address, fuel quantity (litres), and price per litre
- Confirm the transaction — funds are locked in escrow
- View orders in "Orders" section
- Cancel orders if needed before delivery
- Connect your wallet (must match the supplier address on the order)
- Navigate to "Supplier Orders" to view assigned orders
- Confirm delivery when fuel has been supplied
- Receive instant payment in CAM tokens
- Generate and download invoices for completed orders
| Status | Description |
|---|---|
| Created | Order placed, funds in escrow |
| Delivered | Supplier confirmed delivery |
| Settled | Payment released to supplier |
| Cancelled | Airline cancelled, funds refunded |
| Declined | Supplier declined, funds refunded |
| Contract | Address | Network |
|---|---|---|
| FuelSettlement | 0x81605cE13a42Cb0Bb024660d3C89Ad3e7fE8B2EF |
Columbus Testnet |
- Camino Messenger Integration: Extend with aviation-specific message types for fuel orders, pricing, and delivery confirmation
- IoT Sensor Integration: Automatic delivery confirmation via fuel truck sensors
- Multi-signature Approval: Complex approval workflows for large orders
- Analytics Dashboard: Real-time reporting on settlement metrics and supplier performance
# Run smart contract tests
npx hardhat test
# Run frontend locally
cd front-end/vite-project
npm run dev👤 Hermann Wagner
- GitHub: @hermann-croowy
- LinkedIn: Hermann Wagner
👤 Niklas Retzl
- GitHub: @Nretzl
- LinkedIn: Niklas Retzl
👤 Luis Fernando Jiménez
- GitHub: @lu-jim
- LinkedIn: Luis Jiménez
Contributions, issues, and feature requests are welcome!
Give a ⭐️ if you like this project!
Special thanks to:
- Chain4Travel for organizing this hackathon and building the Camino Network
- Camino Network for providing the blockchain infrastructure for the travel industry
- Vueling for the challenge prompt and guidance on aviation fuel settlement workflows
- Chain4Travel
- Tech Tourism Cluster
- ACCIÓ — Catalonia Trade & Investment, Generalitat de Catalunya
- Hospitalidad Emprendedora
- Vueling
- TeamLabs
- Future Travel
- Barcelona Travel Hub
- Nubemsystems
- Clorian Ticketing
Built with ❤️ at the Camino Network Hackathon 2025
