Changelog
Product, API, SDK, and infrastructure release history.
2026-09-23
Added
- Permissionless sandbox:
routequotes and dry-runsolveon sandbox.orkidlabs.com work with no API key — one curl gets a real quote. Anonymous callers are rate-limited per IP (60 req/min); a sandbox key still raises the limit to the pilot 300 req/min. The proxy now accepts both/v1/*and/api/v1/*paths, so the SDK and the ElizaOS plugin work against the sandbox unchanged. - Rebate operations: rebate float reconciliation monitor, partner payout addresses, and ops endpoints.
- Quote integrity gates: phantom-liquidity USD-ratio check on route and solve, external-price-guided greedy-walk rescue, and spot-gate phantom detection — corrupted or implausible pool state can no longer produce executable-looking quotes.
Fixed
- Base routing outage: a single stale pool inside a token-pair macro-edge could veto the entire edge; over days this silently killed all Base routing. Edges now require only one fresh member pool — per-pool staleness is still enforced at simulation time.
Changed
- Solver execution stack upgraded to Tycho 0.418.0.
- ElizaOS plugin distribution: upstream elizaOS is retiring the community plugin registry (elizaOS/eliza#32219) and closed all third-party listing PRs — including our
plugin-orkidsubmission, which had passed review. Both plugins remain published on npm under@orkid-labs; install viabun add/npm installand wire in the agent character'splugins[]. See ElizaOS plugins.
2026-09-21
Fixed
- Route quotes could return impossible output amounts when an upstream pool's indexed state was corrupt — affected components are now excluded at ingestion and routing falls back to remaining liquidity for the pair.
volumeUsdin route/solve responses is now priced live — non-stable inputs are shadow-quoted against USDC through the pool graph instead of a static table (WETH was hardcoded at $3,500; other tokens returned $0).
Changed
- Solver execution stack upgraded to Tycho 0.410.0 — settlement calldata now builds against the V3.1 router, and Ethereum routing ingests the Titan propAMM price-level stream for deeper mid-block liquidity.
Docs
- Added the
GET /api/v1/tokensendpoint reference — the serveable token list per chain.
2026-09-20
Added
- Self-hosted secrets management: environment and credential storage moved in-house to a self-hosted Infisical deployment on Orkid-operated hardware — no cloud-hosted secret storage. Reachable only over the private tailnet; human access is gated by wallet-signed access permits (EIP-712) against an allowlisted operations wallet set, with replay-resistant nonces and HMAC session cookies enforced at the edge.
- Ops mail infrastructure: inbound catch-all routing and transactional outbound for
orkidlabs.xyz(Cloudflare Email Routing + Resend), plus API access to the ops mailbox for alerting/notification tooling. - ERC-6909 depository on Base mainnet: modified depository contract deployed at
0x300eb5e90b453a378f63bacdadb843fb76eaadc8— rebate float deposits book to the public-books partition; float-deployment yield accrues to the reserves partition in the origin asset on the origin chain. - Nightly encrypted backups: Infisical datastore backs up to R2 on a cron schedule, encrypted at rest.
Changed
- Service secret sourcing: all backend services (settlement gateway, per-chain solvers, relays, sandbox proxy) now load their environment from Infisical at boot into memory-only runtime files. Plaintext
.envfiles removed from the host and from git tracking; an encrypted archive is retained for disaster recovery. ~800 secrets migrated under end-to-end encryption. - Frontend deploy pipeline:
scripts/deploy-vercel.shbuilds the frontend env from Infisical (prod/frontend) at build time and aborts if any[SENSITIVE]placeholder slips in — Infisical is now the source of truth for builds. - Branch CI gate:
rust-ciworkflow gatesmain,router-v2-rollback, andfeat/**pushes on the self-hosted runner; pull-request jobs are restricted to same-repo branches and run clean checkouts.
Security
- Wallet-permit gate verified end-to-end (valid signatures accepted, invalid/replayed/tampered rejected) on desktop and mobile signing paths.
2026-09-19
Added
- Rebate operations (internal): float-reconcile monitor, partner payout addresses, and ops endpoints for rebate ledger management; depository read/write RPC endpoints split for reliability.
Changed
- Hedera-settle UI panel gated to Base Sepolia while the mainnet settlement path is finalized.
Fixed
- Private-relay send path now has fail-closed test coverage — relay failures can't silently drop fills.
2026-09-18
Added
- Cross-chain settlement (new API surface):
/api/v1/bridge/*— bridge curated major assets between Ethereum, Base, Arbitrum, and Polygon via Across. Non-custodial by construction: Orkid never receives or holds user funds — the wallet signs the ERC20approvalTxnsand theswapTxdeposit directly against canonical Across contracts, with the depositor pinned as both recipient and refund beneficiary on the origin chain. Five endpoints:bridge/chains,bridge/tokens,bridge/quote,bridge/status,bridge/track. Quotes carry a 10 bps Orkid app fee in the output token, disclosed in the response'sfeesblock. See Cross-chain bridge. @orkid-labs/sdk@0.3.1:getBridgeChains(),getBridgeTokens(chainId),getBridgeQuote(request),getBridgeStatus(params),trackBridgeDeposit(request)plus all bridge types;openapi.yamlnow covers the bridge endpoints. (0.3.2followed with self-serve key docs.)@orkid-labs/widget@0.3.0: the embeddable widget gains bridge mode — a destination-chain selector engages it whenever it differs from the origin chain, with curated token lists, a quote card (expected/minimum out, fill estimate, escrow + refund explainer), sequential approval→deposit signing, and live status polling. New callbacks:onBridgeQuote,onBridgeSubmitted.@orkid-labs/plugin-orkid@2.1.0:ORKID_BRIDGE_QUOTEandORKID_BRIDGE_STATUSactions for ElizaOS agents (quote-only — the user signs the deposit from their own wallet).- CLI:
orkid bridgeandorkid bridge-statuscommands. - Self-serve API keys: instant key issuance for evaluation tiers; 30-day anchored rebate windows for partner volume tracking; asset-denominated payout manifest per the rebate specification.
- Partner API surface: partner endpoints, quote-event split for telemetry, and multi-chain fee routing.
- Chain-aware depository selector: frontend picks the correct depository contract per chain (Base mainnet + Sepolia).
- Ops monitoring (internal): fill-watch service + Discord webhook relay pushing
EXECUTED/CONFIRMEDevents; solver alerts page to Discord. - Sandbox proxy: dry-run API surface for integrator evaluation without touching production paths.
- Site: multi-chain copy, competitive-positioning SEO pages, brand font system, embed and hosted widget pages.
@orkid-labs/widget@0.2.1: README examples use generic partner placeholders; docs-site GitHub links corrected to theorkid-labsorg.- Aave flash liquidity (internal): verified Ethereum aToken map wired as an additional flash source.
Changed
- Executor fee: set to 30 bps; completed the Tycho 0.346.1 API migration across the workspace.
- Polygon same-chain swaps are temporarily paused while solver private-relay infrastructure is completed; Polygon remains fully available for cross-chain bridging.
Fixed
- Ingestor surfaces V4 pool decode errors and skips zero-liquidity V4 pools instead of failing silently; repaired invalid CI workflow files causing startup failures.
2026-09-17
Changed
- Execution infrastructure: migrated swap execution on Base and Ethereum to the current TychoRouterV3 deployments. Tycho retired the previous V3 router contracts by pausing them on-chain; all four production chains now run the latest router build. No API or SDK changes —
routeandsolverequest/response shapes are unchanged. - Liquidity sourcing (internal): solver now evaluates multiple flash-liquidity venues per backrun (Balancer, Morpho, Aave V3) and selects the fee-adjusted optimal borrow size rather than borrowing the vault maximum — improves execution capacity on large dislocations.
- Atomic backruns (internal): per-chain backrun execution wired to flash-loan liquidity with fork-verified Base/Arbitrum replays; per-chain router ABI encoding for the new V3 layout on Arbitrum and Polygon.
- Site: landing page now lives at the apex domain instead of redirecting to
/swap. @orkid-labs/widget@0.2.0: multi-chain support and Permit2/wallet fixes.- React 19 compatibility: framer-motion bumped to 12.x and React-19-incompatible libraries isolated behind
ssr:falseclient boundaries; embed, hosted, and partner pages ungated.
2026-09-16
Added
- Wallet connectors: swap UI gains a connector picker (injected wallets + WalletConnect); CSP allows the Orkid RPC endpoint.
- RFQ liquidity (internal): Metric public RFQ client registered on all chains; Arbitrum token lists feed indicative price streams.
Changed
- Solver selects executor by request source — retail sandbox vs partner production get distinct execution paths.
- Price-impact computation now uses a USD-notional threshold; protocol gating self-heals when indexers re-add support; solver tolerates dead Tycho extractors without stalling.
- Widget follows the wallet's chain on connect instead of forcing Base; auto-resumes swaps after Permit2 approval; reads allowance imperatively; chain-aware gasless threshold text (Base $20 / Ethereum $200).
Fixed
- Widget: signed-shift bug could produce negative Permit2 nonces.
2026-09-15
Added
- Private relay path (internal): solver can route bundles through private relays on public-mempool chains — groundwork for re-enabling Polygon.
Changed
- Polygon temporarily paused in the chain selector with a downtime notice shown to users.
2026-09-12
Changed
- Breaking (minor):
@orkid-labs/sdk@0.2.0—OrkidViemPermitSignerandOrkidEthersPermitSignermoved out of the root entry point into@orkid-labs/sdk/viemand@orkid-labs/sdk/etherssubpath exports. The core SDK is now dependency-free; signers requireviemorethersonly when their subpath is imported. Migration: changeimport { OrkidViemPermitSigner } from '@orkid-labs/sdk'toimport { OrkidViemPermitSigner } from '@orkid-labs/sdk/viem'. - Bumped
@orkid-labs/plugin-orkidto 2.0.4 — consumes SDK 0.2.0 and drops theethersworkaround dependency.
Fixed
- SDK root bundle no longer hard-requires
ethersdespite declaring it an optional peer — clean installs without wallet libraries now work.
Added
- Published
@orkid-labs/plugin-orkid— ElizaOS plugin for Orkid swaps (quote, execute, dry-run, confirm, tokens, usage, market data). Submitted to the ElizaOS registry. - Published
@orkid-labs/plugin-mempalace— ElizaOS plugin for persistent agent memory via MemPalace MCP. Submitted to the ElizaOS registry.
2026-09-11
Fixed
- Corrected GitHub repository URL in npm package metadata — both
@orkid-labs/sdkand@orkid-labs/widgetnow point to github.com/orkid-labs/orkid-sdk. - Fixed widget source imports —
@orkid/sdk→@orkid-labs/sdk(would have broken consumers importing the widget).
Added
- Full test suites for both packages:
- SDK: 72 unit + integration tests (chains, permit, client, HTTP mocking, error handling, handshake recovery) + 8 e2e tests (live API, skipped by default).
- Widget: 26 unit + integration + e2e tests (theme, embed, provider context, DOM mount, unmount cleanup).
vitestdev dependency andnpm test/npm run test:watch/npm run test:e2escripts in both packages.- Created github.com/orkid-labs/orkid-sdk repository for SDK and widget source.
Changed
- Bumped
@orkid-labs/sdkto 0.1.2. - Bumped
@orkid-labs/widgetto 0.1.2.
2026-09-10
Added
- Published
@orkid-labs/sdk@0.1.0to npm — TypeScript SDK withOrkidClient,OrkidPermitSigner, and CLI. - Published
@orkid-labs/widget@0.1.0to npm — white-label React swap widget. - Launched embed generator for zero-code integration.
- Launched hosted swap pages for zero-integration partners.
- Added
partner_configstable for per-partner widget branding. - Added
GET /api/v1/partner-config?slug=endpoint for hosted page config. - Added Arbitrum and Polygon chain support (TVMExecutor V2 + Tycho Router V3).
- Added sandbox environment at
sandbox.orkidlabs.com. - Added
SANDBOX_BASE_URLexport to SDK. - Added dynamic fee tiers (volume-based, 4 tiers).
- Added referral rebate tracking.
- Added
executed_atfield for monthly accounting. - Added
routeevent tracking (quote-only telemetry, separate fromsolvevolume).
Changed
- API keys are now sales-led — contact
api@orkidlabs.comto provision. No self-serve. - Fee schedule is now tiered and competitive (contact Orkid for pricing). Fixed-fee claims removed.
- SDK package name is
@orkid-labs/sdk(not@orkid/sdk). - Widget package name is
@orkid-labs/widget(not@orkid/widget).
Removed
- Unichain from production chain list. Production chains are Base, Ethereum, Arbitrum, Polygon.
- Fixed 9 bps fee references from all public documentation.