Rising Tide Developers
SDKCore

rtClient.privy

SDK methods for server-signed transactions on a hosted wallet - one sign method per protocol action.

A user on a hosted account has a wallet they never hold keys for, so the signing happens server-side. rtClient.privy is that path: one method per protocol action, each taking the caller's Privy access token plus the params for that action, each returning a PrivySignResponse carrying the broadcast transaction id.

A user who connected their own wallet does not come through here - they sign in the browser. The authentication layer tells you which you have.

Gas comes from the user's own wallet on both paths. There are no sponsored transactions anywhere in the protocol, so a hosted wallet with an empty balance cannot act.

Getting a wallet

const wallet = await rtClient.privy.createOrGetWallet(privyToken);

Idempotent, and the only method here that is not a signing call.

Publishing and collecting

MethodAction
signDeployContract(privyToken, params)Deploy a smart product's contract
signPublishEdition(privyToken, params)Collect an edition
signPublishOpenLetterEdition(privyToken, params)Co-sign an open letter
signPublishFeedbackEdition(privyToken, params)Collect with a feedback payload
signTransferEdition(privyToken, params)Hand an edition to somebody else
signBurnEdition(privyToken, params)Burn an edition

Owner actions on a deployed product

signSetProductInfo, signSetMaxSupply, signSetDetachedUri, signLockDetached.

Ownership never expires, so these stay available to the owner regardless of app access.

Domain actions

signSubmitBracket (a prediction entry), signMakeReservation and signValidateReservation (event tickets), signBracketAction (everything done to a tournament after deploy) and signGameAction (join, leave, start, move, claim and use an item at a game lobby). Prefer the bracket-action and game-action commands, which pick this or the connected wallet.

Funding

signStxFaucet and signSbtcFaucet draw from the protocol-owned testnet taps. Both are floor-gated per currency and metered - they are not a public faucet, and the tap surface lives on the hub rather than in each app.


Every method takes the token as its first argument rather than reading it from client state, so a call site that has no token fails to compile rather than signing as the wrong person.