Introduction
Overview of the SDK
The Satoshi Protocol SDK is a comprehensive toolkit for developers to integrate and interact with the Satoshi Protocol, a DeFi platform on the blockchain. This SDK is structured to facilitate various operations such as minting, earning, staking, and cross-chain functionality. Hereβs a brief overview of the main components and their functions:
Directory Structure:
/src
: Contains the source code for the SDK.abi
: Holds ABI files necessary for smart contract interactions.api
: Functions for direct API calls to the Satoshi Protocol.config
: Configuration files that specify chain parameters and protocol settings.core
: Core functionalities such as borrow, deposit, repay, and withdraw operations.core/utils
: Utility functions that support various features like calculations, hints, and total debt amounts.types
: TypeScript type definitions for assets and configurations.
Key Features:
Trove Operations:
OpenTrove
Purpose: Mint satUSD stable coins by depositing collateral into a new trove.
Usage: Used to initiate participation in the lending system, allowing users to lock in collateral in exchange for stable coins.
Deposit
Purpose: Add additional collateral to an existing trove to increase the collateral ratio.
Usage: Helps maintain a safe buffer against price fluctuations, potentially allowing for further minting without reducing safety margins.
Withdraw
Purpose: Remove collateral from a trove while maintaining the required minimum collateral ratio.
Usage: Permits users to retrieve excess collateral, useful when the collateral's value increases or the debt is partially repaid.
Borrow (Mint)
Purpose: Mint more satUSD stable coins against the existing collateral in the trove.
Usage: Enables further leveraging of investments by increasing stable coins minting against secured collateral.
Repay
Purpose: Pay back minted satUSD stable coins to reduce the troveβs debt.
Usage: Reduces interest liabilities and risk of liquidation by improving the collateral-to-debt ratio.
Close
Purpose: Close the trove by repaying all debts and reclaiming all collateral.
Usage: Ends participation in the minting system and liquidates the position, returning all collateral to the user.
Redeem
Purpose: Let users redeem satUSD for collateral, ensuring the stability of the peg to the USD.
Stability Pool Operations:
Deposit
Purpose: Users deposit satUSD stable coins into the Stability Pool to participate in covering liquidations and earning returns from the pool's operations.
Usage:
Enhance Pool Stability: By contributing to the pool, users help maintain overall system stability.
Earn Returns: Participants can earn rewards based on the pool's performance and their contribution.
Withdraw
Purpose: Allows users to withdraw their deposited satUSD stable coins from the Stability Pool, reducing their involvement but also their potential earnings.
Usage:
Retrieve Liquidity: Users can withdraw their contributions for personal liquidity needs.
Adjust Investment: Manage exposure to the Stability Pool based on market conditions or personal strategy changes.
Claim
Purpose: Allows users to claim accumulated collateral gains from the Stability Pool.
Usage: This function is crucial for users who have contributed to the pool and have earned returns as the pool liquidates troves that fall below the required collateral-to-debt ratio.
Nexus Yield Module (NYM) Operations:
Swap In
Purpose: Allows users to swap stablecoins or other supported assets into $satUSD, the protocolβs native stablecoin.
Swap Out
Purpose: Allows users to schedule the conversion of $satUSD back into other stablecoins or supported assets, such as $USDT or $USDC. The Swap-out process includes a pending period before the assets can be withdrawn.
Withdraw
Purpose: Allows users to withdraw previously scheduled withdrawals of assets, such as $USDT, $USDC, or other supported tokens.
This SDK is built with flexibility in mind, supporting multiple blockchain networks and providing a rich set of features to engage with decentralized finance applications.
Last updated