Search Docs...

Search Docs...

For Partners

DeFi Integrations

Protocols using stTokens as collateral

Protocols using stTokens as collateral

Whether you operate a lending market, CDP stablecoin, or perps protocol, LSTs serve as an ideal source of collateral that eliminates the opportunity cost of collateralizing unstaked tokens. 

To streamline the process of integrating stTokens into your lending protocol, Stride has developed an oracle contract that pushes redemption rate updates for stTokens from an interchain account on the Stride chain to the destination chain contract. The contract is currently deployed on the following chains:

Chain Code ID Contract Address
Osmosis 151 osmo1df5d9wr6s3xp49qe3sgzyd6gwr4yxwl2ydey08rgac5u02wqnvyq0pd5m9
Neutron 744 neutron1mvjgd3pwvdn9c9feppejjlen65p492l2ka0uaenrzrtdqkc692tsnzsj9w
Injective 737 inj1n55xxawhaq4mn9pmgqvhxcukcel2emgc5gx39t

Protocols deployed on these chains can make the following queries against the oracle contract:

pub enum QueryMsg {
    /// Returns the contract's config
    #[returns(crate::state::Config)]
    Config {},

    /// Returns the latest metric, given the metric's key
    #[returns(Metric)]
    Metric { key: String },

    /// Returns the full history of values for a given metric key, up to the capacity
    /// Includes optional limit on the number of metrics returned
    #[returns(Metrics)]
    HistoricalMetrics { key: String, limit: Option<u64> },

    /// Returns the latest metric for each key
    #[returns(Metrics)]
    AllLatestMetrics {},

    /// Returns the redemption rate of an stToken
    #[returns(RedemptionRateResponse)]
    RedemptionRate {
        /// The denom should be the ibc hash of an stToken as it lives on the oracle chain
        /// (e.g. ibc/{hash(transfer/channel-326/stuatom)} on Osmosis)
        denom: String,
        /// Params should always be None, but was included in this query
        /// to align with other price oracles that take additional parameters such as TWAP
        params: Option<Binary>,
    },

    /// Returns a list of redemption rates over time for an stToken
    #[returns(RedemptionRates)]
    HistoricalRedemptionRates {
        /// The denom should be the ibc hash of an stToken as it lives on the oracle chain
        /// (e.g. ibc/{hash(transfer/channel-326/stuatom)} on Osmosis)
        denom: String,
        /// Params should always be None, but was included in this query
        /// to align with other price oracles that take additional parameters such as TWAP
        params: Option<Binary>,
        /// Optional limit on the number of entries to return
        limit: Option<u64>,
    },
}

For more detailed integration instructions, please see the dedicated redemption rate oracle documentation.

Stride Labs

Last updated:

9/17/24

Stride Labs

Last updated:

9/17/24