Developers

Rooq's services return only public chain data and encrypted records. Your keys and proofs stay on the client. The full reference is on the docs site: API and SDK.

Read API

Base URL: https://api.rooq.trade. It holds no keys and keeps no per-client state.

GET /v1/syncHow far the service has read the chain
GET /v1/deploymentDeployment ID, addresses and public keys
GET /v1/recordsEncrypted records, by page
GET /v1/tree/path/:indexA proof path for one note tree leaf
POST /v1/nullifiersWhether notes are spent
GET /v1/spot/poolsPool list
POST /v1/spot/quoteA rounded swap estimate
GET /v1/marketsAll markets, with price and funding
GET /v1/markets/:id/fundingA market's funding history

Relayer

Base URL: https://api.rooq.trade. It submits proofs and pays gas, and it can't sign for anyone.

POST /v1/relay/:actionSubmits a proof you have already made
GET /v1/jobs/:idStatus of a submission
GET /v1/relayerFee address and minimum fees

SDK

import { addressOf, deriveKeys, scanCreated } from "@rooq/private-sdk";

const keys = deriveKeys(seed);                     // keep the seed on the client
const privateAddress = addressOf(keys);            // share this to receive transfers
const notes = scanCreated(keys, deploymentId, events); // decrypt your notes locally

Testnet only. Rooq has not been audited.