OpenClaw · Skill

TypeScript

A TypeScript SDK for interacting with the Stable Layer protocol on the Sui blockchain. It supports minting and burning stablecoins, and claiming yield farming rewards.

Web & Frontend Development
v1.0.0
VirusTotal: Benign

Install

Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.

Primary command

clawhub install k66inthesky/stable-layer-sdk

ClawHub installer

npx clawhub@latest install k66inthesky/stable-layer-sdk

OpenClaw CLI

openclaw skills install k66inthesky/stable-layer-sdk

Direct OpenClaw install

openclaw install k66inthesky/stable-layer-sdk

What this skill does

A TypeScript SDK for interacting with the Stable Layer protocol on the Sui blockchain. It supports minting and burning stablecoins, and claiming yield farming rewards.

Why it matters

Wraps raw Sui transaction construction into typed methods, removing the need to manually compose Move calls for minting, burning, and reward claiming.

Typical use cases

  • Minting BtcUSDC by depositing USDC on Sui mainnet
  • Burning stablecoins to redeem USDC
  • Claiming accumulated yield farming rewards
  • Querying total stablecoin supply across coin types
  • Integrating Stable Layer transactions into a dApp

Source instructions

Stable Layer SDK

A TypeScript SDK for interacting with the Stable Layer protocol on the Sui blockchain. It supports minting and burning stablecoins, and claiming yield farming rewards.

Installation

npm install stable-layer-sdk @mysten/sui @mysten/bcs

API Reference

StableLayerClient

import { StableLayerClient } from "stable-layer-sdk";

const client = new StableLayerClient({
  network: "mainnet" | "testnet",
  sender: "0xYOUR_SUI_ADDRESS",
});

Transaction Methods

buildMintTx(options)

Mint stablecoins by depositing USDC. Automatically deposits into vault farm.

ParameterTypeDescription
txTransactionSui transaction object
stableCoinTypestringTarget stablecoin type (e.g. 0x...::btc_usdc::BtcUSDC)
usdcCoinCoinInput USDC coin reference
amountbigintAmount to mint
autoTransferboolean?If false, returns the resulting Coin object

buildBurnTx(options)

Burn stablecoins to redeem USDC.

ParameterTypeDescription
txTransactionSui transaction object
stableCoinTypestringStablecoin type to burn
amountbigint?Specific amount to burn
allboolean?If true, burn entire balance

buildClaimTx(options)

Claim accumulated yield farming rewards.

ParameterTypeDescription
txTransactionSui transaction object
stableCoinTypestringStablecoin type to claim rewards for

Query Methods

getTotalSupply()

Returns the total stablecoin supply across all coin types.

getTotalSupplyByCoinType(type: string)

Returns the supply for a specific stablecoin type.

Usage Examples

Mint Stablecoins

import { Transaction, coinWithBalance } from "@mysten/sui/transactions";
import { SuiClient, getFullnodeUrl } from "@mysten/sui/client";
import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
import { StableLayerClient } from "stable-layer-sdk";

const client = new StableLayerClient({
  network: "mainnet",
  sender: "0xYOUR_ADDRESS",
});

const suiClient = new SuiClient({ url: getFullnodeUrl("mainnet") });
const keypair = Ed25519Keypair.fromSecretKey(YOUR_PRIVATE_KEY);

const tx = new Transaction();
await client.buildMintTx({
  tx,
  stableCoinType: "0x6d9fc...::btc_usdc::BtcUSDC",
  usdcCoin: coinWithBalance({
    balance: BigInt(1_000_000),
    type: "0xdba34...::usdc::USDC",
  })(tx),
  amount: BigInt(1_000_000),
});

const result = await suiClient.signAndExecuteTransaction({
  transaction: tx,
  signer: keypair,
});

Burn Stablecoins

const tx = new Transaction();
await client.buildBurnTx({
  tx,
  stableCoinType: "0x6d9fc...::btc_usdc::BtcUSDC",
  amount: BigInt(500_000),
});

await suiClient.signAndExecuteTransaction({ transaction: tx, signer: keypair });

Claim Rewards

const tx = new Transaction();
await client.buildClaimTx({
  tx,
  stableCoinType: "0x6d9fc...::btc_usdc::BtcUSDC",
});

await suiClient.signAndExecuteTransaction({ transaction: tx, signer: keypair });

Query Supply

const totalSupply = await client.getTotalSupply();
const btcUsdcSupply = await client.getTotalSupplyByCoinType("0x6d9fc...::btc_usdc::BtcUSDC");

Related OpenClaw skills

Browse all →
Featured slot

Your product here

Reserve this slot to reach operators and coding-agent buyers.

Shown where builders are actively comparing tools and deployment options.

Advertise