createClient
Copy
import { createClient } from "satsterminal-sdk";
import { ChainType } from "@satsterminal-sdk/borrow";
const { swaps, borrow, bridge } = createClient({
apiKey: process.env.API_KEY!,
borrow: {
chain: ChainType.BASE,
wallet: /* your wallet provider */
},
bridge: true, // omit to skip initialization
});
Swaps via suite
Copy
const quote = await swaps.swapQuote({
amount: "0.001",
fromToken: "BTC",
toToken: "USDC",
address: "bc1...",
protocol: "runes",
params: {}
});
Borrow via suite
Copy
const setup = await borrow.setup();
const { userStatus } = setup;
// Start a new loan wallet (advanced)
await borrow.startNewLoan();
Bridge via suite
Copy
const btcDeposit = await bridge.spark.runes.getBTCDepositAddress({
userPublicKey: "0x...",
runeId: "840000:3",
amount: "1000000",
});
const { requestId } = await bridge.spark.runes.bridgeRunes({
btcAddress: "bc1...",
bridgeAddress: btcDeposit.address,
txid: "<deposit-txid>",
vout: 0,
});
Copy
const quote = await bridge.spark.stables.quote({
sourceChain: "solana",
amount: "1000000",
userSparkAddress: "spark1...",
});
Legacy compatibility
Existing swaps partners can keep:Copy
import { SatsTerminal } from "satsterminal-sdk";
const swaps = new SatsTerminal({ apiKey: process.env.API_KEY! });