Skip to content

v3.19.0

Choose a tag to compare

@0237h 0237h released this 26 May 16:38
· 48 commits to main since this release
65ad8c6

Release notes

v3.19.0 renames the public API surface from Token API to Pinax API and moves x402 enforcement to the proxy layer. Also includes a Hyperliquid /markets fix that surfaces non-spot pairs.

Rebrand to Pinax API

  • Public docs, OpenAPI metadata, banner, and the agent skill identify the API as Pinax API. (#542)
  • Repository identifier renamed from token-api to pinax-api: package name, build output, README clone commands, Docker image examples, badges, and historical changelog links. (#544)
  • Plan-limit gateway headers renamed to x-pinax-api-* (batch-size, items-returned, lowest-time-parameter). The legacy x-token-api-* headers continue to work as aliases with regression tests covering each. (#544, #545)
  • Agent skill file moved to the canonical skills/SKILL.md layout; /SKILL.md, /SKILLS.md, /skills.md, /skill.md, and /skills/SKILL.md all serve or redirect to the same content. (#540)
  • Public docs links repointed at https://app.pinax.network/docs and https://app.pinax.network/help. (#547)

Proxy-layer x402 discovery

GET /.well-known/x402 returns a machine-readable payment-discovery document describing the proxy-enforced x402 contract (authentication, verification, settlement, metering). GET /x402.json is an alias. The API layer itself no longer carries x402 middleware — discovery only. (#543)

The free-routes list is kept in sync with skills/SKILL.md and public/llms.txt, including the SKILL.md alias paths so the proxy doesn't 401 them before the in-app 301 redirect can fire. (#545)

Hyperliquid /markets returns perps

state_spot_pair_names is sourced from HL's spotMeta, which only covers spot pairs. Builder-DEX perps (xyz:CL, cash:TSLA, km:US500) and core perps (BTC, ETH) had no row to JOIN against, so market_name fell back to the raw coin and base_token / quote_token were NULL — /v1/hyperliquid/markets filters missed every perp market.

The perp fields are now derived from the coin string when the JOIN misses: strip any prefix before : to get the ticker (xyz:CLCL), use the ticker as base_token and USDC as quote_token. HIP-4 outcome markets (#N) stay NULL — labels live in outcomeMeta, which isn't ingested yet. (#546)

Included PRs

  • #540 — Move agent skill file to canonical path
  • #542 — Rebrand public docs to Pinax API
  • #543 — Add proxy-layer x402 discovery
  • #544 — Rename repository identifiers to Pinax API
  • #545 — fix(x402): align free-routes list and cover legacy header fallbacks
  • #546 — fix(hyperliquid): derive market_name and base/quote tokens for non-spot markets
  • #547 — docs: point public links to app.pinax.network

Full Changelog: v3.18.0...v3.19.0