OpenBudget

OpenBudget.ID

Transparansi Anggaran Pemerintah Berbasis Blockchain

🏆 Garuda Spark 2025⚡ Cypherpunk Colosseum🇮🇩 Digital Indonesia 2045

Setiap rupiah anggaran publik dapat dilacak, diaudit, dan diverifikasi oleh warga negara — didukung oleh Solana Blockchain.

💔 Masalah yang Dihadapi

Korupsi dan penyalahgunaan anggaran publik merusak kepercayaan rakyat terhadap pemerintah

🕵️

Kurangnya Transparansi

Masyarakat tidak dapat mengakses data detail penggunaan anggaran pemerintah secara real-time

72%
Warga tidak percaya pengelolaan APBN
📝

Data Dapat Dimanipulasi

Sistem pencatatan tradisional rentan terhadap perubahan retroaktif dan pemalsuan dokumen

Rp 182 T
Kerugian negara akibat korupsi (2015-2023)

Audit Lambat & Mahal

Proses audit manual memakan waktu berbulan-bulan dan membutuhkan biaya besar

6-12 bulan
Waktu audit rata-rata

✨ Solusi: OpenBudget.ID

Blockchain sebagai infrastruktur invisible yang membuat setiap transaksi anggaran immutable (tidak dapat diubah), transparent (dapat diverifikasi siapa saja), dan real-time.

Bagaimana Cara Kerjanya?

1

Kementerian Mendaftarkan Proyek

Login dengan Google OAuth, buat proyek anggaran draft di database

2

Publikasi ke Blockchain Solana

Proyek di-publish ke blockchain menjadi record immutable dengan Wallet signature

3

Tambahkan Milestone Realisasi

Setiap pencairan dana dicatat sebagai milestone on-chain dengan bukti dokumen

4

Warga Verifikasi Real-Time

Publik dapat melihat, mencari, dan memverifikasi setiap transaksi via Solana Explorer

Hybrid Architecture

🔗 On-Chain (Solana)
Immutable spending records — Source of Truth yang tidak bisa diubah siapa pun
💾 Off-Chain (PostgreSQL)
Searchable metadata & cache — Fast queries untuk UX yang optimal
🌉 Bridge (Next.js API)
Koordinasi DB ↔ Blockchain dengan self-healing auto-sync

🎥 Demo Video

6 scene menampilkan full journey OpenBudget.ID

Dari overview publik hingga verifikasi on-chain di Solana Explorer

1. Overview Public Page

Tampilan halaman publik untuk melihat semua proyek transparansi

1 / 6

💡 Tip: Gunakan tombol ← → untuk navigasi, atau swipe pada mobile

⚡ Fitur Unggulan

Teknologi canggih untuk transparansi maksimal

🏛️

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

⛓️ Arsitektur Solana Smart Contract

Immutable, dapat diaudit, dan transparan — dibangun dengan Anchor Framework di 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

👨‍💻 Kenali Developer-nya

Developer solo yang bersemangat tentang transparansi blockchain

RECTOR

Thę Rēct◎r

Lead Developer & Blockchain Architect

"Membangun untuk keabadian"

24
Repositories
19
Followers
84
Following
RECTOR LABSEarth

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

🏆 Kesesuaian Hackathon

Dirancang untuk unggul di setiap kriteria evaluasi

Potensi Dampak (35%)

⭐⭐⭐⭐⭐
  • Mengatasi korupsi & transparansi — masalah nasional kritis
  • Selaras sempurna dengan visi Digital Indonesia 2045
  • Dapat diskalakan ke semua kementerian & pemerintah daerah

Kelayakan Teknis (25%)

⭐⭐⭐⭐⭐
  • MVP yang sepenuhnya fungsional di-deploy di Solana devnet
  • Hybrid architecture yang solid (on-chain + off-chain)
  • Siap produksi dengan kemampuan self-healing

Innovation (20%)

⭐⭐⭐⭐⭐
  • Sistem sinkronisasi self-healing DB ↔ blockchain yang baru
  • Blockchain sebagai infrastruktur invisible (UX-first)
  • Bahasa desain yang terinspirasi batik Indonesia

Kelayakan Bisnis (20%)

⭐⭐⭐⭐⭐
  • Jalur adopsi yang jelas: pilot dengan 1 kementerian → skalakan secara nasional
  • Pemerintah sebagai pengguna utama — keberlanjutan yang kuat
  • Open API untuk integrasi NGO/media

Mari Wujudkan Indonesia yang Lebih Transparan

OpenBudget.ID bukan hanya aplikasi — ini adalah gerakan menuju pemerintahan yang lebih akuntabel dan dapat dipercaya.

Built for Garuda Spark 2025 🇮🇩

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