Skip to main content

About Swaptoshi

About Swaptoshi

Overview

Swaptoshi is a Fair-Launched Community-Driven Klayr DEX!

Built using Klayr SDK, it operates as an independent blockchain sidechain app, fully interoperable with the Klayr mainchain and its ecosystem. To learn more about how the Klayr ecosystem works and how sidechains are built, please visit the Official Klayr Documentation.

Swaptoshi offers DEX features inspired by industry best practices, including:

  • Concentrated Liquidity AMM
  • NFT-Based Liquidity Positions
  • Liquid Staking
  • Decentralized Treasury Governance

Swaptoshi also introduces new innovations to enhance the trading experience, such as:

  • Automatic Network Fee Conversion
  • One-Click Token Creation
  • Governable Chain Configurations

Additionally, Swaptoshi is powered by its native token, SWX, along with its Liquid Staking token, SWL

info

To learn more about the utility of SWX and how it incentivizes network growth and contribution, please head to the Tokenomics section

Modules

Swaptoshi utilizes several on-chain modules, including the nft module from the Klayr SDK and its own custom modules, to power its features. This section provides a brief overview of our custom modules

For more details, visit the swaptoshi-core GitHub repository. To view the Swaptoshi network configuration values, check out the config.json file in our repository.

info

Each of the following Swaptoshi modules config uses GovernableConfig powered by the governance module, allowing configurations to be modified based on community decisions. To learn more about Swaptoshi's governance, visit the Governance Section.

note

These modules will also be included in the Swaptoshi SDK upon release, allowing Klayr sidechain developers to create their own unique use cases.

dex

The dex module implements Concentrated Liquidity AMM, following best practices from industry leaders like Uniswap V3. It supports commands for swapping, minting/burning positions, adjusting liquidity, and collecting position earnings. Additionally, it includes commands for transferring leftover pool balances to the treasury and collecting earnings owned by the treasury.

The dex module includes following configurations:

ConfigTypeDescription
feeAmountTickSpacingArray of ObjectsDefines supported fee tiers and their corresponding tick spacing for liquidity pools.
feeProtocolNumberRepresents the protocol fee percentage that is applied on swaps, indicating the share taken by the treasury from swap fees.
feeProtocolPoolStringSpecifies the treasury address where the protocol fees are collected.
feeConversionEnabledBooleanDetermines if fee conversion is enabled for swaps, allowing transaction fees to be paid using token other than SWX.
supportAllTokensBooleanIndicates whether the DEX module supports accepting all tokens from other sidechains. If true, all tokens are automatically supported and can be transferred cross-chain to the Swaptoshi chain. If false, a token must have a liquidity pool before transfers are accepted.
nftPositionMetadataObjectSet metadata about the NFT positions in both the dex chain and mainchain, including name, symbol, and decimal information.
nftPositionColorRangeObjectDefines the color range for NFTs in terms of hue, saturation, and lightness, used for visual representation of positions.
minTransactionFeeObjectSpecifies the minimum fee that will be checked during the verifyTransaction hook of each command.
baseFeeObjectDefines the base fee that will be deducted from every transaction.

tokenFactory

The tokenFactory module allows for easy issuance of new tokens without the need for additional sidechain or node deployments. It also includes commands for post-creation activities like airdrops and ICO management.

The tokenFactory module includes following configurations:

ConfigTypeDescription
skippedTokenIDArray of stringsLists token IDs that are excluded from the factory create operation, ensuring compatibility with other modules when a specific token ID is reserved for a particular purpose (e.g., LST token).
icoLeftOverAddressStringSpecifies the address where leftover tokens from an ICO pool are sent. Leftovers can occur if a pool address receives a transfer before being set up as an ICO pool.
icoFeeConversionEnabledBooleanDetermines if fee conversion is enabled for ICO purchase, allowing transaction fees to be paid using token other than SWX.
icoDexPathEnabledBooleanDetermines if ICOs can use DEX paths for trading or conversions during the token purchase process. If set to false, tokenFactory:icoExactInput and tokenFactory:icoExactOutput transaction will be disabled.
minTransactionFeeObjectSpecifies the minimum fee that will be checked during the verifyTransaction hook of each command.
baseFeeObjectDefines the base fee that will be deducted from every transaction.

liquidPos

The liquidPos module provides liquid staking functionality, automatically minting a specific LST token when the native token is staked in PoS and vice versa.

The liquidPos module includes following configurations:

ConfigTypeDescription
tokenIDStringSpecifies the unique identifier for the token used as the LST token.
ratioNumberDefines the ratio of liquid LST to staked native token. This config is not governable

feeConversion

The feeConversion module allows transaction fees to be paid with a non-native chain token. For example, you can use KLY instead of SWX to cover transaction fees.

The feeConversion module includes following configurations:

ConfigTypeDescription
conversionPathArray of stringsLists the custom conversion paths other than native token liquidity pair.
info

Non-native tokens must meet specific rules to enable fee conversion. For more details, check out the Fee Conversion Section on Tokenomics page.

governance

The governance module handles treasury management and on-chain configuration modification through DAO proposals.

The governance module includes following configurations:

ConfigTypeDescription
governGovernanceConfigBooleanDetermines if this governance configuration is governable.
proposalCreationMinBalanceStringSpecifies the minimum balance required to create a proposal.
proposalCreationDepositStringDefines the deposit amount needed to submit a proposal.
maxProposalActionsNumberSets the maximum number of actions that can be included in a single proposal.
votingDelayDurationNumberIndicates the delay period in block height before voting starts on a proposal.
voteDurationNumberDefines the length of time in block height available for voting on a proposal.
quorumDurationNumberSpecifies the block height frame within which quorum must be reached for a proposal to be valid.
executionDurationNumberSets the block height duration within which a proposal, once approved, must be executed.
quorumTresholdStringDefines the threshold needed to meet quorum for proposal approval. This can be expressed as a percentage string (e.g., "5%") or as an exact value required to reach quorum.
quorumModeNumberSpecifies the mode of quorum calculation: 0 (FOR_AGAINST_ABSTAIN), 1 (FOR_AGAINST), or 2 (FOR).
depositPoolAddressStringIndicates the receiving address for the transferred deposit if quorum is not reached.
enableTurnoutBiasBooleanDetermines if turnout bias is enabled, affecting proposal voting based on participation.
enableBoostingBooleanIndicates if vote power boosting is enabled, which enhances voting power based on how long tokens are locked.
maxBoostDurationNumberSets the maximum block height duration for which a vote can be locked for boosting.
boostFactorNumberDefines the factor by which boosted vote are amplified in terms of voting weight.
treasuryAddressStringSpecifies the address of the treasury where governance rewards are distributed.
treasuryRewardObjectDetails the reward structure from the treasury, including token ID, reward offsets, distance, and brackets for mint and block rewards.
minTransactionFeeObjectSpecifies the minimum fee that will be checked during the verifyTransaction hook of each command.
baseFeeObjectDefines the base fee that will be deducted from every transaction.