Seesaw SDK Guide#
Seesaw ships one canonical v1 SDK surface. All language clients encode the same launch ABI and use generated account readers; signing and submission stay with the integrator's wallet/RPC stack.
Canonical packages#
| Language | Package | Purpose |
|---|---|---|
| TypeScript | @seesaw/core | Kit instructions, PDAs, generated account readers, API and streams |
| TypeScript | @seesaw/reclaim | Reclaim proof canonicalization and external-market lifecycle helpers |
| Python | seesaw-sdk | Canonical instruction, PDA, and account-vector surface |
| Rust | seesaw-sdk | Canonical instruction, PDA, and account-vector surface |
The Reclaim service can create and resolve markets whose source market was originated elsewhere. That service boundary is separate from the frozen native Reclaim instruction tags: clients use the registered-resolver and proof submission flow, not a second SDK family.
Which package should I use?#
- Use
@seesaw/corefor TypeScript applications, generated account decoding, market discovery, transaction construction, and streams. - Use
@seesaw/reclaimwhen integrating Reclaim proofs or external-market lifecycle data. - Use
seesaw-sdkin Python or Rust when the application is implemented in that language. The cross-language vectors inpackages/test-vectorsare the compatibility contract.
Start with the Quickstart, then read Installation and Reading Data. See Building Transactions for the wallet handoff and Reclaim integration for external markets.
Core conventions#
- Solana Kit
Addressvalues are used instead of@solana/web3.jsobjects. - Quantities are
bigintbase units; prices are basis points in[0, 10000]. - Account layouts, instruction discriminants, PDA seeds, and event tags come from the generated launch contract and the on-chain source of truth.
- The on-chain program is the final arbiter; clients fail closed on malformed discriminators, sizes, versions, and PDA relationships.