Skip to content

v0.1.0 — initial release

Latest

Choose a tag to compare

@argostroloji argostroloji released this 15 Aug 23:28

Initial release. Unofficial community project — not affiliated with o1.exchange.

Two npm packages for the o1 Launchpad Public API (Base 8453 + Robinhood Chain 4663):

o1x-launchpad-sdk

  • Typed client for all 23 public endpoints: token browsing/search, details, trades, announcements, holders, wallets, fee claims, vesting, transaction status, swap quotes, and unsigned prepare flows (swaps, launches, claims, announcements, metadata)
  • Types generated from the official OpenAPI schema; deeply readonly — prepare responses are passed through byte-for-byte
  • Cursor pagination with auto-paging iterators (maxPages/maxItems caps, cursor-loop guard)
  • Typed error hierarchy (O1QuoteExpiredError, O1RateLimitError, …) with the API's problem body attached
  • Retry with full-jitter backoff on reads; state-changing prepares are never blindly retried; Idempotency-Key handled automatically where the API supports it
  • Zero runtime dependencies, native fetch, Node 20+, ESM + CJS

o1x-launchpad-mcp

  • MCP server over stdio for Claude Desktop, Claude Code, Cursor, and any MCP client
  • Read-only by default: 15 read tools; 7 prepare tools exist only when O1_ENABLE_PREPARE=true
  • Prepare tools return unsigned transaction plans only — this server cannot sign, broadcast, or move funds
  • API key from the environment only; errors rendered as readable text, never a stack trace

Safety model

Never signs, never broadcasts, no wallet or key handling anywhere. The five rules the project is built around are documented in docs/SAFETY.md.

Verification

  • 72 offline tests (no network) + strict TypeScript, ESLint, Prettier, CI staleness check for generated types
  • 11/11 live smoke tests against production, including quote-expiry and rate-limit behaviour
  • Two production-vs-spec deviations found and documented in docs/API-NOTES.md: expired quotes return stale_plan (docs say stale_quote), and /tokens/search does not match creator addresses