hackquest logo

TakumiPay: bridging USDG to 44M+ indonesian QRis merchants

Send and Recieve USDG money across the sea and instantly spendable to any of 44M+ indonesian QRis merchants. Simplest user onboarding with Passkey and Google sign in, no private keys, no seed phrase

Video

Hình ảnh dự án 1
Hình ảnh dự án 2
Hình ảnh dự án 3
Hình ảnh dự án 4

Công nghệ sử dụng

React
Node
Ethers
openzeppelin
Web3
Solidity

Sự miêu tả

TakumiPay bridges USDG to QRIS, one of the largest QR payment networks in Southeast Asia.

USDG holders on Arbitrum and Robinhood Chain can scan a QRIS code and spend USDG at Indonesian merchants, who receive rupiah. QRIS is reported to reach 44M+ merchants.

The problem

Stablecoins are easy to hold and hard to spend. Paying for everyday things means moving to an exchange, selling, and withdrawing to a bank. Seed phrases and gas tokens

keep ordinary users out.

4. Approve with the passkey. The app calls processMerchantPayment on the TakumiPay contract, which pulls the USDG.

5. The backend pays the merchant in IDR. The same on-chain path also pays utility bills.

Smart contract

TakumiPay v2.1.0 is a UUPS proxy with replay-safe signed quotes, a token allowlist, per-token exit caps with timelocks, two-step ownership transfer, and 178 test

functions. It is deployed on Arbitrum One, Arbitrum Sepolia and Robinhood Chain testnet, with USDG enabled on all three.

Try it

- Preview APK (Android, install on a phone with biometrics): \https://drive.google.com/file/d/1h1OTzwFwwR9FzChcKUNEp061nYt7gfJo/view?usp=sharing\

- Demo video: \https://youtu.be/ZwcOpxk1QX8\

- GitHub, with contract addresses, transaction hashes and a test QRIS merchant to scan: \https://github.com/Planckify-Labs/arbitrum-submission\

Feature highlights

Onboarding built for people who have never used crypto

- Passkey sign-up. Face ID or fingerprint creates the wallet. There is no seed phrase to write down, lose or get phished.

- Google sign-in. Sign in with a Google account and confirm with a one-time code. It's an account people already know.

- Encrypted backup to your own Google Drive. Restore on a new phone with a passphrase. The backup is encrypted on the device, so TakumiPay never holds your keys.

- Biometric lock with a PIN fallback. Phones with no screen lock still get protection.

Spending USDG in the real world

- QRIS scan-to-pay. Scan an Indonesian QRIS code and pay in USDG, and the merchant receives rupiah.

- Signed rupiah quotes. The backend prices the amount in USDG and signs it (EIP-712), so the price is fixed before you approve and can't be replayed.

- Everyday bills. Pay electricity tokens, phone credit and mobile data from the same balance.

- Pay gas fee with stablecoin

- Deposit for points. Turn USDG into a stored-value balance for fast payments.

- Send and receive USDG with the live network fee shown before you confirm.

Takumi Agent

- Natural-language and voice. Say "pay this bill with 5 USDG" and the agent prepares the action.

- The agent only proposes. Every write action goes through an approval card built from the transaction details, not from the model's words.

- Push notifications for incoming transfers and payment status.

Trust and safety

- Hardened contract: UUPS proxy, token allowlist, per-token exit caps with timelocks, two-step ownership, and 178 test functions.

- Plain-language errors. Users never see raw technical error text.

Two cautions on wording:

- Google backup/login: don't say "tested on device" for either one. It's implemented, and my notes say it hasn't been verified on a physical device. If you have tested

it, say so.

Tiến độ hackathon

- Deployed the TakumiPay contract to Arbitrum One with USDG and USDC enabled and a 24-hour withdrawal delay.

- Deployed it to Robinhood Chain testnet with USDG enabled.

- Enabled Paxos testnet USDG on the Arbitrum Sepolia deployment.

- Ran live testnet calls with real Paxos USDG:

- On Robinhood Chain testnet: createTransaction, depositPoints and processMerchantPayment with a real signed quote.

- On Arbitrum Sepolia: createTransaction and depositPoints.

- All transaction hashes are in the repo README.

- Redesigned onboarding for non-crypto users, with the best of both worlds on one login screen:

- Passkey sign-in leads with one tap ("Continue with Face ID / fingerprint") and creates a full wallet with no seed phrase.

- Google sign-in sits right below it, for people who prefer an account they already know.

- Seed phrase and key import move under a quiet "Other ways" row.

- Passkey wallets show a "Passkey" badge, rely on the user's password manager as the backup, and keep the seed reveal as an escape hatch.

- Reworked the sign-in flow so key setup shows clear progress after the passkey prompt closes, and the lock screen and notification prompt appear after the user lands on

Home.

- Registered Arbitrum One, Arbitrum Sepolia and Robinhood Chain, with USDG token rows, in the backend, and focused the app on them with USDG handling by contract address.

- Added a USDG to IDR rate so QRIS payments in USDG get a rupiah price.

- Published the submission hub on GitHub with a "Deployed contracts" table, a scannable test QRIS merchant, the preview APK and the demo video.

Trạng thái huy động vốn

Not raising — bootstrapped/self-funded.

Trưởng nhóm
SSatria Ali
Liên kết dự án
Triển khai Hệ sinh thái
Arbitrum OneArbitrum One
Ngành
DeFiInfraAI