🎯 How ZakGT Fish Bidding Works
Step-by-step: from sign-up to fish in your tank. Read this once and you'll know everything — the icon-grid bid system, anti-snipe timer, escrow, free-shipping rules, and the 6 fish-care basics.
The 10-step flow at a glance
Top row = before the auction ends. Bottom row = after. The dashed arrow is anti-snipe: any bid in the last 2 minutes extends the timer by +2 min.
Browse — no account needed
Anyone can browse /bidding and watch live auctions in real-time. Prices, top bidders, and countdowns are public. You only need an account when you want to place a bid.
Past sales live at /bidding/gallery so you can study what fish typically sell for before joining.
Sign up — Gmail + 2FA only
Registration is Gmail-only (anti-spam policy). Cloudflare Turnstile captcha + first-login email code keep bots out. Two-factor authentication is required on every login — set it up once with any authenticator app (Google Authenticator, Authy, 1Password).
Max 2 accounts per device fingerprint, ever. Honest users never hit this — it stops farm accounts.
Save your shipping address
Before your first bid, save the address the fish will ship to. The form is the same one our shop uses (4848oneshop checkout) — your address syncs automatically across the whole ZakGT platform, so you only fill it once.
Fields: full name · phone · street · city · province · VET Express branch · country. Cambodia provinces dropdown is built-in. Label each address (Home / Office / etc.) and pick one as default.
Why this matters: a real shippable address is the strongest anti-scam signal — scammers don't give a real address. Plus admin already needs the address to ship your fish, so giving it upfront skips a back-and-forth after you win.
You can save up to 10 addresses, swap between them per-bid, and update any time from the bid page.
Top up + subscribe (1 coin / month)
ZakGT Coins are the bidding currency. 1 ZakGT Coin = 1 USD = 4,000 KHR (locked). Top up with Stripe, PayPal, or ABA (Cambodia).
You need bid amount + 2 coins in your wallet to place a bid (the +2 is the shipping reserve — refunded if you win 5+ fish on the same day).
You also need an active ZakGT subscription to bid or comment. Subscribe for 1 coin / month — months stack, no auto-renew. Browsing the auctions is free.
Coins are tracked in CoinMint (creation) + CoinLifecycle (FIFO burn) for full audit history.
Place a bid — icon grid + Yes/No
Open any live auction at /bidding/{code}. You'll see a grid: 1, 2, 3, ... 10, 20, 30, ... 100 and a custom-amount field. Any amount must be strictly greater than the current price.
Pick a number → big confirm popup Bid 25 coins? → tap Yes. The bid is strict — no edit, no cancel after you confirm.
The coins are immediately locked in escrow. If someone outbids you, your coins are refunded automatically (with a transaction log). If you win, the coins go to ZakGT and your fish ships.
The final 10 seconds — anti-snipe
Most auctions have a 24-hour timer. The drama happens in the last 2 minutes:
- In the final 2 minutes, any new bid extends the timer by +2 minutes (anti-snipe rule).
- In the final 10 seconds, the page switches to 00:09:99 centisecond mode (50ms tick).
- The auction only truly ends when there are 2 full minutes of silence. So a bidding war can extend an auction by hours.
That's why "sniping" (last-second bid) doesn't work on ZakGT — the loser always gets a chance to fight back.
The auction ends — automatic
Two minutes of silence after the timer hits zero, the auto-finalizer (runs every 30 seconds) closes the auction. Status changes to SOLD and the winner is locked in.
You don't need to be online for this. A Telegram message hits the winner automatically (if their account is linked to ZakgtBot).
Winner chat — payment confirmation
The system opens a Winner-Bidder Chat with the ZakGT admin team. They confirm your payment is real (cash on delivery, ABA transfer, etc.) before the fish ships.
Admin approves → you get +1 Trust Bidder (TB) ticket as a reward. TB tickets give you a 25%-discount equivalent on future bids (1 TB = 0.25 coins).
Don't pay = strike penalty. Strike 1 = -2 coins + 1 day ban. Strike 3 = 7 day ban + agreement. Strike 4 = permanent. Pay on time, no problem.
Shipping — bundle math
The 2-coin shipping reserve from each bid resolves like this:
- 1st fish you win in a day — ships for the +2 coin reserve. No surprise charges.
- 2nd–4th fish same day — bundle together with the 1st. The reserves on 2nd/3rd/4th are released back to your wallet (one shipping fee, not four).
- 5th+ fish same day — free shipping. The reserve is auto-refunded by the scheduler the moment the auction finalizes.
The system runs the math for you; you don't have to ask. Refund shows up in your transaction history as bidding_shipping_refund.
Fish in your tank — 6 care basics
Winning the auction is step one. Keeping the fish alive is step two. The six basics:
Test weekly. Sudden swings are the #1 silent killer.
Heater + thermometer mandatory. Avoid sun and AC drafts.
20–30% weekly. Age + dechlorinate tap water 24h first.
Only what fish finish in 2 minutes. Overfeeding kills.
Clean filter media in tank water, never tap (kills bacteria).
New arrivals in a separate tank. Stops outbreaks.
FAQ — quick answers
I have coins and a tool license — can I bid?▼
Not yet. To bid OR comment you also need an active ZakGT subscription (separate from tool licenses). The cheapest path is /dashboard/subscribe — 1 coin per month, stacks, no auto-renew. Coin balance alone is for paying the bid + shipping reserve — it doesn't unlock the bid endpoint.
What if I'm outbid? Do I lose my coins?▼
No. The moment someone bids higher, your escrowed coins are refunded automatically to your wallet with an audit transaction (bidding_outbid_refund). You can bid again with the same coins.
Can I raise my own bid?▼
Yes. Your previous escrow is released first, then your new (higher) bid is charged. You never double-pay. The transaction log shows bidding_raise_refund for the release.
What is a Trust Bidder (TB) ticket?▼
TB tickets are a loyalty reward. 1 TB = 0.25 coins when used in a bid. You earn +1 TB every time admin approves a successful auction win. Stack them for cheaper future bids.
Can sellers bid on their own auction?▼
No. The server blocks seller_id === user_id with HTTP 403. Shill bidding is impossible by design.
What if my country code isn't in the dropdown?▼
The default list is +855 / +1 / +44 / +66 / +84. If you need another country, email [email protected] — we'll add it.
What if the auction ends but I don't see a winner?▼
The auto-finalizer waits 2 minutes of silence before closing (so a last-second bidder can't miss the snipe-extension). After that window, status flips to sold and the winner is locked. If 30 seconds later it's still "active", refresh — the scheduler runs every 30s.
Can I cancel a bid?▼
No. Bids are strict — the Yes/No confirm popup is the last chance to back out. After Yes, the bid is locked into the auction history. This is what keeps the auction honest.
Showcase auctions vs real auctions?▼
A small number of auctions are labelled SHOWCASE — promotional content created by ZakGT to demonstrate the platform. They don't pollute real winner counts. Everything else is a genuine auction between real users.
Ready to bid?
Open a live auction, pick a number, tap Yes. The rest is on the system.