# SilentSwap
> Integrate private and public cross-chain swaps with the SilentSwap TypeScript SDK.
## Docs
- [For AI agents](/agents): Use the machine-readable artifacts instead of scraping rendered HTML:
- [Getting started](/getting-started): SilentSwap V3 exposes one small, typed flow: quote, show the user what will happen, place,
and track.
- [How it works](/how-it-works): SilentSwap separates what the user reviews from what the wallet signs.
- [React hooks — coming soon](/react): @silentswap/react 2.x will provide hooks over the SDK's canonical client. It is
not published with the 2.0.0 SDK release.
- [Migrate from SilentSwap V2](/migration/v2): @silentswap/sdk@2.0.0 keeps the package name and familiar lifecycle names, but
removes the V2 authentication and authorization ceremony. Existing V2 orders are not
convertible: let them finish under your pinned 0.x integration before cutting over.
- [Complete Simple Bridge example](/public-swap/complete-example)
- [Simple Bridge](/public-swap): Simple Bridge is the non-private mode of the same client. Set privacy: false and
use the same quote → placeOrder → trackOrderViaWebSocket lifecycle. The SDK
normalizes bridge states into FULFILLING, COMPLETED,
FAILED, or UNKNOWN.
- [Simple Bridge usage](/public-swap/usage): Simple Bridge is exact-input and accepts exactly one output. Integrator fees are not currently
available for public routes.
- [Assets and chains](/reference/assets-and-chains): Install the registries directly when an application needs picker or routing metadata without
the full SDK.
- [Client API](/reference/client): The class SilentSwap, factory createSilentSwapClient, and type alias
SilentSwapClient refer to the same canonical client surface.
- [Complete private-swap example](/sdk/complete-example): This example shows the full EVM path. The UI must render the quote before calling
placeOrder.
- [Errors](/sdk/errors): The SDK throws errors. It does not return V2-style \[error, value] tuples.
- [Installation](/sdk/installation): Install the SDK and viem together:
- [Integrator fees](/sdk/integrator-fees): Set integratorFee in USDC base units. A positive fee requires
integratorAddress.
- [Order statuses](/sdk/order-statuses): The main path is:
- [SDK quickstart](/sdk/quickstart): Create a viem wallet client for the active account, then bind SilentSwap to the gateway chain.
- [Quotes](/sdk/quotes): quote accepts an outputs\[] array. Private wallet-funded requests allow
1–20 outputs; address-funded and Simple Bridge requests require exactly one.
- [Refunds](/sdk/refunds): executeRefund is for private EVM-origin orders whose gateway refund window has opened. It
fetches fresh order state, validates preconditions, dry-runs the contract call, broadcasts,
and waits for the receipt.
- [Split payouts](/sdk/splits): Put 1–20 entries in outputs. Each amount is the USDC payout in
base units. The user funds the sum of payouts plus service and integrator fees.
- [Tracking](/sdk/tracking): trackOrderViaWebSocket accepts a serializable reference and emits the current state
plus later status or transaction-hash changes. The compatibility name is stable; private mode
uses browser SSE with a polling backstop, while Simple Bridge uses status polling.
- [Deposits](/sdk/deposits): Inspect the quoted deposit shape before opening a wallet.
- [Solana deposits](/sdk/deposits/solana): A Solana-source quote has txKind: 'svm' and a base64
solanaTx. The API builds the versioned transaction; the active Solana wallet
reviews and signs it.
- [TON and TRON deposits](/sdk/deposits/ton-tron): Account-chain quotes are signed outside viem.
- [Bitcoin and Litecoin deposits](/sdk/deposits/utxo): SilentSwap supports two UTXO deposit shapes.