OpenBudget

OpenBudget.ID

Blockchain-Powered Government Budget Transparency

🏆 Garuda Spark 2025Cypherpunk Colosseum🇮🇩 Digital Indonesia 2045

Every rupiah of public spending can be tracked, audited, and verified by any citizen — powered by the Solana blockchain.

💔 The Problem We Face

Corruption and misuse of public funds erode citizens' trust in government

🕵️

Lack of Transparency

Citizens cannot access detailed data on government budget allocations in real time

72%
Citizens distrust national budget management
📝

Data Can Be Manipulated

Traditional record-keeping systems are vulnerable to retroactive changes and document falsification

Rp 182 T
State losses due to corruption (2015–2023)

Slow & Costly Audits

Manual audit processes take months and require significant resources

6–12 months
Average audit turnaround time

The Solution: OpenBudget.ID

Blockchain as invisible infrastructure — making every budget transaction immutable (immutable, unable to be altered), transparent (verifiable by anyone), and real-time.

How Does It Work?

1

Ministry Registers a Project

Log in with Google OAuth, create a draft budget project in the database

2

Publish to the Solana Blockchain

The project is published to the blockchain as an immutable record via wallet signature

3

Add Spending Milestones

Every fund disbursement is recorded as an on-chain milestone with proof documentation

4

Citizens Verify in Real Time

The public can view, search, and verify every transaction via Solana Explorer

Hybrid Architecture

🔗 On-Chain (Solana)
Immutable spending records — Source of Truth that no one can alter
💾 Off-Chain (PostgreSQL)
Searchable metadata & cache — Fast queries for optimal UX
🌉 Bridge (Next.js API)
Coordinates DB ↔ Blockchain with self-healing auto-sync

Key Features

Advanced technology for maximum transparency

🏛️

Ministry Admin Dashboard

  • Google OAuth login
  • Wallet integration (Phantom/Solflare)
  • Real-time blockchain publish
  • Milestone management
👥

Public Citizen Dashboard

  • No login required
  • Real-time search & filter
  • Blockchain verification links
  • Indonesian localization
🔄

Self-Healing System

  • Auto-sync DB ↔ Blockchain
  • Manual verify/sync buttons
  • Database can be rebuilt
  • Production-ready resilience

🚀 Technical Stack

Built with cutting-edge technology

Blockchain Layer

  • ✅ Solana Agave 3.0.7
  • ✅ Anchor Framework 0.32.1
  • ✅ Rust 1.90.0
  • ✅ 14/14 tests passing on devnet
  • ✅ Program ID: RECtBgp4...JXFY

Application Layer

  • ✅ Next.js 14 App Router
  • ✅ PostgreSQL 17.6 (10 indexes, <1ms queries)
  • ✅ NextAuth 4.24.5 (Google OAuth)
  • ✅ Wallet Adapter (Phantom/Solflare)
  • ✅ Tailwind CSS + Framer Motion

Performance Metrics

< 1ms
Database Queries
📄
11/11
Pages Compiled
14/14
Test Coverage
🚀
< 30s
Build Time

⛓️ Solana Smart Contract Architecture

Immutable, auditable, and transparent — built with the Anchor Framework on Solana

4 Core Instructions

🏗️

initialize_platform

Sets up global platform state with admin authority

pub fn initialize_platform(
  ctx: Context<InitializePlatform>
) -> Result<()>
📋

initialize_project

Creates a new budget project on-chain

pub fn initialize_project(
  ctx: Context<InitializeProject>,
  project_id: String,
  title: String,
  ministry: String,
  total_budget: u64
) -> Result<()>
📌

add_milestone

Adds spending milestone with budget validation

pub fn add_milestone(
  ctx: Context<AddMilestone>,
  project_id: String,
  index: u8,
  description: String,
  amount: u64
) -> Result<()>
💸

release_funds

Immutable fund release with proof documentation

pub fn release_funds(
  ctx: Context<ReleaseFunds>,
  project_id: String,
  index: u8,
  proof_url: String
) -> Result<()>

On-Chain Account Structures

Project Account

#[account]
pub struct Project {
  pub id: String,              // 36 bytes
  pub title: String,           // 104 bytes
  pub ministry: String,        // 54 bytes
  pub total_budget: u64,       // Total allocated
  pub total_allocated: u64,    // Milestone sum
  pub total_released: u64,     // Released funds
  pub milestone_count: u8,
  pub created_at: i64,
  pub authority: Pubkey,       // Ministry wallet
}
// Total: 267 bytes

Milestone Account

#[account]
pub struct Milestone {
  pub project_id: String,      // 36 bytes
  pub index: u8,               // Position
  pub description: String,     // 204 bytes
  pub amount: u64,             // Budget amount
  pub is_released: bool,       // Release status
  pub released_at: Option<i64>,// Timestamp
  pub proof_url: String,       // 204 bytes
}
// Total: 471 bytes

Program Derived Addresses (PDAs)

PDAs ensure deterministic account addresses — no private keys needed:

// TypeScript (Frontend)
import { PublicKey } from '@solana/web3.js';

const programId = new PublicKey(
  'RECtBgp43nvj5inPVW7qo1YN95RwXaYDxLX4dvuJXFY'
);

// Derive Project PDA
const [projectPda] = PublicKey.findProgramAddressSync(
  [Buffer.from('project'), Buffer.from(projectId)],
  programId
);

// Derive Milestone PDA
const [milestonePda] = PublicKey.findProgramAddressSync(
  [Buffer.from('milestone'), Buffer.from(projectId), Buffer.from([index])],
  programId
);

✅ Same seeds = Same address (verifiable by anyone)

Error Handling

ProjectIdTooLong
Project ID must be 32 characters or less
InvalidTitle
Title must be between 1 and 100 characters
InvalidBudget
Budget must be greater than 0
InsufficientBudget
Milestone amount exceeds remaining budget
UnauthorizedAccess
Only project authority can perform this
MilestoneAlreadyReleased
Milestone already released

👨‍💻 Meet the Developer

A solo developer passionate about blockchain transparency

RECTOR

Thę Rēct◎r

Lead Developer & Blockchain Architect

"Building for eternity"

24
Repositories
19
Followers
84
Following
RECTOR LABSEarth

RECTOR is a full-stack blockchain developer specialising in Solana and Web3 applications. With expertise in Rust, Anchor, TypeScript, and Next.js, he builds production-ready decentralised applications that prioritise user experience and real-world impact. OpenBudget.ID represents his commitment to leveraging blockchain technology for social good and government transparency.

🏆 Hackathon Alignment

Designed to excel across every evaluation criterion

Impact Potential (35%)

⭐⭐⭐⭐⭐
  • Addresses corruption & transparency — a critical national challenge
  • Perfectly aligned with Indonesia's Digital 2045 vision
  • Scalable to all ministries and regional governments

Technical Feasibility (25%)

⭐⭐⭐⭐⭐
  • Fully functional MVP deployed on Solana devnet
  • Solid hybrid architecture (on-chain + off-chain)
  • Production-ready with self-healing capabilities

Innovation (20%)

⭐⭐⭐⭐⭐
  • Novel self-healing DB ↔ blockchain sync system
  • Blockchain as invisible infrastructure (UX-first)
  • Design language inspired by Indonesian batik

Business Feasibility (20%)

⭐⭐⭐⭐⭐
  • Clear adoption path: pilot with 1 ministry → scale nationally
  • Government as primary user — strong sustainability model
  • Open API for NGO/media integration

Let's Build a More Transparent Indonesia

OpenBudget.ID is more than an application — it is a movement toward more accountable and trustworthy governance.

Built for Garuda Spark 2025 🇮🇩

Superteam Indonesia × Ministry of Communication and Digital Affairs × Ministry of Creative Economy

Pitch Deck
Garuda Spark 2025
🏆
View our hackathon presentation 🎯