Partners
Quickstart
Install the partner SDK and run your first attributed swap.
Quickstart
Install
npm install @uruk.finance/partner-sdk @stellar/stellar-sdkCreate a client
import { createUrukClient } from '@uruk.finance/partner-sdk';
const uruk = createUrukClient({
partnerId: 1, // assigned by Uruk DAO
network: 'testnet',
// apiUrl: 'https://app.uruk.finance/api',
signTransaction: async (xdr) => wallet.signTransaction(xdr),
});List assets
const assets = await uruk.listAssets();
// Filtered by your Partner Dashboard catalog when configured
// Each asset includes pool.poolId and quoteAddress for buy/sell
const { price, decimals } = await uruk.getAssetPrice('SBTC');
// spot quote-per-asset (7dp), from LiquidityPool.get_priceKYC then buy / sell
const status = await uruk.getKycStatus(userAddress);
if (!status.compliant) {
const session = await uruk.startKyc(userAddress, { mode: 'redirect' });
// Open session.startUrl, or embed session.embedUrl in an iframe
throw new Error('Complete KYC first');
}
const { txHash, poolId } = await uruk.buyAsset({
trader: userAddress,
asset: 'SBTC',
amountIn: 100_0000000n, // USDC in
});
await uruk.sellAsset({
trader: userAddress,
asset: 'SBTC',
amountIn: 10_0000000n, // sBTC in
});Low-level swap is still available if you already know poolId and aToB.
Referral URL (no SDK)
https://app.uruk.finance/swap?partner=<YOUR_PARTNER_ID>Swaps from that page pass your ID on-chain automatically.