Polymarket Relayer Client Tutorial
Panduan TypeScript praktikal untuk Polymarket Relayer Client: pemasangan, pengurusan dompet, aliran biasa (kelulusan, split/merge, pesanan), dan petua untuk integrasi tanpa gas.
Polymarket Relayer Client Tutorial
Panduan ini menunjukkan cara menggunakan Polymarket Relayer Client dalam TypeScript untuk membina aliran tanpa gas: penyebaran dompet, pengurusan kelulusan ERC-20, operasi CTF split/merge/redeem, dan penempatan pesanan pada CLOB. Jika anda mahukan integrasi bekerja dan bebas gas dengan Polymarket, Polymarket Relayer Client ialah SDK yang akan anda gunakan terlebih dahulu.
Perkara utama
- Polymarket Relayer Client menyediakan SDK TypeScript dan Python untuk mengendalikan penyebaran dompet, kelulusan, operasi CTF, dan penempatan pesanan melalui Polymarket Relayer.
- Transaksi Polymarket adalah tanpa gas untuk pengguna akhir: Relayer menaja gas dan mengabstrakkan penyebaran dompet serta kelulusan.
- Aliran biasa ialah: onboarding dompet → semak/beri kelulusan → split (mint) set lengkap → buat pesanan (limit atau FAK) → merge/redeem selepas penyelesaian.
- Sentiasa reka untuk risiko resolusi dan penyelesaian: pertikaian UMA, pengisian separa/slippage, dan masa adalah pertimbangan sebenar.
Siapa panduan ini untuk
Anda ialah pembangun yang membina integrasi, bot, atau komponen UX yang meletakkan dagangan pada CLOB Polymarket dan berinteraksi dengan CTF. Anda harus selesa dengan TypeScript, dompet EVM (MetaMask, Rabby, dan lain-lain), dan konsep web3 asas.
Gambaran ringkas apa yang diliputi SDK
- Onboarding dompet: menyebarkan Proxy wallets pada penggunaan pertama atau menggunakan Gnosis Safe jika tersedia.
- Pengurusan kelulusan ERC-20 untuk pUSD dan token lain yang digunakan dalam split/merge.
- Operasi CTF: split, merge, redeem token hasil (ERC-1155).
- Penempatan dan pembatalan pesanan terhadap CLOB melalui Relayer.
- Header atribusi Builder apabila anda bertindak sebagai Builder (lihat dokumentasi Builder Program).
Nota: Polymarket menggunakan Polygon (chain ID 137), dan aset penyelesaian untuk dagangan ialah pUSD (wrapped USDC Polymarket). Semua transaksi pengguna adalah tanpa gas melalui Relayer.
Pasang dan langkah pertama
Pasang pakej TypeScript dan pakej penyedia web3 standard. Nama pakej tepat mungkin berbeza mengikut versi; contoh di bawah menggunakan laluan import kanonik yang biasa dalam SDK relayer. Jika nama pakej berbeza dalam projek anda, rujuk README SDK.
Shell
npm install @polymarket/relayer-client ethers
Inisialisasi asas (TypeScript)
import { RelayerClient } from '@polymarket/relayer-client';
import { ethers } from 'ethers';
// Use a wallet provider exposed in the browser (MetaMask, Rabby, etc.)
const provider = new ethers.providers.Web3Provider((window as any).ethereum);
const signer = provider.getSigner();
const relayer = new RelayerClient({
signer,
network: 'polygon', // Polymarket runs on Polygon (chainId 137)
});
Nota pada contoh di atas: konstruktor RelayerClient dan objek pilihan adalah illustratif. Semak README SDK untuk tandatangan konstruktor dan pilihan sebenar.
Onboarding: penyebaran dompet dan kelulusan
Polymarket menyokong dua model dompet: Gnosis Safes yang telah disebarkan dan Proxy wallets yang auto-disebarkan pada transaksi pertama. SDK Relayer mengendalikan kedua-dua aliran dan menaja gas penyebaran.
Langkah onboarding biasa yang patut anda laksanakan dalam UX:
- Kenal pasti sama ada pengguna sudah mempunyai Proxy atau Safe. Jika tidak, panggil helper SDK untuk deploy-on-first-use.
- Pastikan pengguna mempunyai pUSD dalam dompet mereka. Jika tidak, beritahu cara untuk bridge atau mendeposit (lihat panduan pembiayaan Polymarket).
- Semak status kelulusan ERC-20 untuk pUSD dan minta kelulusan tanpa gas melalui Relayer jika perlu.
Contoh: semak & minta kelulusan (TypeScript)
// Pseudocode — adapt to SDK methods
const pUsdAddress = '0x...'; // use SDK constant if provided
const allowance = await relayer.checkAllowance(pUsdAddress);
if (allowance.lt(requiredAmount)) {
await relayer.requestApproval(pUsdAddress, requiredAmount);
}
Kerana Relayer menaja gas, panggilan kelulusan dihantar melalui Relayer dan bukannya pengguna menandatangani transaksi gas on-chain secara langsung.
Aliran CTF: split, merge, redeem
Conditional Token Framework (CTF) ialah cara Polymarket mewakili hasil (token ERC-1155). Susunan tipikal apabila anda ingin membeli set lengkap:
- split: bakar pUSD dan mint set lengkap token hasil
- selepas berdagang, merge: tukar baki token hasil kembali ke posisi umum
- redeem: selepas resolusi, bakar token hasil pemenang untuk $1.00 setiap satu
Contoh split (TypeScript)
// Pseudocode using the Relayer SDK
const conditionId = '0x...';
const amount = ethers.utils.parseUnits('1.0', 6); // pUSD has 6 decimals
await relayer.split(conditionId, amount);
SDK akan mengendalikan kelulusan yang diperlukan dan penghantaran melalui relayer. Selepas split, anda akan menerima token hasil ERC-1155 dalam Proxy atau Safe pengguna.
Meletakkan pesanan pada CLOB
CLOB mendedahkan penempatan pesanan dan bacaan orderbook. Relayer Client merutekan penempatan pesanan melalui Relayer, mengendalikan header atribusi Builder jika anda seorang Builder.
Jenis pesanan penting:
- Limit orders: meletakkan pesanan di buku dan berpotensi menjadi maker (yuran maker adalah sifar).
- Market orders (FAK): SDK menyediakan helper untuk membuat pesanan FAK yang melaksanakan segera atau batalkan.
Contoh: letakkan pesanan pasaran FAK (TypeScript)
// Conceptual example
const instrumentId = 'POLY_MARKET_INSTRUMENT_ID';
const side = 'buy';
const size = ethers.utils.parseUnits('10', 6);
const result = await relayer.createMarketOrder({
instrumentId,
side,
size,
slippageTolerance: 0.01, // 1% slippage protection
});
console.log('fill result', result);
Jika anda beroperasi sebagai Builder, sertakan header atribusi atau kelayakan Builder seperti yang diperlukan oleh Builder Program. Builder Program menawarkan had relayer berperingkat dan ganjaran; dapatkan kelayakan di https://polymarket.com/settings.
Membaca data pasaran & WebSocket
Untuk bacaan bukan dagangan, gunakan permukaan REST dan WebSocket awam Polymarket:
- Gamma API: https://gamma-api.polymarket.com (markets, events)
- Data API: https://data-api.polymarket.com (positions, trades, open interest)
- CLOB API: https://clob.polymarket.com (orderbook and order placement APIs)
- Market WebSocket: wss://ws-subscriptions-clob.polymarket.com/ws/market for real-time book updates
Apabila anda melanggan feed WS pasaran, minta custom_feature_enabled: true untuk menerima event best_bid_ask dan hadkan langganan kepada 500 instrumen setiap sambungan.
Pengendalian ralat dan perangkap biasa
- Pengisian separa: pesanan pasaran (FAK) boleh mengisi secara separa. Sentiasa periksa keputusan dan urus baki.
- Slippage: lindungi pesanan pasaran agresif dengan had slippage. SDK sering mendedahkan tetapan slippage pada helper pasaran.
- Masa resolusi dan penyelesaian: pertikaian UMA boleh menghentikan penyelesaian. Reka UI dan perakaunan untuk menggambarkan dana yang belum diselesaikan sehingga redeem selesai.
- Perubahan saiz tick: saiz tick bergerak dari $0.01 ke $0.001 dekat ekstrem harga; kendalikan acara tick_size_change WebSocket.
Strategi ujian
- End-to-end sandbox: uji keseluruhan onboarding — deploy Proxy wallet, minta kelulusan, split, letakkan pesanan, dan merge/redeem.
- Unit test pembalut fungsi: mock kaedah relayer untuk mengesahkan urutan kelulusan dan split yang betul.
- Sedar kadar had: Gamma /markets mempunyai had kadar (300 req / 10 s untuk /markets) — kumpulkan dan cache bacaan.
Bagaimana ini menjejaskan logik dagangan atau bot anda
Menggunakan Polymarket Relayer Client menghapus keperluan untuk mengurus gas bagi pengguna akhir dan memudahkan onboarding dengan mengautomasi penyebaran Proxy dan kelulusan. Untuk bot, ini bermakna anda boleh menumpukan pada strategi dan data pasaran: SDK mengurangkan permukaan integrasi untuk melaksanakan aliran split/merge dan pesanan. Walau bagaimanapun, anda masih mesti mengendalikan risiko bukan-pelaksanaan seperti slippage, pengisian separa, dan pertikaian oracle.
Rujukan dan langkah seterusnya
- Polymarket API base URLs: Gamma (https://gamma-api.polymarket.com), Data (https://data-api.polymarket.com), CLOB (https://clob.polymarket.com)
- Market WebSocket: wss://ws-subscriptions-clob.polymarket.com/ws/market
- Butiran Builder Program dan kelayakan di https://polymarket.com/settings
Nota penutup: Polymarket menaja gas melalui Relayer dan menyediakan SDK TypeScript serta Python untuk mempermudah aliran kerja dompet dan CTF yang tipikal. Polymarket Relayer Client adalah laluan disyorkan untuk membina integrasi tanpa gas yang berinteraksi dengan CLOB dan CTF.
Soalan lazim
Apakah Polymarket Relayer Client?
Polymarket Relayer Client ialah SDK (TypeScript dan Python) yang merutekan transaksi pengguna melalui Polymarket Relayer, mengendalikan penyebaran dompet, kelulusan ERC-20, operasi CTF, dan penempatan pesanan supaya pengguna akhir mengalami dagangan tanpa gas.
Masih perlukan pUSD untuk berdagang?
Ya. Aset penyelesaian Polymarket ialah pUSD (wrapped USDC). Relayer menaja gas, tetapi pengguna mesti memegang pUSD untuk melakukan operasi split dan meletakkan pesanan.
Bolehkah saya bertindak sebagai Builder melalui Relayer Client?
Boleh. Builder Program membenarkan pihak ketiga merutekan pesanan dengan header atribusi dan memperoleh yuran Builder. Dapatkan kelayakan di https://polymarket.com/settings dan sertakan header Builder seperti yang dikehendaki oleh SDK.
Adakah Relayer Client mengendalikan kelulusan dan penyebaran dompet secara automatik?
SDK menyediakan helper untuk penyebaran Proxy wallet automatik pada penggunaan pertama dan untuk meminta kelulusan ERC-20 tanpa gas melalui Relayer, memudahkan onboarding.
Di manakah saya boleh membaca kemas kini orderbook masa nyata?
Langgan Market WebSocket di wss://ws-subscriptions-clob.polymarket.com/ws/market. Minta custom_feature_enabled: true untuk menerima event best_bid_ask dan perhatikan had langganan 500 instrumen.
Istilah dirujuk
Panduan berkaitan
Untuk tujuan pendidikan sahaja. Bukan nasihat kewangan, undang-undang atau cukai. Polymarket mungkin tidak tersedia di bidang kuasa anda.