Governance Proposals
Proposal/SpotMarketParamUpdate
SpotMarketParamUpdateProposal defines an SDK message to propose an update of spot market params.
type SpotMarketParamUpdateProposal struct {
Title string
Description string
MarketId string
MakerFeeRate *math.LegacyDec
TakerFeeRate *math.LegacyDec
RelayerFeeShareRate *math.LegacyDec
MinPriceTickSize *math.LegacyDec
MinQuantityTickSize *math.LegacyDec
MinNotional *math.LegacyDec
Status MarketStatus
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
MarketId describes the id of the market to change params.
MakerFeeRate describes the target fee rate for makers.
TakerFeeRate describes the target fee rate for takers.
RelayerFeeShareRate describes the relayer fee share rate.
MinPriceTickSize defines the minimum tick size of the order’s price.
MinQuantityTickSize defines the minimum tick size of the order’s quantity.
Status describes the target status of the market.
Proposal/ExchangeEnable
ExchangeEnableProposal defines a message to propose enable of specific exchange type.
type ExchangeEnableProposal struct {
Title string
Description string
ExchangeType ExchangeType
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
ExchangeType describes the type of exchange, spot or derivatives.
Proposal/BatchExchangeModification
BatchExchangeModificationProposal defines a message to batch multiple proposals in the exchange module.
type BatchExchangeModificationProposal struct {
Title string
Description string
SpotMarketParamUpdateProposal []*SpotMarketParamUpdateProposal
DerivativeMarketParamUpdateProposal []*DerivativeMarketParamUpdateProposal
SpotMarketLaunchProposal []*SpotMarketLaunchProposal
PerpetualMarketLaunchProposal []*PerpetualMarketLaunchProposal
ExpiryFuturesMarketLaunchProposal []*ExpiryFuturesMarketLaunchProposal
TradingRewardCampaignUpdateProposal *TradingRewardCampaignUpdateProposal
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
SpotMarketParamUpdateProposal describes the SpotMarketParamUpdateProposal.
DerivativeMarketParamUpdateProposal describes the DerivativeMarketParamUpdateProposal.
SpotMarketLaunchProposal describes the SpotMarketLaunchProposal.
PerpetualMarketLaunchProposal describes the PerpetualMarketLaunchProposal.
ExpiryFuturesMarketLaunchProposal describes the ExpiryFuturesMarketLaunchProposal.
TradingRewardCampaignUpdateProposal describes the TradingRewardCampaignUpdateProposal.
Proposal/SpotMarketLaunch
SpotMarketLaunchProposal defines an SDK message for proposing a new spot market through governance.
type SpotMarketLaunchProposal struct {
Title string
Description string
Ticker string
BaseDenom string
QuoteDenom string
MinPriceTickSize math.LegacyDec
MinQuantityTickSize math.LegacyDec
MinNotional math.LegacyDec
MakerFeeRate math.LegacyDec
TakerFeeRate math.LegacyDec
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
Ticker describes the ticker for the spot market.
BaseDenom specifies the type of coin to use as the base currency.
QuoteDenom specifies the type of coin to use as the quote currency.
MinPriceTickSize defines the minimum tick size of the order’s price.
MinQuantityTickSize defines the minimum tick size of the order’s quantity.
MakerFeeRate field describes the trade fee rate for makers on the derivative market.
TakerFeeRate field describes the trade fee rate for takers on the derivative market.
Proposal/PerpetualMarketLaunch
PerpetualMarketLaunchProposal defines an SDK message for proposing a new perpetual futures market through governance.
type PerpetualMarketLaunchProposal struct {
Title string
Description string
Ticker string
QuoteDenom string
OracleBase string
OracleQuote string
OracleScaleFactor uint32
OracleType types1.OracleType
InitialMarginRatio math.LegacyDec
MaintenanceMarginRatio math.LegacyDec
MakerFeeRate math.LegacyDec
TakerFeeRate math.LegacyDec
MinPriceTickSize math.LegacyDec
MinQuantityTickSize math.LegacyDec
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
Ticker field describes the ticker for the derivative market.
QuoteDenom field describes the type of coin to use as the base currency.
OracleBase field describes the oracle base currency.
OracleQuote field describes the oracle quote currency.
OracleScaleFactor field describes the scale factor for oracle prices.
OracleType field describes the oracle type.
MakerFeeRate field describes the trade fee rate for makers on the derivative market.
TakerFeeRate field describes the trade fee rate for takers on the derivative market.
InitialMarginRatio field describes the initial margin ratio for the derivative market.
MaintenanceMarginRatio field describes the maintenance margin ratio for the derivative market.
MinPriceTickSize field describes the minimum tick size of the order’s price and margin.
MinQuantityTickSize field describes the minimum tick size of the order’s quantity.
Expiry futures market launch proposal
// ExpiryFuturesMarketLaunchProposal defines an SDK message for proposing a new expiry futures market through governance
type ExpiryFuturesMarketLaunchProposal struct {
Title string
Description string
// Ticker for the derivative market.
Ticker string
// type of coin to use as the quote currency
QuoteDenom string
// Oracle base currency
OracleBase string
// Oracle quote currency
OracleQuote string
// Scale factor for oracle prices.
OracleScaleFactor uint32
// Oracle type
OracleType types1.OracleType
// Expiration time of the market
Expiry int64
// initial_margin_ratio defines the initial margin ratio for the derivative market
InitialMarginRatio math.LegacyDec
// maintenance_margin_ratio defines the maintenance margin ratio for the derivative market
MaintenanceMarginRatio math.LegacyDec
// maker_fee_rate defines the exchange trade fee for makers for the derivative market
MakerFeeRate math.LegacyDec
// taker_fee_rate defines the exchange trade fee for takers for the derivative market
TakerFeeRate math.LegacyDec
// min_price_tick_size defines the minimum tick size of the order's price and margin
MinPriceTickSize math.LegacyDec
// min_quantity_tick_size defines the minimum tick size of the order's quantity
MinQuantityTickSize math.LegacyDec
// min_notional defines the minimum notional (in quote asset) required for orders in the market
MinNotional math.LegacyDec
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
Ticker field describes the ticker for the derivative market.
QuoteDenom field describes the type of coin to use as the quote currency.
OracleBase field describes the oracle base currency.
OracleQuote field describes the oracle quote currency.
OracleScaleFactor field describes the scale factor for oracle prices.
OracleType field describes the oracle type.
Expiry field describes the expiration time of the market.
MakerFeeRate field describes the trade fee rate for makers on the derivative market.
TakerFeeRate field describes the trade fee rate for takers on the derivative market.
InitialMarginRatio field describes the initial margin ratio for the derivative market.
MaintenanceMarginRatio field describes the maintenance margin ratio for the derivative market.
MinPriceTickSize field describes the minimum tick size of the order’s price and margin.
MinQuantityTickSize field describes the minimum tick size of the order’s quantity.
Binary options market launch proposal
type BinaryOptionsMarketLaunchProposal struct {
Title string
Description string
// Ticker for the derivative contract.
Ticker string
// Oracle symbol
OracleSymbol string
// Oracle Provider
OracleProvider string
// Oracle type
OracleType types1.OracleType
// Scale factor for oracle prices.
OracleScaleFactor uint32
// expiration timestamp
ExpirationTimestamp int64
// expiration timestamp
SettlementTimestamp int64
// admin of the market
Admin string
// Address of the quote currency denomination for the binary options contract
QuoteDenom string
// maker_fee_rate defines the maker fee rate of a binary options market
MakerFeeRate math.LegacyDec
// taker_fee_rate defines the taker fee rate of a derivative market
TakerFeeRate math.LegacyDec
// min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market
MinPriceTickSize math.LegacyDec
// min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market
MinQuantityTickSize math.LegacyDec
}
Binary options market param update
type BinaryOptionsMarketParamUpdateProposal struct {
Title string
Description string
MarketId string
// maker_fee_rate defines the exchange trade fee for makers for the derivative market
MakerFeeRate *math.LegacyDec
// taker_fee_rate defines the exchange trade fee for takers for the derivative market
TakerFeeRate *math.LegacyDec
// relayer_fee_share_rate defines the relayer fee share rate for the derivative market
RelayerFeeShareRate *math.LegacyDec
// min_price_tick_size defines the minimum tick size of the order's price and margin
MinPriceTickSize *math.LegacyDec
// min_quantity_tick_size defines the minimum tick size of the order's quantity
MinQuantityTickSize *math.LegacyDec
// min_notional defines the minimum notional for orders
MinNotional *math.LegacyDec
// expiration timestamp
ExpirationTimestamp int64
// expiration timestamp
SettlementTimestamp int64
// new price at which market will be settled
SettlementPrice *math.LegacyDec
// admin of the market
Admin string
Status MarketStatus
OracleParams *ProviderOracleParams
}
Proposal/DerivativeMarketParamUpdate
type OracleParams struct {
// Oracle base currency
OracleBase string
// Oracle quote currency
OracleQuote string
// Scale factor for oracle prices.
OracleScaleFactor uint32
// Oracle type
OracleType types1.OracleType
}
type DerivativeMarketParamUpdateProposal struct {
Title string
Description string
MarketId string
InitialMarginRatio *math.LegacyDec
MaintenanceMarginRatio *math.LegacyDec
MakerFeeRate *math.LegacyDec
TakerFeeRate *math.LegacyDec
RelayerFeeShareRate *math.LegacyDec
MinPriceTickSize *math.LegacyDec
MinQuantityTickSize *math.LegacyDec
MinNotional *math.LegacyDec
HourlyInterestRate *math.LegacyDec
HourlyFundingRateCap *math.LegacyDec
Status MarketStatus
OracleParams *OracleParams
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
MarketId describes the id of the market to change params.
InitialMarginRatio describes the target initial margin ratio.
MaintenanceMarginRatio describes the target maintenance margin ratio.
MakerFeeRate describes the target fee rate for makers.
TakerFeeRate describes the target fee rate for takers.
RelayerFeeShareRate describes the relayer fee share rate.
MinPriceTickSize defines the minimum tick size of the order’s price.
MinQuantityTickSize defines the minimum tick size of the order’s quantity.
Status describes the target status of the market.
OracleParams describes the new oracle parameters.
Proposal/TradingRewardCampaignLaunch
TradingRewardCampaignLaunchProposal defines an SDK message for proposing to launch a new trading reward campaign.
type TradingRewardCampaignLaunchProposal struct {
Title string
Description string
CampaignInfo *TradingRewardCampaignInfo
CampaignRewardPools []*CampaignRewardPool
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
CampaignInfo describes the CampaignInfo.
CampaignRewardPools describes the CampaignRewardPools.
Proposal/TradingRewardCampaignUpdate
TradingRewardCampaignUpdateProposal defines an SDK message for proposing to update an existing trading reward campaign.
type TradingRewardCampaignUpdateProposal struct {
Title string
Description string
CampaignInfo *TradingRewardCampaignInfo
CampaignRewardPoolsAdditions []*CampaignRewardPool
CampaignRewardPoolsUpdates []*CampaignRewardPool
}
Title describes the title of the proposal.
Description describes the description of the proposal.
CampaignRewardPoolsAdditions describes the CampaignRewardPoolsAdditions.
CampaignRewardPoolsUpdates describes the CampaignRewardPoolsUpdates.
Proposal/FeeDiscount
FeeDiscountProposal defines an SDK message for proposing to launch or update a fee discount schedule.
type FeeDiscountProposal struct {
Title string
Description string
Schedule *FeeDiscountSchedule
}
Title describes the title of the proposal.
Description describes the description of the proposal.
Schedule describes the Fee discount schedule.
Proposal/TradingRewardPendingPointsUpdate
TradingRewardPendingPointsUpdateProposal defines an SDK message to update reward points for certain addresses during the vesting period.
type TradingRewardPendingPointsUpdateProposal struct {
Title string
Description string
PendingPoolTimestamp int64
RewardPointUpdates *[]RewardPointUpdate
}
Fields description
Title describes the title of the proposal.
Description describes the description of the proposal.
PendingPoolTimestamp describes timestamp of the pending pool.
RewardPointUpdates describes the RewardPointUpdate.
Last modified on April 3, 2026