PulsarFi - 1:1 Asset-Backed Indonesian Equity (IDX) Tokenization




PulsarFi is a 1-to-1 backed stock tokenization platform for Indonesian IDX equities, built on Arbitrum Sepolia.
The idea is simple: Indonesian stocks like BUMIP, ENRGP, and TLKM are illiquid outside trading hours, locked to brokerage accounts, and inaccessible to most DeFi tooling. PulsarFi turns each stock position into an ERC-20 receipt token called a Pulsar Stock, paired against IDRX liquidity pools via Uniswap V2. Users can trade these tokens 24/7 without leaving their wallet.
Every token in circulation is backed 1-to-1 by a real stock position held by licensed custodians. To mint new supply, a proposal must pass a 3-of-5 on-chain multisig approval across independent custodians before anything gets created. No single custodian can mint alone, and since custodians are competing firms in practice, collusion is economically irrational.
The flow for users is straightforward: connect a wallet, swap IDRX for any listed Pulsar Stock, and hold or trade freely. KYC is only required at the redemption step, not for trading. Users who want to exit back to the real stock submit a redeem request, which custodians then process off-chain.
On the custodian side, there is a full management console covering mint proposals, approval queues, redemption processing, KYC access control, and reserve records. Authentication across the whole platform uses SIWE (EIP-4361), so wallet signatures are the only credential needed.
Revenue runs through two channels: a 0.3% LP fee on every swap that accumulates in the pool, and a configurable redeem fee on exits. Collected fees are split 70/30, with 70% distributed equally across active custodians and 30% going to the protocol treasury.
The stack is Solidity with Foundry for the contracts, Go/Gin/PostgreSQL for the backend, and Next.js with RainbowKit on the frontend. All contracts are deployed and verified on Arbitrum Sepolia, including a forked Uniswap V2 router deployed from official build artifacts to avoid the pair init code hash mismatch issue that causes silent revert in liquidity provisioning.
We started on May 24 with a full scaffold across all three layers: Solidity smart contracts with Foundry, a Go/Gin/PostgreSQL backend, and a Next.js frontend. The core pages (swap, markets, portfolio, custodian console) were all scaffolded on day one.
By May 27 we had the full end-to-end flow working: SIWE wallet auth, swap transactions routed through PulsarProtocol to the Uniswap V2 pool, and the 3-of-5 custodian mint approval pipeline connected from the frontend through to on-chain execution.
The biggest technical blocker we hit was the Uniswap V2 router deployment. The router computes pair addresses from a hardcoded init code hash, so if the factory and router come from different builds, every executeMint silently reverts during liquidity provisioning even when balances and approvals are valid. We resolved this by deploying the router directly from official Uniswap V2 build artifacts instead of recompiling locally.
May 28-30 was spent tightening the custodian flow, fixing chain-switching behavior on Arbitrum Sepolia, and cleaning up wallet connection edge cases.
On June 1 we shipped the user-side redeem flow, added an IDRX testnet faucet pre-funded with 500 billion IDRX for judges and testers, and set up Docusaurus documentation covering the full architecture.
By the end we had all five core pages working (swap, markets, stock detail, portfolio, custodian console), all contracts verified on Arbiscan, and the full mint-to-trade-to-redeem lifecycle functional on testnet.
Not currently fundraising. The project was built independently for this hackathon with no external investment.