npm i @stsui-sdk
@mysten/sui is now a v2 peer dependency (^2.17.0), and the package
ships ESM only — the CommonJS build (dist/cjs) and the require
export have been dropped. CommonJS consumers doing
require('@alphafi/stsui-sdk') will break; import it from an ESM
context (or via a bundler) instead, and ensure your app provides
@mysten/sui v2. The 2.0.0 major bump signals these breaking changes.
Internal Sui reads have moved from JSON-RPC to GraphQL. The public
class/function APIs (LST, Admin, Utils, Events, mint,
redeem, refresh, etc.) are unchanged. The only breaking type-shape
change affects direct consumers of LiquidStakingInfo / Meta, which
are now flat (no content.fields.* wrapping). The legacy JSON-RPC
helpers (getMultiObjects, getSuiClient, etc.) keep their original
shapes and are marked @deprecated; a new GraphQL-native
multiGetObjectsGraphql(ids) helper is available for new code. See
STSUI_GRAPHQL_MIGRATION.md for the
field-by-field mapping. Override the GraphQL endpoint via the new
setGraphQLUrl(url) helper. By default, GraphQL follows the active SDK
config network (production -> mainnet GraphQL, testing -> testnet
GraphQL).
const lstParams: LstParams = {
lstCointype:
"0xabcd2358cebfdf4ee29534f906cbb36a78dfaaa256e7d9ddb7e789e2dd8abcd::demo::DEMO", // your LST's move type
treasuryCap:
"0xabcdc88f4ac2eeeb5ac13917c4d3ce147228b62295d51dff4950abd3bb4cabcd", // object id of your treasury cap
};
const admin = new Admin(lstParams);
const txb = await admin.createLst(0, 1, 600, 10000, address);
await suiClient
.signAndExecuteTransaction({
signer: keypair,
transaction: txb,
requestType: "WaitForLocalExecution",
options: {
showEffects: true,
showBalanceChanges: true,
showObjectChanges: true,
},
})
.then((res) => {
console.log(JSON.stringify(res, null, 2));
})
.catch((error) => {
console.error(error);
});
AdminRefer to Admin class for admin specific operations specific to your custom liquid staking token.
Create your own LST - createLst
Set validators for your LST - setValidators
Collect the fee collected by your LST - collectFee
Update the fee settings for your LST - updateFee
LSTRefer to LST class for standard LST operations
UtilsRefer to utils class for common utility functions