Sol Oil Factory
DEVELOPER PORTAL · PREVIEW

Build on a verifiable claim layer for Solana.

Indexer GraphQL, three SDKs, and four on-chain programs. The page below documents the v1.1 surface — the SDK and the hosted indexer aren't shipped yet. Until then, integrate directly against the on-chain program (the Anchor IDL is in the repo).

Read the help docs →

Quickstart · 30 seconds to first query

Every refinery, snapshot, and claim is queryable through one endpoint. No auth required for read; sign-with-wallet for writes.

Fetch active refineries

GRAPHQL
# curl https://api.sof.xyz/v1/graphql
query ActiveRefineries {
  refineries(status: ACTIVE, first: 20) {
    id token { symbol mint }
    pool { remaining total }
    snapshots(last: 5) {
      merkleRoot holders takenAt
    }
    operator {
      wallet reputation
      verified
    }
    closesAt
  }
}

Submit a claim

TS · @sof/sdk
import { SOF, Cluster } from "@sof/sdk";

const sof = new SOF({ cluster: Cluster.MainnetBeta });

// auto-detects eligibility from on-chain balance
const proof = await sof.eligibility({
  refineryId: "REF…3xQ",
  wallet: pubkey,
});

if (proof.eligible) {
  const tx = await sof.claim(proof);
  await wallet.signAndSend(tx);
}

API endpoints

REST + GraphQL + WebSocket. Free tier: 50,000 requests / month per key. Pro tier: pay-as-you-go.

GET/v1/refineriesList or filter active refineries
GET/v1/refineries/:id/snapshotsSnapshot history with merkle roots
GET/v1/wallets/:pubkey/eligibilityCheck claim eligibility for a wallet
GET/v1/wallets/:pubkey/reputationReputation score + breakdown
POST/v1/refineriesLaunch a refinery (signed tx)
POST/v1/claimsSubmit a claim (signed tx)
WS/v1/stream/snapshotsLive snapshot stream · all refineries
WS/v1/stream/claims/:refineryLive claim feed for one refinery

SDKs

Three first-party clients. All open-source, all support both web and Node. Rust SDK is server-only.

@sof/sdkTS
$ npm i @sof/sdk
TypeScript / JavaScript. Web-first, browser-safe. Wraps GraphQL + claim flow + wallet adapter integration.
Reference · ships with v1.1
sof-pyPYTHON
$ pip install sof-py
Pythonic client for indexers, dashboards, scripts. Async-first. Solders-compatible.
Reference · ships with v1.1
sof-rsRUST
$ cargo add sof-rs
Server-side. For programs that need to verify claims on-chain or build operator tooling. Anchor 0.30 compatible.
Reference · ships with v1.1

Guides

Walkthroughs covering the most common integrations.

01
Launch your first refinery

End-to-end: from token mint to first claim. ~12 minutes.

02
Embed a claim button on your site

Drop-in React component for token-holder rewards. ~5 minutes.

03
Build a leaderboard with the indexer

Subscribe to claims, rank wallets by frequency. ~15 minutes.

04
Verify a refinery's program on-chain

Match deployed bytecode against the verified hash.

05
Reputation oracle integration

Read another wallet's reputation in your own program.

06
Self-hosting the indexer

Run the indexer locally for backtesting or private claims.