Skip to main content
The SDK is the recommended integration surface. It gives you chain-aware addresses, ABIs, and higher-level read helpers.

Install

bun add @varla/sdk

Pick a chain

Polygon (Polymarket) uses USDC as the collateral token. BSC (Opinion) uses USDT.

Read-only example (pool snapshot)

import { createPublicClient, http } from "viem";
import { polygon } from "viem/chains";
import * as views from "@varla/sdk/views";
import { getVarlaContracts } from "@varla/sdk";

const client = createPublicClient({ chain: polygon, transport: http() });
const { pool } = getVarlaContracts({ chainId: polygon.id });

const snap = await views.readPoolSnapshot({ client, pool });
console.log(snap.utilizationWad, snap.supplyApyRay);

Borrower example (account snapshot)

import * as views from "@varla/sdk/views";
import { getVarlaContracts } from "@varla/sdk";

const { core } = getVarlaContracts({ chainId: polygon.id });
const user = "0xYourAddress";

const a = await views.readAccountSnapshot({ client, core, user });
console.log(a.healthFactor, a.maxBorrow);

Next

Next, see Read helpers, Write helpers, Addresses & chains, and Contracts (mainnet deployments).