Rising Tide Developers
SDKAdmin

Admin

The @rising-tide/sdk/admin entry point - admin-only protocol operations.

@rising-tide/sdk/admin provides admin-only operations for protocol operators. RisingTideAdmin wraps the core SDK: use the admin services directly for operator actions, and admin.core to reach the core SDK (pages, collections, and so on).

Usage

import { RisingTideAdmin } from "@rising-tide/sdk/admin";

const rtAdmin = new RisingTideAdmin({
  baseUrl: process.env.RT_API_URL,
  apiKey: process.env.RT_ADMIN_API_KEY,
});

// Admin-only operations
await rtAdmin.roles.listRoles();
await rtAdmin.users.assignUserRole(userId, { roleId });
await rtAdmin.fundingGroups.updateFundingGroup(id, { status: "APPROVED" });

// Core SDK access through the admin wrapper
await rtAdmin.core.smartProducts.list();

Unlike the core client, RisingTideAdmin still ships its own React hooks for operator UIs - useRoles, useFundingGroups, useFundingGroupByAddress, useEventContributions, the event-type and ticket-style CRUD, and others. They take the admin client as an argument rather than reading it from context, which is the tell that they are operator surface: every hook in @rising-tide/ui/react reads its client from the provider.

useFundingGroupByAddress(stxAddress, sdk) is the one an operator reaches for most - it resolves a cause from the address that receives its share, which is the direction a payout investigation runs. A user-facing app wanting funding groups uses useFundingGroups / useFundingGroup from @rising-tide/ui/react instead.

What it carries

RisingTideAdmin mounts the services an operator console needs as properties: roles, linkTypes, eventTypes, events, locations, ticketStyles, fundingGroups, payments, failedEvents, currencyTypes, transactions, collections, tags, styleSets, upload, contracts, privy, users, invites, stats, templates, chainhooks, errorLogs, apps, protocolEvents, storage, projections, pendingTransactions, renderJobs, crons, health and appAccess. appAccess is the operator surface for per-app access grants (listForUser, grant, revoke, roster). There is deliberately no non-admin client surface for granting access.

Access control

Admin operations require a master API key. A standard app-scoped key returns 403. This entry point is not part of the integration surface - it exists for the protocol operator panel and has no place in a user-facing app.