Checklist Admin — Mint Utilitas NFT¶
Terakhir diperbarui: 2026-07-05
Panduan operasional untuk menerbitkan sertifikat, stamp, voucher on-chain, dan voucher Garuda Pay ke wallet user.
Prasyarat¶
| Item | Cara dapat |
|---|---|
| Admin API Key | secrets/admin-console.production.txt atau env ADMIN_API_KEY di VPS API |
| Alamat wallet user | Mint GNFT / KYC selesai — salin dari Admin → Akun atau Explorer |
| API production | https://api.garudachain.id |
export ADMIN_KEY="…"
export WALLET="0x…"
export API_URL="https://api.garudachain.id"
UI Admin (tanpa terminal)¶
- Buka Garuda Admin Console (Cloudflare Pages / admin staging)
- Login dengan Admin API Key
- Akun → cari wallet → Mint utilitas NFT (prefill alamat otomatis)
- Atau sidebar → Utilitas NFT → tempel alamat manual
- Isi form → Mint / Terbitkan Voucher
- Mintara user buka Wallet → Cards
Checklist per jenis utilitas¶
1. Sertifikat Digital (ERC-721 Certificate)¶
Kapan: peserta selesai pelatihan / program UMKM.
- [ ] Konfirmasi wallet user benar
- [ ] Mint sertifikat (UI atau curl)
- [ ] User lihat panel Sertifikat Digital di Cards
- [ ] Verifikasi di Explorer (opsional)
export PROGRAM_NAME="Pelatihan UMKM Garuda Chain"
export RECIPIENT_NAME="Nama Peserta"
bash scripts/admin/utility-mint.sh certificate
2. Loyalty Stamp (ERC-1155, tokenId 1)¶
Kapan: reward loyalitas Garuda Pay (N transaksi UMKM).
- [ ] Tentukan jumlah stamp
- [ ] Mint ke wallet merchant/pembeli
- [ ] User lihat Reward & Voucher di Cards
export STAMP_AMOUNT=5
export NOTE="10 transaksi Garuda Pay bulan ini"
bash scripts/admin/utility-mint.sh stamp
3. Voucher Merchant on-chain (ERC-1155, tokenId 2)¶
Kapan: voucher potongan dari program loyalitas (on-chain inventory).
export VOUCHER_AMOUNT=1
export NOTE="Voucher potongan merchant partner"
bash scripts/admin/utility-mint.sh voucher
4. Voucher Garuda Pay signed (EIP-712)¶
Kapan: promo checkout — user pilih voucher saat bayar merchant.
- [ ] Set diskon IDR (min. Rp 1.000)
- [ ] Opsional: batasi ke merchant tertentu (
MERCHANT_ADDRESS) - [ ] User pilih voucher di flow Garuda Pay
export VOUCHER_DISCOUNT_IDR=50000
export VOUCHER_LABEL="Promo Garuda Pay Juli"
export EXPIRES_IN_DAYS=30
bash scripts/admin/utility-mint.sh pay-voucher
5. Tiket Event (ERC-1155, tokenId 3) — opsional¶
Kontrak sudah ada; gate event belum live di wallet.
bash scripts/admin/utility-mint.sh ticket
Cek status wallet¶
bash scripts/admin/utility-mint.sh status
Atau curl manual:
curl -s "${API_URL}/api/v1/admin/certificates/${WALLET}" \
-H "x-admin-key: ${ADMIN_KEY}" | jq .
curl -s -X POST "${API_URL}/api/v1/admin/multi-token/mint" \
-H "Content-Type: application/json" \
-H "x-admin-key: ${ADMIN_KEY}" \
-d "{\"address\":\"${WALLET}\",\"tokenId\":1,\"amount\":5}"
Demo lengkap (satu wallet)¶
export ADMIN_KEY="…"
export WALLET="0x…"
bash scripts/admin/utility-mint.sh all
Troubleshooting¶
| Gejala | Penyebab umum |
|---|---|
401 Kunci admin tidak valid |
ADMIN_KEY salah atau expired |
503 ADMIN_API_KEY belum dikonfigurasi |
Env API VPS belum set |
| Mint sukses tapi Cards kosong | User buka wallet yang salah / belum refresh |
Wallet minter tidak punya izin MINTER di GarudaMultiToken |
Admin Console → Utilitas NFT → Perbaiki izin minter, atau bash scripts/mainnet/grant-utility-minter-roles.sh di VPS |
| Voucher Pay tidak muncul di merchant | Voucher terikat merchant lain atau expired |
Referensi¶
- Engine: UTILITY_ENGINE.md
- API admin: API_DOCUMENTATION.md
- Script:
scripts/admin/utility-mint.sh