Empty repo → mainnet

Ghoza

A Fullstack Web3 engineer in Indonesia, working any timezone.

I take multichain systems from an empty repo to a live chain — contracts, indexers, and the backends that keep them honest. Backend Engineer at IDRX, Protocol Developer at Celo.

Scroll

Selected work

Three I'd defend line by line.

Labelled honestly: if something was a hackathon build, it says so. Everything here is work I wrote, not work I was standing near.

01

Nusa Regulated DeFi

Production pilot · Polygon mainnet

A lending protocol I took from an empty repo to mainnet, then upgraded in place three times.

Built for an Indonesian regulatory sandbox pilot: post GOIDR or POL as collateral, borrow IDRX. An isolated lending pool with its own storage layer, a two-slope interest rate model, an oracle layer and a health factor module, all UUPS-upgradeable behind ERC1967 proxies. I wrote the 20-step deployment pipeline and ran it against mainnet myself, then upgraded three of those contracts in place while they were live. The last step was handing DEFAULT_ADMIN to an onchain multisig, which I also wrote.

  • Sole author: 25 of 25 commits, ~2,584 lines of Solidity
  • 8 proxies deployed, 3 upgraded in place on live mainnet
  • DEFAULT_ADMIN handed to a multisig after deployment
  • 60 test functions across three suites
Solidity 0.8.20FoundryOpenZeppelin UUPSERC1967PonderPostgreSQLFly.io
02

KaneAI

Hackathon build · live on Celo mainnet

The LLM proposes the move. A Solidity policy contract decides whether it's allowed.

Agents that move money usually do one of two things: take custody of your funds, or ask you to trust whatever the model just said. This does neither. The model proposes; the authority to move funds stays onchain, in a contract the user owns. The policy library enforces per-token spending caps and an allowlist of venues and function selectors, plus the one rule that does most of the work: every payout has to land back at the owner's address. An agent that gets compromised, or just hallucinates, still can't reroute anything. Each user gets their own executor behind an upgradeable beacon.

  • 209 commits in 11 days, solo, across five repos
  • Executor factory live on Celo mainnet (chain 42220)
  • Agent API responds live: chainId 42220, x402 enabled
  • Off-chain policy dry-run before anything is submitted onchain
The same contract, twice. A swap inside the caps clears every rule. A transfer to an address that isn't the owner clears the first two and reverts on the third.
SolidityUUPS + beacon proxyBunHonoviemx402ERC-8004MCP
03

Celiq

Production · client build

Four months on one product, shipped and still running: news ingest through to paid subscriptions.

A crypto market-intelligence product I built and shipped solo for a client: news ingestion, LLM-generated briefs, WhatsApp alert delivery, and Xendit subscription billing. Most of my archive is short sprints; this is the one that ran for four continuous months and had to keep working for paying users the whole time.

  • 325 of 326 commits over four continuous months
  • 52 SQL migrations · 48 frontend routes
  • 55 backend test files covering 307 test cases
The Celiq homepage: a daily crypto market brief in Bahasa Indonesia.
Next.jsSupabasePostgreSQLLLM pipelinesWhatsApp APIXendit
celiq.io

Also shipped

The rest, compressed. Protocols, indexers, keepers and the tooling around them, labelled by how far each one actually got.

PuLend

Production · Story mainnet

NFT-collateralised lending. Sole author of the contracts. The pool held 534,356 USDC and custody of 21 NFTs when last read from Story mainnet at block 20,521,114.

CholeeFi

Testnet · sole author

Automated lending on World Chain where World ID verification raises your LTV and liquidation threshold. Chainlink CRE automation, Data Streams oracle, and a per-user upgradeable Agent contract deployed by factory.

Nusa post-hack recovery

Incident response

After a hack on the Lisk markets I wrote drop-in CToken delegates that kept the exact storage layout and added an admin-only emergency withdrawal. The part I'd point at is the 388-line fork test: it upgrades the live delegates against real mainnet state and proves the remaining funds can actually be moved out.

WallCup

Live · Solana mainnet

Pari-mutuel prediction market. I wrote the Express/Postgres backend across 29 sequential migrations, gasless USDC checkout over x402, exact-integer winner allocation, and idempotent SPL payouts.

Senja

Testnet · Kaia Foundation incubation

The permissionless cross-chain lending protocol behind Senja Labs, built on LayerZero V2 — 66 of 69 contract commits mine, from the initial architecture through to a production-ready protocol.

Caér Finance

Hackathon builds · testnet

A cross-chain lending build carried through five hackathons and re-targeted at a different chain each time: Espresso, Pharos, EduChain, Lisk, and a Hyperlane version. Four of my placements came out of it.

StyLend

Testnet · Arbitrum Stylus

A lending protocol whose 24 contracts are written in Rust and compiled to WASM for Arbitrum Stylus, including chunked init-code uploads and a call-depth refactor to get under Stylus deploy limits.

Paboxo

Hackathon build · HashKey Chain

A Foundry money market with Chainlink CCIP cross-chain supply and borrow, plus an off-chain keeper that only rebalances after it independently verifies the borrower actually paid. All 146 contract commits mine; 170 tests passing.

MintLimiter v2

Prototype

A rewrite of my own mint-authority guard, which found three real bugs in the version I'd written before it: a multi-role bypass, a denial of service on the daily pool, and a limit charged to the wrong account. 67 tests across unit, fuzz, invariant and upgrade suites, plus a stateful fuzzing harness.

Poros

Deployed prototype

An issue tracker built around its MCP server: one personal API key reaches every workspace, so an agent switches project by passing an argument instead of re-authenticating. 16 MCP tools, 109 commits in 18 days.

Tibera PMS

Prototype · outside crypto

A NestJS hotel property-management backend: append-only folio ledger, Indonesian PBJT tax engine, request-scoped multi-tenancy, Redis locks with SELECT FOR UPDATE on availability, and idempotency-keyed exactly-once payment webhooks.

About

Where I actually spend my time.

Most of my work sits in the gap between a contract and everything that has to keep it running: indexers, deploy scripts, alerting, the keeper that wakes up at 3am. It's the least glamorous part of shipping onchain and it's where I'm most useful. I like the problems where being careful is the whole job. Upgrading a live proxy without corrupting storage. Handing admin rights to a multisig without locking yourself out. Writing a fork test that proves a fix works against real mainnet state instead of a mock that agrees with you.

The hardest thing I've debugged

A builder reported that x402 payments on Celo were failing. The symptom was a generic settlement error, which could have been almost anything: the SDK, the RPC, the contract, a malformed signature. I went at it from the chain rather than the logs, walked the settlement wallet's recent transactions, and found it sitting at 0.03 CELO. Every payment was failing because the single wallet sponsoring gas for all of them had run dry. What made it findable in an afternoon was having audited the same facilitator the week before and written down that one hot wallet paid for everything — I had already flagged it as a single point of failure, so I knew where to look when the symptom showed up. After the refill I went back on-chain to confirm it, and it had cleared roughly 51,000 transactions since.

Why me

Most of what I do is unglamorous. Numbered deployment scripts. Upgrading a live proxy without corrupting its storage layout. Handing admin rights to a multisig without locking yourself out of your own protocol. Writing a fork test against real mainnet state instead of a mock that agrees with me. None of it demos well, and all of it decides whether a system survives contact with production. The other half of the answer is repetition: empty repo to a live chain, on my own, and not once.

What I'm looking for

Infrastructure teams building stablecoins, payments, or the rails underneath them — somewhere the work is owned end to end rather than passed between a contracts person and a backend person. I'm most useful where correctness is the constraint rather than speed: money moving across chains, systems that have to keep working long after the demo, and the regulatory conversations that come with both. I've written the contracts and the compliance document that had to satisfy a financial regulator, and I'd rather keep doing both than pick one. Remote suits me; I've worked that way across three countries.

Experience

Five years in. Web3 since 2024.

Download CV (PDF)
Aug 2026 — present

Protocol Developer Celo (cLabs)

Tested the x402 agentic-payment facilitator end to end on testnet and mainnet, reported four infrastructure and security findings, and diagnosed a production outage on-chain. Merged contributions to celo-composer and celopedia-skills.

Jun 2026 — present

Backend Engineer IDRX

Fraud detection, mint-authority hardening and privileged-role monitoring for an Indonesian rupiah stablecoin live across 9 networks. Authored the fraud-management SOP submitted to OJK, Indonesia's financial services authority.

Jul 2025 — present

Mentor DevWeb3Jogja

Authored a four-week Solidity curriculum. 10+ teams I mentored went on to place in hackathons.

Jan 2025 — present

Founding Engineer Senja Labs

Remote, South Korea. Led the technical architecture of a permissionless cross-chain lending protocol from concept to production-ready, through incubation by the Kaia Foundation.

Apr — Jul 2026

Region Ambassador — Indonesia Celo (cLabs)

Ran Indonesia's MiniPay pipeline end to end. The country office-hours format I designed was adopted as the model for other markets. Named in Celo Core Co.'s July 2026 announcement.

Oct 2025 — Apr 2026

Smart Contract Engineer Nusa Finance

Contracts on Polygon for a platform regulated by OJK, a Ponder indexer replacing a legacy PHP service, and the migration of the development stack from Hardhat to Foundry.

Aug — Nov 2025

Smart Contract Engineer IDRX

LayerZero crosschain infrastructure, a multi-chain deployment script collapsing token expansion into a single execution, and on-chain security monitoring with Blockaid.

May 2023 — May 2024

Software Engineer Meiwa Industry Co., Ltd.

Aichi, Japan. A year on the floor of a manufacturing company: migrated the platform from Laravel Livewire to Vue, and built the product search, calendar and KPI tooling used across departments.

Mentoring

As a mentor at DevWeb3Jogja I wrote a four-week Solidity curriculum, and 10+ teams I worked with went on to place in hackathons of their own.

Merged upstream

celo-org/celopedia-skills

4 merged PRs, 3rd-ranked contributor — including correcting the wrong mainnet FeeCurrencyDirectory address in the official builder guide.

celo-org/celo-composer

Merged fix for CVE-2025-55182 across the AI chat template.