What It Is
Blink Market is a binary prediction market protocol on the Sui blockchain, and one of a few Sui-based financial applications I’ve built — alongside BlueLink, a blue bond tokenization platform. Users trade on binary outcomes — YES or NO — and each successful trade creates an on-chain position that can be redeemed for its full notional value if the selected outcome wins.
Traditional prediction-market AMMs often struggle with poor capital efficiency, slippage, fragmented liquidity, and difficult market bootstrapping — limitations that are especially visible in short-lived or specialized markets, where liquidity providers may not want to lock capital in a pool. Blink Market replaces the AMM pricing curve with professional off-chain quoting: a Professional Market Maker (PMM) prices trades off-chain using off-chain information and risk models, while custody, collateral, settlement, and payouts stay verifiable on-chain.
My Role
I worked on the backend and the Sui Move contracts — the Go PMM server and the Move 2024 modules described below.
How It Works
Blink Market uses a hybrid architecture — off-chain RFQ pricing, on-chain settlement:
- A user requests a quote from the Go-based PMM server.
- The PMM pricing engine calculates a price in basis points.
- The server assigns a sequence number and expiration time.
- The quote is encoded and signed with an Ed25519 key.
- The user submits the quote and payment to the Sui smart contract.
- The contract verifies the signature, expiration, PMM identity, and sequence number.
- User and PMM collateral are combined in the market pool.
- A Sui Position object is minted to the user.
- After resolution, winning positions can be redeemed on-chain.
The smart contracts are written in Move 2024 and split into modules for market management, RFQ execution, collateral accounting, fee calculation, administration, and events. The PMM server is written in Go and handles quote generation, signing, sequence persistence, rate limiting, and quote archiving through the /v1/quote API.
A few things I’d call out about the design:
- Each trade only requires the collateral needed to cover its specific payout, rather than locking capital in a shared pool.
- Every successful trade mints a transferable, wallet-owned Sui Position object, so ownership and redemption rights are on-chain and verifiable.
- Quotes are cryptographically bound to a market, side, size, price, PMM, sequence number, and expiration time; PMM public keys are cryptographically bound to their Sui addresses, expiration timestamps prevent stale quotes from being executed, and strictly increasing sequence numbers prevent replay.
- The Go server reproduces the contract’s exact 97-byte signed-message format, verified through golden test vectors, so the off-chain and on-chain sides stay in lockstep.
- Collateral movement and position creation are atomic — they succeed or fail together — and smart-contract-enforced collateralization guarantees every winning position can be redeemed for its stated notional value.
- Signed quotes are archived for auditability, but archival failures don’t block quote delivery.
What’s Next
The PMM server currently prices markets with configurable reference pricing, but it’s built with a pluggable pricing architecture — it exposes an interface for swapping in market-driven pricing engines later.