Only this pageAll pages
Powered by GitBook
1 of 62

Rujira

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

HOW IT WORKS

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Developers

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Core Products

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Ecosystem Products

Loading...

Loading...

Resources

Loading...

Loading...

Loading...

Loading...

Rujira & THORChain

Rujira is the App Layer of THORChain, connecting its comprehensive ecosystem of DeFi applications with THORChain’s deep liquidity and cross-chain capabilities. This merger unlocks a powerful synergy, enabling projects to tap into THORChain’s liquidity, native token support, and interoperability while offering a seamless, user-friendly experience for DeFi users.

RUJI will serve as the fee-switch token for the THORChain App Layer, enabling stakers to capture the revenue generated by applications that join the Rujira Alliance, after accounting for the portion shared with THORChain Base Layer to cover security costs.

The standard revenue split between core applications and the Base Layer is 50/50. However, any economic activity that already contributes value to the Base Layer, such as applications built on top of the Rujira primitives, will not be required to pay for security twice.

Rujira & Kujira

Kujira has successfully developed an innovative and cohesive DeFi ecosystem. However, recognizing past challenges, a newly announced partnership with THORChain marks an exciting new phase, offering significant potential for both platforms. See the official announcement about the Rujira Alliance:

What Will This Partnership Solve?

While this collaboration will generate real-yield rewards for THORChain by distributing 50% of core Kujira dApps revenue to RUNE bonders and liquidity providers (LPs), it's important to consider what THORChain offers to Kujira, as well as the additional benefits Kujira brings to THORChain.

Introduction

Rujira: Building the Omnichain DeFi rails for Humans and Machines

Welcome to Rujira, the powerful App Layer on THORChain with an integrated suite of DeFi tools and dapps, accessible with native assets from all connected chains. As an introduction, we would like to share some background on what we stand for, and what makes us unique.

Resilience

We are committed, long-term builders: we survived the Terra crash in 2022, we survived the KUJI liquidation cascade in 2024, and we survived the THORFi blow up in 2025. No matter the challenge, we always find a way and keep building. This has allowed us to create one the most resilient and passionate communities in crypto ❤️

Change

Overzealous regulators in the US, lacking vision and clarity, have created pockets of darkness in the industry enabling some operators to act like big casinos, allowing scammers to lurk. This is a far cry from a productive crypto sector supporting new financial instruments, democratization of assets’ ownership and enabling innovation in areas such as artificial intelligence.

The new US administration gives us a chance to build real products for real people, generating real value. With the hope that improved clarity on regulations will allow these DeFi products to be accessed outside of a pure crypto space.

Eventually, we hope to see the next generation of business owners using our launchpad to raise money to e.g. open a restaurant. Then launch a DAO to manage the board transparently and benefit from real time accounting and professional-grade reporting, at a fraction of the cost of running a traditional business. Crypto can only win if it moves beyond crypto.

No bullshit, real value

Rujira is the place where everything comes together, a unified ecosystem where all the different chains, wallets, and DeFi products converge into something bigger. We are not playing the short-term hype game. We are building the omnichain DeFi rails for humans and machines, with a sustainable economic model for the decades to come. All products across our comprehensive DeFi stack charge some protocol fees which are 100% distributed in USDC to RUJI stakers (net of the share of revenue going to THORChain Base Layer). Owning RUJI is owning a share of all economic activity happening on the App Layer.

Built different

From great challenges emerge incredible opportunities. Building the App Layer on top of THORChain’s technology gives us some unique edges:

  1. We can tap into THORChain's deep liquidity, which fixes one of Kujira's biggest historical challenges: liquidity bootstrapping.

  2. We can remove all dependency to third party bridges and wrapped tokens, enabling access to DeFi with native assets from all connected chains.

  3. In particular, we can become the cornerstone of BitFra, providing access to DeFi with native BTC and capitalizing on the next wave of institutional and governmental BTC adoption.

  4. Our apps are omnichain, accessible from all connected chains, all at once, and via any supported wallet.

Building the Rujira App Layer provides us with a unique opportunity in software development. We get to greenfield something we had already built and fix literally every issue we have seen over the years with Kujira. Truly satisfying.

Drilling down - what makes Rujira unique

1. DeFi with native assets

  • No third-party bridges or wrapping by centralised intermediaries.

  • The only place where you can trade native BTC, but also native assets from all other connected chains, in an orderbook DEX; take a loan against native BTC; have a stablecoin backed by native BTC, etc.

2. Comprehensive DeFi suite in a Unified UI

  • Orderbook DEX, AMM, Perps, Money Market, BTC-backed stablecoin, Liquidations, Launchpad, NFT Marketplace, Options, AI Agents.

  • No need to navigate between different websites for each application.

  • New “Optimistic block commitment” tech that pre-compute the new chain's state, virtually giving a zero second block time and real time UI.

  • Provide a CEX-like experience, but 100% decentralized.

  • Accessible from a dedicated mobile app (Station).

  • Accessible from a ChatGPT-like AI interface.

3. Highly integrated ecosystem (circular)

  • Because we control the full stack, everything works together as a seamless ecosystem.

  • The AMM adds liquidity to the orderbook DEX.

  • The money market provides leverage for regular CDP loans and margin trading.

  • The liquidation engine protects all debt related products (loans, CDP stablecoins, margin trading).

  • The liquidity of THORChain Base Layer is virtualized via an AMM arbitrage strategy tapping into liquidity from the money market.

  • The liquidity in the orderbook backstops the liquidation bids via an AMM strategy.

  • Everything works together seamlessly within a coherent ecosystem.

4. Rujira is omnichain

  • As a user, connect your Bitcoin, Ethereum, Solana, Cosmos, etc. wallets and you will see your aggregated balances appear across all apps, and you will be able to trigger transactions from any connected chain, regardless of where your assets are.

  • As a builder, deploy once on Rujira and make your app available from all connected chains and wallets. Rujira is the only place where you can accept direct deposits from all major L1 to your app.

5. No liquidity bootstrapping risk

  • We will virtualize THORChain's Base Layer liquidity via an arbitrage market making strategy, allowing us to execute taker orders against TC ~$130m liquidity.

  • You can easily make your own estimates for spot trading revenue for volumes executed against the Base Layer as follow: Revenue = TC liquidity * Avg Daily Utilisation Ratio * 365 * 15 bps taker fee.

    • Historically, THORChain Average Daily Utilisation Ratio has been at ~0.49x and Kujira was at ~0.11x; most DEXs are typically in the 0.1-0.3x range.

  • For volumes executed against Base Layer liquidity, each $1 of volume on the App Layer = ~$1 of volume of the Base Layer, which generates fees for TC, which means 100% of the revenue on the App Layer side is sent to RUJI stakers.

  • We expect the growth in other products in the next few years - notably Perps, BTC-backed stablecoin and launchpad - will reduce the share of revenue coming from spot trading, reducing the reliance on Base Layer liquidity.

6. Sustainable economic model

  • All products across our comprehensive DeFi stack charge some protocol fees which are 100% distributed in USDC to RUJI stakers (net of the share of revenue going to THORChain Base Layer).

  • RUJI token has no inflation, all the staking rewards are based on real revenue.

  • Owning RUJI is owning a share of all economic activity happening on the App Layer.

7. Scaling with the proven TC Affiliate Fee model

  • We will replicate the very successful TC affiliate fee model; allowing third parties to integrate with all the Rujira apps and monetize by charging a fee on top of protocol fees.

  • Aiming to integrate with SwapKit and all the major TC affiliates (TrustWallet, Ledger Live, Bitget wallet, etc.).

Getting Started

Before exploring the App Layer on THORChain, take the time to understand how Rujira and RUJI came about, how it works by building on top of THORChain by first reviewing:

  • Understanding Rujira History

  • Understanding RUJI

  • How it Works

If you are looking to build on Rujira (P.S. We Love You), then you can go straight to Getting Started and the Development Process in the Developers section.

RUJI Trade - Orderbook DEX

Q: What is RUJI Trade? RUJI Trade is our fully on-chain orderbook DEX and the core of the Rujira ecosystem. It lets you trade pairs on the spot market and gives you full control over your trades with market, limit, tracking orders and more.

You can access it here: rujira.network/trade

For more details, visit the RUJI Trade docs.

Q: What is an orderbook? An orderbook is a list of buy and sell orders for a trading pair. It matches buyers and sellers' intents based on their desired prices and quantities.

Q: What is a market order? A market order lets you buy or sell instantly at the best available price in the market by consuming the liquidity in the orderbook.

Q: What is a limit order? A limit order lets you set your own price to buy or sell. Your order only executes when the market reaches that price.

Q: What is a recurring order? Recurring orders (also known as DCA - Dollar Cost Averaging), built by the CALC team, let you schedule trades over time using native assets. You can use them to gradually buy, sell, or take profits on your own schedule and with custom parameters such as price floor or ceiling to trigger orders, all fully on-chain.

Q: What is a tracking order? A tracking order lets you buy or sell at a fixed discount or premium to an asset’s oracle price*. It allows for more advanced trading and market-making strategies.

For example, you can use a tracking order at a slight premium to market price to execute a large buy order with minimum price impact.

*Oracle price: the current market price of an asset provided by a trusted data source.

Q: What is a grid bot? A grid bot automatically places buy and sell orders at preset price levels, creating a “grid” that lets you profit from market volatility by buying low and selling high within a chosen price range.

Q: How do I claim my order? You can claim your filled order by clicking the purple arrow at the bottom of the page.

You can also enable the AutoClaimer by the AutoRujira team, which automatically claims filled orders for selected markets. You can find this feature in the order panel.

Note that market orders are executed instantly and do not need to be claimed, but limit and tracking orders do.

Q: What are the trading fees?

The fees for RUJI Trade are:

  • Maker orders (adding liquidity to the orderbook): 0.075% fee

  • Taker orders (removing liquidity from the orderbook): 0.15% fee

Secured Assets

Q: What are Secured Assets? Secured Assets are a novel answer to the problems of cross-chain interoperability, providing an open source, decentralized, and secure cross-chain asset model powered by THORChain. Secured Assets are backed 1:1 by native assets secured in THORChain’s decentralized vaults, which are secured by Threshold Signature Schemes (TSS) with the private keys split among 100+ decentralized node operators that churn every 3 days. Secured Assets remove all dependency to third-party bridges (e.g. Axellar, Gravity) and wrapping by centralized intermediaries (e.g. wBTC by BitGo, cbBTC by Coinbase), enabling access to DeFi with native assets from all connected chains.

Q: How Secured Assets differ from traditional Bridged Assets? Answer: Bridged assets are IOUs issued by a third-party protocol on the destination chain, and represent a claim on the underlying asset on its native chain. In the best case, the assets on the native chains are secured by an external validator set (e.g. Axellar, Gravity), and in many cases by low-security multisig that have resulted in billions of dollar lost in hacks (Ronin Bridge $625m hack, Wormhole Bridge $326m hack, Nomad Bridge $190m hack, and the list goes on). In any case, they introduce an extra layer of exogenous risk between the native chain and the end user. Secured Assets, on the other hand, eliminate this additional layer of risk. While they do indeed mint new assets on THORChain, THORChain’s TSS eliminates the external risks associated with third-party bridges and their security designs. This provides a far more robust architecture for Secured Assets than traditional bridges.

Q: How Secured Assets differ from Wrapped Assets? Answer: Wrapped assets are also IOUs, but, unlike bridged assets, these are issued by a centralized intermediary, one that holds the underlying asset in custody (e.g., wBTC issued by BitGo or cbBTC issued by Coinbase). This allows assets like BTC to be used in DeFi on e.g. Ethereum, but it forces users to trust the centralized issuer to secure the underlying assets appropriately, to not misuses the reserves, and to not give in to censorship (e.g. freezing assets under the pressure of arbitrary governments). In using wrapped assets, a centralized intermediary have now become one’s unintended financial partners, negating the very ethos of decentralization. In contrast, Secured Assets require no error-prone and corruptible centralized custodian, and are never subject to permission or KYC requirements.

Q: How are Secured Assets minted and redeemed? They are minted when native assets are deposited into THORChain’s vaults and can be redeemed 1:1 for those same assets at any time.

Q: Are Secured Assets backed 1:1 by native tokens? Yes, every Secured Asset is fully backed and redeemable for its native token.

Q: Can I transfer Secured Assets between chains? Secured Assets are currently only tradeable on THORChain via Rujira.

RUJI Index - Crypto Indices

Q: What is RUJI Index? RUJI Index is the index product on Rujira. It gives you access to curated sets of assets that follow a clear and transparent strategy. You can use RUJI Index at rujira.network/index or on https://rujira.network/strategies?filters=IndexVault A more detailed explanation can be found here.

Q: What are crypto indices? Crypto indices are bundles of assets grouped together in a single product. The bundle can have a predefined composition or a flexible one. Indices give you diversified exposure to a category, a theme or a group of assets. They work in a similar way to ETFs in traditional finance.

Q: What indices are available? The following indices are currently available:

  1. yTCY (yield bearing TCY index)

  2. yRUNE (yield bearing RUNE index)

  3. RJI (Rujira ecosystem index)

The next index we plan to release will include a set of blue chip assets.

Q: How are the indices weighted and rebalanced? There are two types of index implementations:

  • NAV indices are automatically rebalanced based on target weights and value of each component. These require every asset in the index to have an oracle price.

  • Fixed indices keep a fixed unit ratio between the assets and do not auto rebalance. This type does not require oracle pricing and is used for assets that exist only inside Rujira.

Q: Can I create my own index? Not yet. Personal index creation is something we plan to explore in the future.

Rujira & Levana

Introducing RUJI Perps

Levana is excited to announce its partnership with the Rujira Alliance to build RUJI Perps, a new perpetuals (perps) trading platform alongside Kujira and THORChain.

RUJI Perps is a cornerstone of the Rujira Alliance, combining THORChain’s liquidity with the expertise of Kujira and Levana. The platform aims to offer trustless, Bitcoin-backed perpetual futures trading, enabling users to trade using Bitcoin as collateral.

The market for Bitcoin is substantially larger than the DeFi market, and RUJI Perps seeks to attract these users by providing a seamless experience rivaling centralized exchanges.

Staking and Rewards

All protocol fees from RUJI Perps will be distributed as staking rewards, enhancing the value proposition for RUJI and RUNE stakers. Based on current DeFi market volumes, if RUJI Perps captures just 1% of the perpetuals market (about $60 million in daily volume), it could generate approximately $5.7 million annually for RUJI and RUNE stakers.

The synergy between THORChain’s native cross-chain liquidity and RUJI Perps' unique design will drive the growth of liquidity and trading volume, benefiting the entire Rujira ecosystem.

LVN to RUJI Conversion Process

Levana’s LVN holders will have the option to swap their tokens for a share of the 5% of the RUJI supply allocated to Levana. All locked and vested LVN tokens will be unlocked in advance of the swap. This process will operate on a bonding curve over 12 months, with better conversion rates available early in the process.

Long-Term Merger Incentives

Users who keep their RUJI in the merger contract for up to 12-month will benefit from increased conversion rates over time. Users can withdraw their RUJI at any time, but once withdrawn, they cannot deposit back into the merger contract, leading to more rewards for the ones who stay. Early participants who stay deposited in the merger contract for the full 12-month period will receive the most RUJI relative to the LVN swapped.

RUJI Leagues - Points competition

Q: What is RUJI Leagues? RUJI Leagues is our in-house competition where you can earn rewards by using Rujira products.

You can access the leaderboard of RUJI Leagues on rujira.network/leaderboard.

Q: What do I have to do to be eligible? The first season hasn't started yet, at the moment everyone is earning points. To be eligible and capitalize on the points you have earned to date, you will need to register your wallet for RUJI Leagues Season 1 (to be announced). Participating in the Leagues will require staking some RUJI. Q: How do I earn points? You earn points by using Rujira products. Every time you generate revenue for the protocol, the fees you pay are converted into points. The more points you collect, the higher your rank and the better your rewards.

Q: How are points calculated? The baseline is that every $1 of fees you paid gives you 69 points. But there will be some exceptions that might be temporary to highlight the usage of a product for a season, or permanent to sweeten certain negative events. For example, we plan to apply a larger multiplier to liquidation fees so that, even when the market isn't following your plans, there is still something extra to earn.

Q: What are the rewards? Rewards will be paid out at the end of each season in $USDC and $RUJI. A detailed breakdown of the rewards will be shared once we start the first season.

Q: How long does a season last? Each season lasts for 6 weeks. After that, rewards are distributed, points reset, and a new season begins.

MiCAR Compliant White Paper

Ruji Holdings Limited has voluntarily submitted a MiCA-compliant whitepaper for Rujira token (RUJI), which is classified as an “Other Crypto-Asset” under Regulation (EU) 2023/1114 on Markets in Crypto-Assets (MiCA). Unlike Asset-Referenced Tokens (ARTs), Electronic Money Tokens (EMTs), or Utility Tokens, RUJI is not subject to a mandatory whitepaper requirement. However, pursuant to Article 6(1), second subparagraph of MiCA, service providers may voluntarily publish a whitepaper to promote transparency, regulatory clarity, and investor confidence. This document provides key disclosures regarding Rujira’s characteristics, associated risks, and the exemptions though decentralization to the regulatory framework under which RUJI can be offered within the EU/EEA.

The white paper is available here: Rujira MiCAR Compliant White Paper_v1.1.pdf

Partnership Requests

Interested in launching something on Rujira, integrate or discuss some partnerships? Reach out to @Erudite35 or @PragmaticMonkey on Telegram.

THORChain’s Unique Capabilities

THORChain is a sovereign Layer-1 blockchain, distinct from most general-purpose platforms. Its design focuses on a specific set of groundbreaking functions, including:

  • Direct integration with native tokens from external chains

  • Cross-chain swaps

  • Liquidity provision

  • Savings and lending services

In essence, THORChain has solved the problem of native liquidity for cross-chain interoperability — a solution from which Kujira stands to gain substantially.

Integrated Core Functionalities

These functionalities are not deployed through smart contracts, but are embedded directly into the THORChain core. This is because THORChain does not support generic smart contracts like CosmWasm, which introduces certain limitations.

However, this also necessitates a more innovative approach to economic security. Unlike most DeFi platforms that use wrapped tokens (which can become worthless in case of an exploit), a breach of THORChain (e.g., draining native BTC or ETH) would still allow the attacker to profit from the stolen assets. To address this, THORChain employs rigorous security measures. Since 2021, THORSec, an always-on security detail, has safeguarded its operations, ensuring the highest levels of security for the ecosystem.

Enhancing with CosmWasm

Given THORChain’s design, it makes sense to develop an application layer with CosmWasm functionality, especially with support from Kujira’s experienced development team.

The Missing Piece for Kujira

For Kujira, migrating to become Rujira fills a critical gap. By building on THORChain, Kujira gains access to one of the most liquid, high-volume environments of native assets and cross-chain interoperability within decentralized finance. This combination will help Kujira resolve key pain points (visibility and liquidity bootstrapping) and realize its vision of delivering a state-of-the-art DeFi experience.

Understanding Rujira History

Rujira was born from a partnership between Kujira, Levana and THORChain, known as the Rujira Alliance. Kujira, Levana and three Kujira's ecosystem projects are being merged into Rujira, which becomes the App Layer on THORChain, unlocking powerful synergies:

  • THORChain provides deep liquidity, cross-chain capabilities and security for the App Layer.

  • Kujira + ecosystem projects and Levana provide a complete suite of DeFi products unified under a single brand and UX, and a new stream of income for THORChain in the form of revenue share.

Core Projects in the Merger

The unified THORChain App Layer will incorporate various teams including Kujira, three Kujira's ecosystem projects (Fuzion, Unstake, Gojira) and Levana.

These teams will form the backbone of Rujira, focusing on specific verticals within the DeFi ecosystem, ensuring that each product is built by experts.

Following the merger, the Rujira brand will become the official face of the THORChain App Layer, with the core team continuing to build out a world-class suite of DeFi tools. All current protocols on Kujira are encouraged to migrate to the new App Layer to benefit from THORChain’s liquidity and interoperability.

Kujira’s vision of providing sustainable, decentralized financial tools remains intact, but now enhanced with THORChain’s capabilities. This partnership creates new possibilities for DeFi innovation, offering developers and users a unique ecosystem for building and scaling financial applications.

The Rujira merger represents a pivotal moment for both Kujira and THORChain, bringing together the best of both worlds: Kujira’s innovative DeFi solutions and THORChain’s deep liquidity and cross-chain capabilities. Together, they are building a decentralized future where financial opportunities are accessible, inclusive, and powered by community-driven innovation.

In the following sections, we will explore the relationship between Rujira and each of those three parties, and how it all tie together into the RUJI tokens, accruing value from the economic activity happening on the App Layer. To get going, dive into:

Understanding App Layer Security

The App Layer is designed with strict boundaries to ensure it does not introduce new risks to the Base Layer. Smart contracts on the App Layer are essentially “accounts with code” that are only permitted to perform MsgSend and MsgDeposit operations. They are sandboxed within a walled garden, with no special privileges that could compromise the Base Layer.

This setup ensures that the App Layer introduces no greater risk than a centralized entity holding a large amount of RUNE today. To further minimize risk, applications that might lead to significant RUNE accumulation will be avoided. Instead, the focus is on building apps centered around Secured Assets.

Additionally, THORChain’s governance mechanism (Mimirs) allows for fine-grained control: they can pause specific apps, all apps, or the minting/burning of Secured Assets if needed. Developers must go through a due diligence process to have their deployer address and smart contract bytecode whitelisted before deploying on Mainnet, adding another layer of security.

What if there is an exploit and secured assets are all wiped? Any impact for the Base Layer? If an app gets hacked, it just means the hacker can withdraw the secured assets, not the original owners. It would take a Base Layer vulnerability to "mess with secured assets".

If there is a smart contract exploit on the App Layer leading to the misappropriation of secured assets, the loss is for each individual user that interacted with the malicious smart contract. This would obviously be a bad outcome, but it has no impact for the Base Layer, it’s just a change of ownership. The Base Layer would continue to neutrally process minting and redemptions of secured assets, as it is supposed to do, and would not assume any loss.

Note that Node Operators have the ability to pause smart contracts as shown above if such an issue was to happen and they wish to mitigate it.

A key concept around security is the separation of concerns between the Base Layer and App Layer. Smart contracts on the App Layer interact with the Base Layer the same way as any EOA, they can only do things that regular users can do.

What is the Mimir to stop minting/redeeming secured assets? HaltSecuredDeposit-{CHAIN} HaltSecuredWithdraw-{CHAIN}

What is the flow of redeeming secured assets and sending out the L1 outbound? Swap to an L1 address with the redemption memo.

How does secured asset accounting work? Is it held at App Layer or Base Layer? The accounting is held on the Base Layer. App Layer just gets to play with secured assets.

Can smart contracts mint secured assets? No. They can only use secured assets across the different contracts, but not mint (or burn) secured assets.

Are there TVL limits on the App Layer? Can secured asset balances grow larger than pools? This depends on the TVL Cap, which is an ongoing discussion in the THORChain community.

What happens if a protocol on the App Layer accrues bad debt? Bad debt would be assumed by the lenders in the Lending vaults. As long as the bad debt IOU is not in RUNE, then it has no impact for the Base Layer - we don't entertain releasing apps that will take excessive RUNE collateral.

Why can swap against base-layer at 5-10bps rather than the mimir settings which results in 8bps at best and 31.9 bps at worst? The minimum swap rate for Secured Assets is defined by the mimir SecuredAssetSlipMinBps currently set at 5bps, same as Trade Assets (TradeAccountsSlipMinBps = 5bps). In practice, no user will be able to swap at those rates. To understand that, you need to understand how the App Layer is able to atomically tap into the Base Layer liquidity with its . The way this strategy works is that, for a given quantity of input token to swap, the AMM can estimate how many output token it would get if it was to execute a Base Layer swap, and then provide a quote for that quantity at Base Layer price + 2x SecuredAssetSlipMinBps + 15bps Taker Fee + 30bps Arbitrage Fee. You can think of the duo Arbitrage Fee + Taker Fee as an Affiliate Fee charged by traditional frontends, it’s economically the exact same thing for the end user, it’s just the mechanic for collecting those fees that is different.

What audits have been made on the integration of the App Layer? All apps deployed on Rujira have gone through rigorous internal testing and an external audit before release. You can find a collected overview of both contracts and audits in

What security measures are in place to prevent illicit actions in the mempool by MsgExecuteContract message? Messages are de-prioritised against all Base Layer messages so can't DoS MsgExecuteContract wraps MsgSend or MsgDeposit actions.

Will the Base Layer now need to consider each App Layer contract in its overall security posture? No - the Base Layer doesn't know that the App Layer exists, because apps can only do what EoAs can already do, and nothing extra.

Are there any risks App Layer products affecting Base Layer swap execution? No. All msgs are de-prioritised against Base Layer. Apps use the Base Layer to settle swaps.

RUJI Lending - Money Market

Q: What is RUJI Lending? RUJI Lending is our decentralized money market where you can lend or borrow crypto assets. Lenders earn interest on their tokens, while borrowers can use their crypto as collateral* to take loans.

You can access it via:

  • Lending: rujira.network/strategies

  • Borrowing: rujira.network/borrow

For a full overview, visit our RUJI Lending docs.

*Collateral: crypto you lock up as security for your loan.

Q: What are CDP loans? CDP stands for Collateralized Debt Position. It is a way to borrow crypto by locking up other crypto as collateral, and it is always overcollateralized, meaning you must deposit more value than you borrow.

Here is how it works:

  • You deposit crypto like BTC, ETH, or XRP (this is your collateral).

  • Each collateral type has a corresponding collateral ratio, which is a risk-adjusting factor applied to your collateral value to define how much you can borrow against it. For example, BTC has a collateral ratio of 70%, meaning you can borrow up to $70 for every $100 worth of BTC.

  • You borrow a different token, or stablecoin* such as USDC or USDT.

  • Your loan stays open as long as your adjusted collateral value remains above the value of your debt.

*Stablecoin: a crypto token that aims at keeping a fixed value, often linked to the US dollar.

Q: How is the interest rate decided? The interest rate changes depending on how much of an asset is already borrowed. If most of the asset in the vault is borrowed (high utilization rate*), the interest rate goes up. If more assets get added to the vault, or loaned assets are returned, the rate goes down.

*Utilization rate: how much of the total available supply in the vault is currently borrowed.

Q: Who am I borrowing from? You borrow from other users who have deposited their assets into lending vaults. Every token you borrow comes from users who chose to lend them out. The interest you pay goes directly to those lenders (minus 10% protocol fee) and is distributed pro-rata their share of the total deposits.

Q: What is Collateral Ratio, Adjusted LTV, and Liquidation Price?

  • Collateral Ratio: risk-adjusting factor applied to the value of your collateral to define how much you can borrow against it. For example, BTC has a collateral ratio of 70%, meaning you can borrow up to $70 for every $100 worth of BTC.

  • Adjusted LTV (Loan-to-Value): shows how much you borrowed compared to your adjusted collateral’s value. If your Adjusted LTV reaches 100%, your position becomes at risk and will start being liquidated.

  • Liquidation Price: the price where your collateral would start to be sold to repay your loan and protect the system solvency.

Q: What happens if my loan gets liquidated? If liquidation happens, your collateral is partially sold on RUJI Trade, our orderbook DEX. The proceeds from that sale is used to repay part of your loan till your position gets back to a safe Adjusted LTV (i.e. <100%).

Q: What is a collateral swap? Collateral swaps are a special Rujira feature that lets you swap your locked collateral without closing your loan.

For example, if you borrowed USDC using BTC as collateral, you can swap your BTC for another token directly, without repaying the loan first.

Frequently Asked Questions

In this section, you will find many Frequently Asked Questions grouped by category:

  • Understanding Rujira

  • RUJI Token

  • Secured Assets

Contact

Q: I need help. Who can I talk to? You can get support on our Discord by submitting a support ticket, or on our Telegram. Make sure you do not reply to private messages from unknown people to avoid scams.

Q: I want to build something on Rujira. What should I do? Start by checking our Build Ideas to see what you can create. Then send an email to [email protected] with:

  • Your idea name and concept

  • Your Telegram handle

  • Estimated timeline

  • Team size

Our team will get in touch with you after that

Q: I want access to the API, who do I reach out to? Please email with details about the request, and we will get in touch with you.

Q: Who do I contact for partnerships or integrations? Please email [email protected] with details about your project or proposal.

Q: Who do I contact for marketing or collaborations? For co-marketing, campaigns, or other collaborations, send an email to [email protected].

Q: How can I join the Rujira community? Join our . That is where most of our community members are. You can also explore subcommunities using the #communities command in the chat.

Q: Where can I give feedback or report bugs? We appreciate all feedback and bug reports, and you can share them in our or chat. At a later stage, we will have a dedicated page to make this even easier.

RUJI Launchpad

RUJI Launchpad is where capital connects with ideas and everyone is a venture capitalist.

Users gain early access to promising protocols and opportunities to benefit from their favorite projects that raise capital for expansion and development.

RUJI Launchpad differs from typical launchpads by providing a comprehensive suite of tools for projects at all stages, from bootstrapping to token generation events (TGE) and late-stage fundraising.

Key Features

  • Flexible Raising Options: Choose a fundraising mechanism suited to your needs and strategy from a range of options including fixed price first-come-first-served sales (whitelist optional), fair market auctions and bonded token offers.

  • Multi-chain Access: Support for tokens minted on various blockchains, with seamless bridging for cross-chain sales or purchases.

  • Permission-less Self Service: Launch a sale without restrictions, with self-service tools and technical support available.

  • Automated Ecosystem Integration: Effortlessly create trading pairs, provide liquidity, and manage tokenomics, complete with vesting schedules and cliffs.

  • Easy Token Management: Set out tokenomics and automate distribution as part of the process.

Benefits

  • For Buyers: Back the next unicorn with ease using a streamlined user experience and a marketplace designed to simplify investment discovery and manage your purchases seamlessly.

  • For Sellers: RUJI Launchpad user interface enables project teams to create sales, mint tokens, establish trading pairs, and provide liquidity all in one place. An effortless fundraising process enables builders to focus on what they do best: building.

  • Mint Anywhere, Raise on Rujira: It’s easy to bridge over and raise capital, whichever chain you call home.

Fees & Fee Sharing with THORChain Base Layer

  • FCFS and Auction (initial token offerings):

    • Token seller pays a commission of 5% on the proceeds from a sale.

    • Buyers pay a 0.5% commission on the withdrawal of tokens purchased.

    • Sellers pay a 0.5% commission on claim of LP tokens created during a sale.

Status

  • Not live yet.

TCY AutoCompounder

The TCY AutoCompounder is a permissionless smart contract on Rujira built by the AutoRujira team that automatically claims, converts, and reinvests TCY rewards to maximize yield — with zero manual intervention. Designed for users who want to earn more without constant monitoring, it’s the simplest way to compound TCY over time.

Key Features

  • Fully Decentralized & Non-Custodial: The AutoCompounder is 100% on-chain and permissionless. Your TCY always remains under your control — the smart contract simply automates the process.

  • Simple, One-Step Setup: Just deposit your TCY into the AutoCompounder at . You’ll receive sTCY in return, representing your share of the vault. This allows you to stay liquid or use your position in future DeFi products.

  • Automated Claim, Conversion & Reinvestment: Approximately every 24 hours, the contract receives rewards in RUNE. These rewards are automatically converted into more TCY via RUJI Trade and redistributed proportionally to all depositors — growing your position continuously.

  • Composability with sTCY: Your position in the AutoCompounder is fully liquid. Soon, you’ll be able to trade sTCY on RUJI Trade or use it across Rujira products — as collateral for lending, for placing bids on RUJI Liquidation, and beyond.

Benefits

  • Set & Forget Yield Optimization: Forget about claiming rewards, tracking prices, or managing reinvestments. The AutoCompounder runs 24/7 and compounds for you — ensuring you never miss a chance to grow your position. It removes the friction of active management while delivering optimized returns over time.

  • Maximum Efficiency: Rewards are claimed and reinvested as soon as they become available. No idle assets. No wasted time. No manual effort.

  • Future-Ready Design: The sTCY token unlocks powerful integrations across the Rujira ecosystem. From lending to liquidation bids, your auto-compounded position becomes a core building block of your DeFi strategy.

Fees & Fee Sharing with THORChain Base Layer

  • TCY AutoCompounder: A 5% fee is collected from compounded rewards only (not principal) and is distributed to AUTO stakers as part of AutoRujira’s fee-sharing model. This is the first of many strategies being built by AutoRujira to unlock the full potential of TCY — and help users do more with their assets, effortlessly.

  • Rujira & THORChain: TCY AutoCompounder is built on top of Rujira's Orderbook DEX. Hence, every auto-compounding transaction is subject to the standard Orderbook DEX fee, accruing value to both RUJI stakers and THORChain Base Layer.

Status

  • Live .

RUJI Swap - Cross-chain swaps

Q: What is RUJI Swap? RUJI Swap is our cross-chain swap product. It gives you a simple way to swap any supported native asset into any other native asset.

RUJI Swap connects directly to THORChain, which is the only fully decentralized network that can swap native assets like BTC, ETH, XRP, DOGE, ATOM, or BNB without wrapping or using third-party bridges. You can access it here:

Note that you need to have a THORChain-enabled wallet connected to use RUJI Swap, even if you swap from two external chains. This was a compromise we had to make to be able to offer the omnichain experience across the rest of the Rujira apps.

Q: How do cross-chain swaps work and how are they routed? THORChain uses liquidity pools to move assets between blockchains. Each pool connects a native asset to RUNE. Your source asset is deposited into its pool, for example BTC into the BTC/RUNE pool. Inside the pool it is swapped to RUNE. Then RUNE is swapped into your target asset inside its pool, for example RUNE to ETH. The target asset is then sent to your destination address on its native chain. The swap happens in one continuous flow and does not use wrapped tokens or bridges.

Q: What is a Source and Destination wallet? The source wallet is where the asset you want to swap is currently stored. The destination wallet is the address where you want to receive the new asset. Both wallets can be your Rujira address or an address on an external chain such as Bitcoin or Ethereum.

Q: What fees do I pay when swapping?

RUJI Perps - Perps DEX

Q: What is RUJI Perps? RUJI Perps (v1) is our perpetual trading product, built on a peer-to-pool model, where you can trade with up to 50x leverage. You can access RUJI Trade at rujira.network/perps. A more detailed description is available .

Note: The current version was built by the Levana team as an intermediate step and is not fully integrated with the rest of the applications. We will release a brand-new version of the protocol with a peer-to-peer orderbook model and improved UX as part of our 2026 roadmap.

Q: How do perpetuals differ from spot trading? Perpetuals let you use leverage, which means you can take a larger position than your actual capital. They are more adapted for short-term trading, include different costs, and come with higher risk and higher potential reward compared to spot trading.

Q: How do perpetuals differ from spot margin trading? Spot margin trading also lets you use leverage in the spot market. The key difference is that you borrow funds to increase your position size in actual crypto assets using your existing balance as collateral, whereas with perps trading you are trading derivatives and settle trades in the same asset as your collateral (you only get exposure to the price fluctuations of the assets you trade, not the actual assets themselves). Spot margin trading typically offers lower leverage and has a different cost structure. Spot margin trading incurs interest on borrowed funds, while perpetual futures involve funding fees paid periodically between long and short traders to keep the contract price aligned with the spot price.

Q: What leverage options are available?

Understanding Revenue Flow

The below diagram summarize where revenue is collected and how it's distributed between RUJI stakers (single-sided and LP stakers) and THORChain.

Rujira currently comprise 5 revenue collector/convertor contracts:

  • Revenue Collector 1 (RUJI Swap): Used to collect RUJI Swap affiliate fees, which are 100% send to RUJI stakers since Rujira pays the Base Layer liquidity fee on those swaps. Affiliate fees are collected in RUJI and converted to USDC, then split between single-sided stakers (50%) and RUJI/RUNE LP stakers (50%).

    • Contract address:

Getting Started

Welcome to Rujira, the THORChain App Layer designed for building secure and sustainable decentralized applications (dApps) and smart contracts. This section will help you understand the core concepts you'll need to get started building on Rujira.

Overview

Before getting started building on Rujira, make sure to familiarize yourself with:

  • : Being an App Layer on top of THORChain, it is key to understand how all assets on Rujira are secured by THORChain Base Layer.

Base Layer Virtualization Strategy

The Base Layer Virtualization strategy is a single-sided passive market making strategy that allows Rujira App Layer to virtualize the liquidity in THORChain's Base Layer pools via an arbitrage mechanism.

On the Base Layer, all swaps are executed at the end of block and ranked by price impact. This means that despite the App Layer sharing the same blocktime and - in theory - supporting atomic transactions between CosmWasm contracts and THORChain Base Layer, in practice we cannot have atomicity with the Base Layer swaps, i.e. we cannot within the same block do something on the App Layer, then do a Base Layer swap, then do something else on the App Layer with the proceeds from that swap. The Base Layer Virtualization strategy is Rujira's answer to this problem, it allows the App Layer to tap into Base Layer liquidity while retaining transaction atomicity and composability.

Whenever someone want to do a swap on the App Layer (e.g. I want to swap 10,000 USDC for BTC), the market making strategy is able to query the Base Layer pools to see how many BTC it would get for 10,000 USDC and then provide a quote at a slightly worst price (Base Layer price + small margin). This quote appear in the orderbook alongside any pending fixed-price orders and tracking orders. Whenever an order is matched against it, the target asset is borrowed from RUJI Lending for the duration of 1 block and used to fill the buyer's order on the App Layer, then the opposite swap is executed on the Base Layer at the end of the block. Finally, in the next block, the loan is repaid with the proceeds from the Base Layer swap, and the remaining profits, if any, are split 50/50 (TBC) between the LPs in the pool and RUJI stakers. Over the long run, most trades are profitable for LPs, but it might be instances where the execution price in the Base Layer pool is worst than what was quoted, in that case the strategy makes a loss that is funded by the LPs in the pool.

The below chart illustrates how the strategy works with the various flow of funds. A complete walkthrough is available in this

RUJI Trade

RUJI Trade provides a decentralized, scalable, and highly efficient orderbook exchange (DEX) operating fully on-chain. The orderbook DEX design offers low fees, a great trading UX, and a superior trade execution vs. standard AMM-DEXs. All trading pairs on the RUJI Trade orderbook DEX can be found on the .

Key Features

  • Decentralized Orderbook Trading: A 100% on-chain orderbook exchange (including order matching logic), offering decentralized and permissionless trading.

Mainnet Deployment Guide

Once your contract has been thoroughly tested and audited as per , it’s time to deploy it to THORChain mainnet to be live officially on Rujira. This process involves additional security checks and permissions to ensure the integrity of the contract on the network.

Registry and Permissions

For mainnet, Rujira maintains an on-chain that maps each contract’s checksum to its deployer. This registry will grant permissions for instantiation based on the contract’s checksum rather than its code ID. The process will involve:

yTCY

yTCY live via .

Similar to yRUNE, Yield Bearing TCY (yTCY) is an auto-rebalancing basket of TCY and RUNE.

How are the weights between TCY and RUNE determined?

The weights of RUNE and TCY are set to maximize returns captured from:

yRUNE

yRUNE live via .

Yield Bearing RUNE (yRUNE) is an auto-rebalancing basket of RUNE and TCY. Since no liquid-staked version of RUNE currently exists, yRUNE is the only liquid asset that captures fees from THORChain system income (via staked TCY) while also providing exposure to the RUNE price.


If your collateral value drops too much, it can be partially liquidated (sold via a market order) to repay part of the debt and bring the position back at a safe level.

Raise, Mint, Distribute in One Place: Our tools help you speed up. Streamline your capital raising, minting, and distribution processes and stay focused on development.
  • Repeat Capitalisation: Raise the funds you need, when you need it. Project requirements change and we have tools for every stage of your development.

  • Bonds (follow-on offerings):

    • Token seller pays a commission of 0.5% on the proceeds from a sale.

    • bTOKEN holders pay a 0.35% commission on the redemption of tokens after the bond reaches maturity.

  • The standard 50/50 revenue share with TC Base Layer applies to all the fees collected by RUJI Launchpad.

  • Rujira & Kujira
    Rujira & THORChain
    Rujira & Levana
    Get started
    RUJI Swap - Cross-chain swaps
    RUJI Trade - Orderbook DEX
    RUJI Perps - Perps DEX
    RUJI Lending - Money Market
    RUJI Liquidations - Bid on Liquidated Collateral
    RUJI Launchpad - Token Launchpad
    RUJI Index - Crypto Indices
    Strategies - Put your assets to work
    RUJI Leagues - Points competition
    Contact
    [email protected]
    Telegram group
    Discord
    Telegram
    tcy.thorchain.org/manage
    here
    A cross-chain swap can include three types of fees:
    • Inbound fee: the network gas fee to send your source asset into its pool on the native chain.

    • Swap fee: a protocol fee inside the liquidity pool that depends on the size of your swap relative to the pool depth.

    • Outbound fee: the network gas fee to send your destination asset out on its native chain.

    Example for BTC to ETH: You pay the Bitcoin network fee as the inbound fee, a swap fee paid in RUNE, and the Ethereum network fee as the outbound fee. You only need to have BTC in your Bitcoin wallet to execute the transaction, the RUNE and ETH needed for the swap and outbound fees will be deducted from the output of your swap. RUJI Swap shows the expected fees before you confirm.

    Q: How long do swaps take? Most swaps finish within 5 to 20 minutes. Timing depends on the block speed of the chains involved, overall swap activity and the size of your swap. If your swap is large, THORChain may split it into a streaming swap over multiple blocks. This protects you from suffering large price impact and can take up to 30 minutes or slightly longer.

    Q: I swapped a few minutes ago but my funds have not arrived. What should I do? Cross-chain swaps rely on multiple chains so timing can vary. Waiting a little longer usually helps. If you want to check the status, you can go to thorchain.net and paste your transaction hash to see each step of the process. If anything looks unclear you can reach out to the Rujira community for assistance.

    rujira.network/swap
    You can choose your leverage from 1x to 50x. The available multiplier differs per market, with higher-market-cap assets offering higher maximum leverage.

    Q: How is the funding rate calculated? The funding rate is used to keep the perpetual price aligned with the real market price. The system compares the perp price to the oracle price. If the perp price is higher than the oracle price, long traders pay a funding fee to short traders. If the perp price is lower, the short traders pay funding to long traders. This mechanism balances the pool’s exposure and helps keep perp prices close to market value. Funding is paid periodically and adjusted based on the difference between long and short open interest, and the difference between perp price and the oracle price.

    Q: What happens during liquidation? When your position is liquidated, it means your margin is no longer enough to cover the position’s loss. The system automatically closes your trade, and your collateral is used to repay the pool. If there is any remaining collateral after covering the loss, it is returned to you. Liquidation protects the pool and ensures that account values cannot go negative.

    here

    CosmWasm (Smart Contracts): Key parts of Rujira and THORChain is built on the Cosmos tech stack, and the go-to smart contracting platform in the Cosmos ecosystem is CosmWasm. It allows developers to write secure, efficient contracts in languages like Rust. If you're new to CosmWasm and Smart Contracts, we recommend starting with the official CosmWasm docs and the CW-Template repository, which will help you understand the basic interfaces and models of CosmWasm smart contracts.

  • API & RPC Endpoints: A full list of endpoints to connect to both stagenet and mainnet.

  • Listen to this fireside chat with Hans, talking about the system architecture and building on Rujira: https://www.youtube.com/watch?v=-wzPRC7eNkk

  • Once you have a good understanding of above, you are ready to dive into the Development Process—everything from development to staging to auditing to mainnet—enabling you to deploy fast onto Rujira.

    Ideas to Build

    If you want to contribute to the Rujira ecosystem but aren’t sure what to build yet, explore our list of project ideas Build Ideas. It’s a great starting point to find inspiration and identify areas where your skills can make an impact.

    Other Useful SDKs & Libraries

    Besides above, Rujira is made up of multiple moving parts making up the entire App Layer

    • Rujira.js: A JavaScript SDK tailored for TypeScript-based backend interaction between applications and smart contracts on Rujira.

    • Rujira-rs: A Rust library that contains the essential message types and structures for interacting with Rujira's core app-layer smart contracts. This SDK simplifies integration between core smart contracts and any dApps built on top of them.

    • Rujira.ui: A collection of reusable UI components that also provide wallet integration, enabling quick and easy development of dApps with consistent user experiences.

    Secured Assets
    • TCY Yield (THORChain System income): TCY is a unique asset, as it captures 10% of THORChain's system income. Our contract is whitelisted to receive these staking rewards, enabling yRUNE to fully benefit from the TCY component of the index.

    • RUNE / TCY mean reversion: Due to price fluctuations, particularly for TCY caused by shallow liquidity, yRUNE captures volatility by automatically rebalancing towards the "cheaper" asset during price swings. This is achieved by keeping yRUNE close to a predefined target ratio between RUNE and TCY.

    • Liquidity: Safeguards are implemented in the contract to ensure that rebalancing minimizes price impact and slippage.

    Taking these three factors into account, initial weights are set to 80% TCY : 20% RUNE. The contracts will initiate rebalancing if the weight is at least 1 percentage point off it's target weight.

    Current & target weights can be seen on the RUJIRA UI at https://rujira.network/index/yTCY.


    Rebalancing

    Rebalancing occurs automatically with each contract crank (at least once per minute). If insufficient liquidity prevents executing a rebalance, the contract will attempt again later to minimize price impact and slippage.

    Risks

    Key risks for yRUNE includes:

    • Asset risk of RUNE and TCY.

    • Smart contract risk of RUJI Nav Index contract (audited).

    • Rebalancing/Trading risk: The automated rebalancing algorithm aims to maximise returns from trading, but those are not guaranteed and may depend on other factors such as market conditions, liquidity & more. Safeguards are in place to minimize this risk.

    https://rujira.network/index/ytcy

    Revenue Collector 2 (RUJI Trade): Used to collect revenue from RUJI Trade. The revenue split between RUJI Stakers and THORChain Base Layer will initially be set at 50/50, however part of this revenue - the portion coming from RUJI Trade's volumes executed against the Base Layer liquidity via the virtualization strategy - should be 100% distributed to RUJI stakers. Given it's technically not possible to differentiate the source of liquidity for a trade at the time an order is filled, we will instead have to use historical data to periodically adjust the distribution weights to compensate for excess revenue sent to the Base Layer by RUJI Trade. Revenue from RUJI Trade is collected in various tokens and converted to USDC, then split between single-sided stakers (25% initially), RUJI/RUNE LP stakers (25% initially) and Revenue Convertor 4 (50% initially).

    • Contract address: thor1gm8q2gr25nzzsxzdp2mpja4hyvyhjlr4s6krcsgv2y953uu0js3qhwpus7

  • Revenue Collector 3 (Other Core Apps): Used to collect revenue from all the other core apps, which is collected in various tokens and converted to USDC, then split between single-sided stakers (25%), RUJI/RUNE LP stakers (25%) and Revenue Convertor 3 (50%).

    • Contract address: thor1jduxxzpyyvrgzx7zcnl7e5cdj34tnq5jxy00a4wp86szye25dndq575c0y

  • Revenue Collector 4 (Base Layer): Used to collect the share of core apps revenue going to THORChain Base Layer, sent in USDC from the Revenue Collector 2 & 3 and converted to RUNE, then sent to THORChain Reserve where it's added to THORChain's Gross System income.

    • Contract address: thor1txum04wp8ykqudphxy9prtwsd9jpcm2kwdaxctxeeyr6g0r0we9qpfdktr

  • Revenue Collector 5 (RUJI Index): Following the merger with Nami, this contract collects all revenue generated by the RUJI Index vertical. 100% of these proceeds are distributed to RUJI stakers, since the indexes are built exclusively on core applications that already contribute their security budget to the base layer.

    • Contract address: thor132u9qpm9gfdqtgwxwl8ty409s6zmewfrum2k6wvtvtyphdn5urzsej764l

  • thor1mcy9jtp4kzl8q2lvdgfgsl8jvqrf504uphkf0pz2p9wud8tsntesjvccew
    RUJI Trade
    AMM Arbitrage strategy
    RELEASES.md

    RUJI Liquidations - Bid on Liquidated Collateral

    Q: What is RUJI Liquidations? RUJI Liquidations is the first public marketplace where anyone can bid on at-risk collateral and buy it at a discount through Dutch auctions, no bots or coding needed.

    By doing this, users can get discounted crypto while helping keep the Rujira ecosystem healthy and solvent. Creating competition on liquidated collateral also means that liquidations tend to happen at a better price than on other platforms for borrowers who get liquidated, meaning they are losing less in the event of a liquidation.

    You can access it here: [coming soon].

    For more details, visit the RUJI Liquidations docs.

    Q: What makes Rujira’s Liquidations different from CEXs and other DeFi platforms? In DeFi, most liquidation systems are only accessible via sophisticated MEV bots that act first and take all the profit. On CEXs, liquidations are a black box with most volumes and profits captured by the platforms themselves and a few permitted market makers, leaving regular users out.

    RUJI Liquidations lets anyone place bids at the discount they choose. It does not depend on speed or bots, and liquidations are distributed fairly among all participants, starting from the lower discount (most favourable to the liquidated borrowers) and moving to higher discounts as the lower discount bids get filled.

    This makes liquidations fair, and gives everyone an equal chance to take part.

    Q: Whose liquidations am I buying? You are buying collateral from users whose debt positions have passed their safe Adjusted LTV* level, for example, from RUJI Lending or other leveraged products on Rujira. Once these positions get liquidated, part of the collateral gets sold via a market order on the orderbook and people can place bids at a discount to current market price to catch the wicks caused by liquidations.

    Proceeds from the collateral sold are used to repay part of the users’ debt and bring back their positions to a healthy LTV level. Your bids allow you to buy the local low at a discount while helping to protect the system solvency.

    *Adjusted LTV: Adjusted Loan-to-Value ratio, it’s a measure of a debt position’s health. For example if you have $100 worth of BTC collateral, the collateral ratio on BTC being 70% (meaning you can borrow maximum $70 for every $100 worth of collateral), then your Adjusted Collateral Value is $100 * 70% = $70. If you borrow $50 in USDC, your Adjusted LTV would be $50 / $70 = ~71.4%. If the price of BTC drops and your Adjusted Collateral Value is now $48, your new Adjusted LTV would be ~104%, which is past the max limit of 100%, meaning part of your collateral can be liquidated to repay some of your debt.

    Q: What happens to the bid I open? When you place a bid on RUJI Liquidation, whether it’s to liquidate short or long positions, it gets placed as a Tracking order on our orderbook. Whenever a liquidation happens, the collateral gets sold on the orderbook via a market order and you can catch the discount with your bid, depending on the size of the wick the liquidation creates and where other people's bids are.

    Q: How can I make sense of the heatmap? The heatmap shows at which price level most liquidations are likely to happen, where most bids are placed and how deep the queue is at each discount level. It helps you decide the best discount to set, lower discounts fill faster, higher discounts offer bigger potential gains but are less likely to get filled.

    RUJI Launchpad - Token Launchpad

    Q: What is RUJI Launchpad? RUJI Launchpad is where ideas meet capital. It gives you early access to new crypto projects raising funds for growth by letting you take part in their token launch. You can support your favorite projects and benefit like a venture capitalist*.

    You can access it here: [coming soon]

    For more details, visit the RUJI Launchpad docs.

    *Venture capitalist: someone who invests early in new projects hoping for long-term growth.

    Q: What makes RUJI Launchpad different? RUJI Launchpad is more than a place to buy tokens. It gives projects a complete set of tools for every stage, from early fundraising to token generation events (TGE)* and later growth rounds. The first product being released is the Launchpad, with additional products to be developed later.

    *TGE (Token Generation Event): when a new project officially creates and distributes its token.

    Q: How can I join a token launch? When a sale is live, you can place bids at your chosen price.

    Each sale has:

    • A Token Price (the highest price)

    • A Max Discounted Price (the lowest price)

    Between those two, there are small price steps called Silos. For example, if the token price is 1.00 USDC and the max discount is 30%, there will be 30 silos ranging from 1.00 USDC down to 0.70 USDC.

    When the sale ends, tokens are distributed starting with the highest bids and moving down through the silos until all tokens are allocated. Bids that receive tokens are called qualifying bids. If your bid doesn’t qualify, you can retrieve your funds and use them for future launches or anything else.

    Q: Can I launch my own token? Yes. Anyone can create a sale without needing to code. You just need enough funds to pay a small deposit (to filter spam) and the cost of a few on-chain transactions. It is important to note that each address can only create one sale.

    While using the launchpad is permissionless, you will need to sell the entire supply you allocate to the public launch and raise a minimum value of $1,000 to be able to complete your sale. This is to help filter spam projects that are not able to build a convincing case for potential investors, or prevent legit projects from not raising enough to be in a position to deliver on their plans.

    Q: Are tokens on RUJI Launchpad screened? No. Launching is permissionless, which means anyone can start a token sale. You are responsible for doing your own research to decide whether a project is legitimate and worth supporting.

    The Rujira team may also choose to participate in a sale at their own discretion. This is not an endorsement, and users should always make their own decisions about whether to take part.

    .
    video

    Scalable Performance: Constant-time O(1) matching algorithms, allowing the DEX to handle very large transaction volumes efficiently.

  • Multi-source Liquidity: A unique architecture allows the orderbook DEX to pull liquidity from multiple sources, including users' pending orders, Rujira's AMM pools (RUJI Pools) on the App Layer and THORChain's liquidity pools on the Base Layer via a dedicated market making arbitrage strategy that virtualizes the liquidity in the Base Layer pools.

  • Fixed Price Orders: Similar to a traditional limit order but the execution always happens at the price you requested (as opposed to a standard limit order which can fill at any price up to the limit).

  • Tracking Orders: A novel type of order allowing users to buy or sell at a fixed discount/premium to the underlying asset's oracle price, opening up the design space for innovative trading and market making strategies.

  • Margin Trading: The DEX connects directly into Rujira's Money Market (RUJI Lending) to offer high leverage (up to [10x -TBD]) spot margin trading.

  • Low Fees: A cost-effective trading experience with low gas and low maker/taker fees (7.5bps/15bps).

  • Benefits

    RUJI Trade orderbook model has several advantages over traditional AMM DEXs:

    • Better Trade Execution: Orderbooks offer better pricing and capital efficiency. As long as there are willing counterparties on the other side of a trade, traders can execute orders of any size without moving the price.

    • Modular Architecture Enabling Deeper Liquidity: Traditional AMM DEXs use a monolithic structure that distributes asset prices over a single bonding curve. The larger an order size relative to the size of the liquidity pool, the bigger the price impact suffered by the trader. In contrast, Rujira separates the DEX (orderbook) from the AMM (automated market maker), allowing it to pull liquidity from a variety of sources and market making strategies and combine them into a single orderbook, resulting in much deeper liquidity.

    • Intuitive Interface: RUJI Trade interface design is user-friendly and offers a smooth trading experience, comparable to centralized exchanges, with support for market orders, fixed-price orders, and tracking orders which are unique to Rujira.

    Fees & Fee Sharing with THORChain Base Layer

    • RUJI Trade charges a 0.075% fee on Maker orders (i.e. orders adding liquidity to the orderbook) and a 0.15% fee on Taker orders (i.e. orders removing liquidity from the orderbook).

    • RUJI Trade also captures any arbitrage between fixed-price orders and other order types as protocol revenue, internalizing a source of profit that would typically be captured by MEV bots in traditional DEXs.

    • In terms of fee sharing with THORChain Base Layer, a distinction must be made between the different fee types. The core logic regarding fee sharing is the following: For each transaction on the App Layer, is value accrued to the Base Layer?

      • If the answer is YES, there is no need to share revenue (the Base Layer already benefits).

      • If the answer is NO, then the 50/50 revenue split applies to pay for security.

    • RUJI Trade pulls liquidity from various sources. Depending on the source, the fee sharing rule applies differently:

      • Orders executed against the App Layer liquidity do not accrue value to the Base Layer, therefore the 50% fee sharing with the Base Layer must apply to pay for security.

      • For trades executed against TC Base Layer liquidity (via the ), THORChain charges its own fee (defined by mimir SecuredAssetSlipMinBps) and benefits from those additional volumes. Orders executed against Base Layer liquidity are systematically accruing value to THORChain, therefore Rujira do not need to pay for security (i.e. RUJI stakers keep 100% of the RUJI Trade fees).

    Status

    • Live here with limited liquidity for most pairs (pending audit for the Base Layer Virtualization strategy)

    Spot Trading page
    Registry check: The registry will verify that the deployer is allowed to instantiate a specific contract version, using the contract’s computed checksum.
  • MsgStoreCore: If the checksum matches the registry entry, the deployer will be granted permission to store the contract on-chain.

  • MsgInstantiateContract: Once the contract is stored, the deployer can instantiate it with the appropriate parameters.

  • By tying instantiation permissions to the contract checksum, THORChain node operators and hence the Rujira App Layer ensure that only approved contract versions can be deployed on mainnet, improving security and reliability.

    Deployment Steps

    1. Create a thor address as a multisig, if you haven't already

    2. Submit a Merge Request on THORNode that whitelists the thor address in wasm_permissions_mainnet.go to instantiate your contract(s)

    3. Reach out to the Rujira Core team (e.g. in a group chat on Telegram or Discord) to make a proposal to store contract code via the Rujira Deployment Multisig using DAO DAO. The Rujira Core team will do a final review before storing contract code generating checksum

    4. Instantiate contract from the thor address provided in step (2)

    5. Wrap up the deployment process by providing the Rujira Core team with the release information to be added to

    Review and Audit Guide
    registry
    How are the weights between RUNE and TCY determined?

    The weights of RUNE and TCY are set to maximize returns captured from:

    • TCY Yield (THORChain System income): TCY is a unique asset, as it captures 10% of THORChain's system income. Our contract is whitelisted to receive these staking rewards, enabling yRUNE to fully benefit from the TCY component of the index.

    • RUNE / TCY mean reversion: Due to price fluctuations, particularly for TCY caused by shallow liquidity, yRUNE captures volatility by automatically rebalancing towards the "cheaper" asset during price swings. This is achieved by keeping yRUNE close to a predefined target ratio between RUNE and TCY.

    • Liquidity: Safeguards are implemented in the contract to ensure that rebalancing minimizes price impact and slippage.

    Taking these three factors into account, initial weights are set to 80% RUNE : 20% TCY. The contracts will initiate rebalancing if the weight is at least 1 percentage point off it's target weight.

    Current & target weights can be seen on the RUJIRA UI at https://rujira.network/index/yrune.


    Rebalancing

    Rebalancing occurs automatically with each contract crank (at least once per minute). If insufficient liquidity prevents executing a rebalance, the contract will attempt again later to minimize price impact and slippage.

    Risks

    Key risks for yRUNE includes:

    • Asset risk of RUNE and TCY.

    • Smart contract risk of RUJI Nav Index contract (audited).

    • Rebalancing/Trading risk: The automated rebalancing algorithm aims to maximise returns from trading, but those are not guaranteed and may depend on other factors such as market conditions, liquidity & more. Safeguards are in place to minimize this risk.

    https://rujira.network/index/yrune
    Fee structure diagram

    Licenses

    License Overview

    Rujira is an open-source software project, licensed under the MIT License. This license allows developers to freely use, modify, and distribute the software while providing certain protections to the authors and contributors.

    Below are the details of the license and how it applies to the Rujira project.


    MIT License

    The Rujira project is licensed under the MIT License, a permissive open-source license. Here's what the MIT License allows:

    • Free Usage: You can use Rujira for any purpose, whether personal, academic, or commercial.

    • Modification: You're free to modify the source code to fit your needs.

    • Distribution: You may distribute the original or modified versions of Rujira.

    • Private Use: You are allowed to use Rujira without publicly disclosing your modifications.

    However, the MIT License also includes certain responsibilities:

    • Attribution: You must include the original copyright notice and license in any significant portion of the software.

    • No Liability: The software is provided "as is," without warranty of any kind. The authors and contributors are not liable for any damages arising from its use.

    For more details, check the .


    Open-Source Standards (OSS)

    Rujira follows open-source standards to promote transparency, collaboration, and community-driven development. By using the MIT License, we align with OSS best practices, which include:

    • Accessibility: The source code is freely available for anyone to inspect, contribute to, and improve.

    • Collaboration: Contributions from developers are welcome, subject to the project's contribution guidelines.

    • Security: Regular updates and community feedback ensure security vulnerabilities are addressed promptly.

    We encourage developers to contribute back to the Rujira project and help enhance its features and stability.


    How to Contribute

    We invite developers to collaborate on the Rujira project by:

    1. Forking the repository.

    2. Submitting pull requests for improvements.

    3. Reporting bugs or security issues.

    4. Participating in discussions and feature planning.

    All contributions are governed by the MIT License and must adhere to the project's Code of Conduct.


    By using Rujira, you agree to the terms of the MIT License and understand your rights and responsibilities under this open-source software model.

    RUJI Token

    Q: What is the RUJI token? The RUJI token is the revenue-sharing token of the Rujira ecosystem. When you hold RUJI and stake it, you get a share of the income generated across all Rujira products.

    Q: Why does RUJI have value? Holding RUJI means earning a share of all revenue Rujira generates. It represents a long-term bet on the success and growth of the ecosystem.

    Q: How does RUJI capture value? Using Rujira’s products comes with a small fee, which differs per product. These fees are collected, converted to USDC and shared with everyone who stakes RUJI.

    Q: Where does the staking yield come from? Rujira apps generate real revenue from user activity. After covering THORChain’s share (typically 50%, but can be less in some cases), the remaining fees are converted to USDC and distributed to RUJI stakers.

    Q: Is the RUJI token inflationary or deflationary? RUJI has a fixed supply of 100 million tokens. There are no mechanisms that increase or decrease this number over time.

    Q: How are fees split between Rujira and the THORChain’s Base Layer? Normally, revenue is split 50/50 between core Rujira applications and THORChain’s base layer. However, apps that already support the base layer (for example, RUJI Swap, as it is already utilizing THORChain liquidity) keep 100% of their revenue, since they already pay the base layer fee and contribute to THORChain’s security budget this way.

    Q: What staking options are available for RUJI? You can choose between two ways to stake:

    1. Single-sided staking with only RUJI

    2. Staking via the RUJI/RUNE Liquidity Pool (LP) tokens. This is not yet active, it requires making some changes to the base layer and will be enabled at a later point.

    Q: What rewards do I get from staking RUJI? It depends on how you stake:

    • Standard RUJI staking: You earn rewards in USDC to be claimed manually.

    • Auto-compounding staking: Your USDC rewards are used to automatically buy more RUJI and add it to your position.

    Q: What will the staking APR/APY be? The APR* (if using standard staking) or APY* (if using auto-compounding staking) will change based on several factors:

    • The total revenue generated across all Rujira products;

    • The revenue split between single-sided and LP staking (initially 50/50);

    • How much RUJI is staked and how it is divided between both pools.

    *APR (Annual Percentage Rate): your yearly non-compounded return rate. *APY (Annual Percentage Yield): your yearly return rate including compounding.

    Q: Can I stake RUJI directly from my wallet? No. You can currently only stake RUJI through .

    Q: What are the benefits of staking RUJI? Staking lets you earn a share of the fees generated by all Rujira products. It’s a simple way to benefit from the ecosystem’s growth.

    Q: How long does it take to unstake RUJI? You can unstake instantly at any time. There is no lock-up period.

    Q: Does RUJI give governance rights? No. RUJI is focused on revenue sharing and staking rewards. Governance is handled by the product teams in close collaboration with the community through X Spaces, dedicated feedback groups, polls, and more.

    Q: Is RUJI listed on centralized exchanges? Yes. RUJI is currently listed on Kraken, MEXC, and Bitrue. More listings will be added over time to increase accessibility of the token.

    Understanding Rujira

    Q: What is Rujira? Rujira is the App Layer on THORChain, designed to build a fair and open financial system for everyone. It brings together a full suite of decentralized products that let you trade, lend, borrow and earn using native assets from any connected blockchains, all from your own wallet, in one smooth interface.

    Q: What does Rujira stand for? We stand for fairness, transparency, and true decentralization, the core principles that first defined Bitcoin. We believe in building an open and sustainable financial system where everyone has equal opportunity and full control of their assets. No intermediaries, no hidden rules, no gatekeepers, only a transparent and community-owned network that brings freedom and trust back to finance.

    Q: What makes Rujira different from other DeFi platforms? Most DeFi platforms are limited to a single chain and rely on third-party bridges and wrapped assets to reach others. Rujira removes that risk and complexity by building on THORChain, giving you direct access to native assets from multiple blockchains in one unified ecosystem.

    Unlike most of crypto, where each project focuses on a single product, Rujira brings every DeFi tool together under one roof. You can trade, earn, borrow and invest without switching between platforms and wallets or learning new interfaces, creating a smooth and consistent experience across the entire ecosystem.

    Q: What is Rujira built on? Rujira is built on THORChain and the Cosmos SDK, bringing together the best of both worlds, cross-chain liquidity and powerful and secure scalability. This setup lets you swap and use native assets like BTC, ETH, and XRP without third-party bridges or wrapped tokens. Everything you need is built right into one connected ecosystem, so you can trade, earn, borrow, and invest across chains with ease.

    Q: What does Omnichain mean? Omnichain is the next phase of interoperability, and goes beyond cross-chain. It means Rujira connects many different blockchains and many different wallets all at once, letting you use native assets across them through one unified platform, with your favorite wallet.

    Q: What products does Rujira have? The products that are currently live on Rujira are:

    • RUJI Trade (orderbook DEX)

    • RUJI Pools (multi-strategy automated market maker for the DEX)

    • RUJI Perps (perpetual futures - v1 built by Levana, an improved v2 fully integrated with the rest of the ecosystem will be launched later)

    • RUJI Lending (money market)

    Many more products are on the roadmap, which can be found here (rujira.network/roadmap).

    Q: Is Rujira connected to other Cosmos chains through IBC? No. Rujira does not use the IBC protocol. From the cosmos chains, it is currently only connected directly to the Cosmos Hub, through a custom chain integration via THORChain.

    Q: How does Rujira connect to non-Cosmos chains like Bitcoin or Ethereum? Rujira connects to external chains through THORChain, which secures native assets like BTC and ETH in decentralized vaults and allows swaps between them without third-party bridges or wrapped tokens.

    Thanks to a THORChain primitive called Secured Assets, we can offer you these native assets from different chains across our entire product suite.

    Q: Is Rujira open-source and audited? Yes. Rujira is fully open-source and audited. You can view our code at and audits at.

    Q: Who is building Rujira? Rujira is built by an alliance of teams: Kujira, Fuzion, Nami, and Levana. The old Kujira team leads development and manages most core products and operations. Beside that, there are multiple external teams contributing to build a coherent ecosystem on top of Rujira core primitives, including AutoRujira, Liquidy, CALC, Redacted and some more.

    Q: How is Rujira secured? Rujira is secured through THORChain, which runs on a network of over 100 decentralized nodes that continuously rotate the decentralized vaults where assets are kept, to maintain network security.

    Q: Where can I follow Rujira updates and announcements? You can stay updated about our development via one of our social channels:

    • Telegram:

    • Dev Discord:

    • X (Twitter):

    • Medium:

    RUJI Liquidations

    RUJI Liquidations is the world’s first public marketplace for bidding on at-risk collateral, enabling users to liquidate assets across the THORChain App Layer with ease - no bots, no code. By participating in a Dutch auction, users can acquire liquidated collateral at up to a 30% discount while protecting the solvency of Rujira protocols.

    Key Features

    • Liquidations Marketplace: A public marketplace for purchasing liquidated collateral at a discount through Dutch auctions with instant settlement. Under the hood, every liquidated collateral is sold via a market order on RUJI Trade orderbook DEX, and RUJI Liquidations provides a user-friendly interface allowing anyone to catch the wick by placing Tracking Orders at a discount to market price.

    • Queue-Based System: Liquidations are not prioritized by speed but rather by the discount rate, filling bids from the smallest discount to the biggest. This helps to find an optimal discount rate and prevents immediate selling and damage to the market by MEV bot operators.

    • Ecosystem Solvency: Secure the Rujira ecosystem solvency for all leveraged products, including loans on RUJI Lending, and debt used for spot margin trading and leveraged market making.

    • Yield Bearing Token support (pending): For better capital efficiency, users can bid on liquidations using yield bearing tokens such as tokens deposited on Lending, earning yield while waiting for bids to fill (feature powered by ).

    • Analytics (pending): Liquidation analytics are available across all RUJI Liquidations markets, enabling users to craft bidding strategies driven by concrete market insights.

    Benefits

    • Mitigate Flaws in Standard Liquidation Mechanisms: The typical liquidation mechanism for DeFi protocols functions on a first-come-first-served basis and at a fixed liquidation discount. Consequently, liquidations are based on the speed of execution, leaving this market to a few highly efficient, well-capitalized MEV bots that preclude most users from participating. The fixed discount also results in liquidations often costing more to borrowers than they would in an efficient market. RUJI Liquidations changes this.

    • Democratizes Access to Liquidations: The RUJI Liquidations system revolutionizes DeFi liquidations by allowing anyone to bid on discounted collateral. Users place bids (tracking orders at a discount to oracle price) and bids at smaller discounts take priority, creating a fair system that discourages arbitrage and market dumping.

    • Reduces Cost of Liquidation for Borrowers: RUJI Liquidations creates a competitive market for liquidations and encourages bidders to reduce their bid discount in order to increase their chances of capturing the liquidated collateral, which results in a less costly liquidation process for borrowers. RUJI Liquidations (f.k.a. ORCA) had a TVL of $200m+ at its peak, prior to Terra Classic's collapse, that was being used to liquidate collateral on Anchor protocol with most of the liquidations happening within the 2-5% range.

    Fees & Fee Sharing with THORChain Base Layer

    • RUJI Liquidations charges two type of fees:

      • Liquidation fee: 1.0% taken on the repaid debt.

      • Liquidator fee: 0.5% taken on the repaid debt.

    • The standard 50/50 revenue share with TC Base Layer applies to the Liquidation fees collected by RUJI Liquidations.

    Status

    • Not live yet.

    RJI

    RJI live via https://rujira.network/index/rji.

    The Rujira Index (RJI) is a basket of assets representing the Rujira & THORChain ecosystem. In order to ensure prime user experience and index performance, espically when the ecosystem grew big, we have developed an asset framework as a base guideline for RJI.

    Which assets are eligible to be included in RJI?

    There are four eligibility criteria that assets shall fullfill prior to being added to RJI. Namely qualitative requirements, liquidity requirements, safety requirements & they have to be based on Rujira / THORChain.

    Qualitative

    In order to be considered for the index the team behind the token has to be trusted & actively working on their vision. Further, it should have a clear value proposition and no signs of ill intent.

    • Team has a proven track record building & maintaining products

    • Project has a valid use case

    • Token has valid economics / value capture mechanism

    • No red flags

    Liquidity

    Assets are selected for strong liquidity, ensuring easy entry and exit with minimal slippage when minting, redeeming, or rebalancing. Clear token release schedules further prevent unexpected shifts in liquidity and supply.

    • There must be enough liquidity on Rujira.

    • The token release schedule must be predictable.

    Safety

    While code audits are often mostly a vanity metric, undergoing code reviews from professionals does make code less prone to certain attacks. Therefore, for newly launched projects that secure value in any form, it shall be a requirement to undergo reviews by an auditor.

    • Code base must have undergone auditing

    • Proven track record for safety incident response

    Based on Rujira / THORChain

    Only projects deployed on Rujira / THORChain are considered for RJI.


    Asset weights

    RJI being a fixed unit index, the weights change constantly and are not automatically rebalanced. The initial weights on index creation were based on liquidity, market cap and growth potential. RJI currently consist of:

    • AUTO

    • LQDY

    • RUJI

    • RUNE

    The exact share of the total index AUM by each asset is fluctuating and can be found at

    Risks

    Key risks for RUJI includes:

    • Asset risk of all assets in the index.

    • Smart contract risk of RUJI Fixed Index contract (audited).

    Understanding the App Layer

    Primer on Cosmos architecture

    • Every address on a Cosmos chain has an Account.

    • The Bank module accounts for ownership of tokens in a key-value store, where the key is the address<>denom, and the value is the balance.

    Local Deployment Guide

    Below is a practical guide on how to spin up your own instance and deploy your contract(s) to a local THORChain environment so you can:

    • Run a simulated THORChain network locally (Midgard, THORNode, mock L1 chains)

    • Interact with the chain via CLI and APIs

    • Build and test contracts with no reliance on external node operators

    Get started

    Q: What products are available on Rujira? Rujira brings multiple DeFi products together under one platform. The current products include:

    1. RUJI Trade – Orderbook DEX

    2. RUJI Pools – AMM (Automated Market Maker)

    3. RUJI Perps v1 – Peer-to-pool perpetuals (built by Levana)

    Understanding RUJI Token

    RUJI is the new native token for the THORChain App Layer, born from the merger. Holders of existing tokens—KUJI, FUZN, NSTK, WINK, LVN, and NAMI—can convert their tokens into RUJI. Staking RUJI allows users to earn fees generated across the App Layer, benefiting from THORChain’s high liquidity.

    Tokenomics

    Total supply

    Branding

    Logo

    Favicon

    RUJI Lending

    RUJI Lending is a decentralized money market connecting lenders and borrowers of crypto assets. It enables lenders to earn interest on their tokens, and borrowers to secure loans against their crypto collateral.

    Key Features

    • Lending: Generate passive returns by lending out your tokens, with a fairly low risk profile (all loans are overcollateralized). Lenders supply assets in exchange for a vault receipt token, which accrues interest over time. The receipt token is transferable and can be used in other dApps, or redeemed back for the original asset plus accrued interest. Deposits can be withdrawn at any time, as long as asset utilization remains under 100%.

    Trading Bot

    The team has built an open source trading bot template (written in Type Script) for RUJI Trade orderbook DEX:

    • Source code :

    • Intro video:

    RUJI Options

    RUJI Options is a decentralized options exchange designed to simplify options trading to anyone in the crypto space. RUJI Options offers a straightforward and intuitive user experience, free from convoluted tokenomics or pricing mechanics.

    Key Features

    • Decentralized Orderbook: Options trading is facilitated via a decentralized orderbook that handles bids and asks for multiple strike prices within a given epoch.

    Setup local environment

    If you want to build and run thornode or midgard locally (e.g. for custom tooling or debugging), follow this setup using macOS as an example.

    1. Install Required Tools

    brew install golang coreutils binutils diffutils findutils gnu-tar gnu-sed gawk grep make git protobuf

    2. Update Your PATH (GNU Compatibility)

    macOS uses BSD tools by default — THORChain requires GNU tools. Add this to your ~/.zshrc:

    # Core GNU tools export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/binutils/bin:$PATH" export LDFLAGS="-L/opt/homebrew/opt/binutils/lib" export CPPFLAGS="-I/opt/homebrew/opt/binutils/include" export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/gnu-tar/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/gawk/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH" export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH" # PostgreSQL for Midgard export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH" export LDFLAGS="-L/opt/homebrew/opt/postgresql@16/lib" export CPPFLAGS="-I/opt/homebrew/opt/postgresql@16/include" # Go binaries export GOBIN=$GOPATH/bin # Reload shell source ~/.zshrc

    3. Verify Your Tools

    which gawk && gawk --version which gsed && gsed --version

    These should point to paths under /opt/homebrew/opt/.

    4. Install Docker

    Install Docker Desktop

    Make sure it’s running before proceeding.

    Setup Localnet

    1. Clone THORNode

    git clone https://gitlab.com/thorchain/thornode.git cd THORNode

    2. Create mocknet

    Create deployment on mocknet to spin up a full local, permissioned network to check that all contracts have the permissions they need

    make run-mocknet

    3. Start mocknet and set permissions

    Start the local mocknet and set wasm permission

    make start-mocknet

    The command spins up: 4 validator nodes, Midgard, L1 mocks (BNB, BTC, ETH)

    You’ll need to have a local version with wasm_permissions_mocknet containing your permissions. Set WASMPERMISSIONLESS mimir to 1 to be able to store contracts on the thornode container:

    echo password | thornode tx thorchain mimir --keyring-backend file --from thorchain --chain-id thorchain --yes WASMPERMISSIONLESS 1

    4. Access Services

    Service

    URL

    Midgard API

    http://localhost:8080/v2

    THORNode RPC

    http://localhost:1317

    ETH RPC (mock)

    http://localhost:8545

    BNB RPC

    http://localhost:26650

    Helpful Localnet Commands

    Task

    Command

    Stop the environment

    make stop

    Rebuild and start clean

    make clean start

    Tail logs

    docker compose logs -f

    Restart Midgard only

    docker compose restart midgard

    Interact with THORNode

    Use thornode CLI or curl to API

    Example Interactions

    Query Midgard:

    curl http://localhost:8080/v2/pools

    Query THORNode RPC:

    curl http://localhost:1317/thorchain/inbound_addresses

    RUJI Index – Crypto index products

  • RUJI Swap – Cross-chain swaps

  • RUJI Lending – Money market (lend and borrow with your assets)

  • RUJI Launchpad – Token launch platform (pending audit)

  • RUJI Liquidations – Auction platform to bid on liquidated collateral

  • Many more products are on the roadmap, which can be found here (rujira.network/roadmap).

    Q: Do I need RUJI to use Rujira or pay gas fees? No. You do not need RUJI to be able to use any of the apps. Gas fees on Rujira are normally paid in RUNE, but gas fees are currently set to zero as an experiment. If it deems necessary to prevent spam attacks, RUNE gas fees may be re-enabled at a later point.

    Q: Which wallets can I use with Rujira? Most popular wallets that support THORChain-connected chains work with Rujira. We will continue to add new wallets overtime:

    THORChain-Enabled wallets - You need to connect at least one to use Rujira:

    • Recommended - Keplr (Desktop and Mobile): THORChain, Bitcoin, Ethereum, BNB, Base, Avalanche, Cosmos Hub.

    • Station (Coming soon): THORChain, Bitcoin, Ethereum, BNB, Base, Avalanche, Cosmos Hub, Litecoin, Bitcoin Cash, Dogecoin, XRP Ledger, TRON.

    • Vultisig: THORChain, Bitcoin, Ethereum, BNB, Base, Avalanche, Cosmos Hub, Litecoin, Bitcoin Cash, Dogecoin, XRP Ledger, TRON.

    • CTRL Wallet: THORChain, Bitcoin, Ethereum, BNB, Base, Avalanche, Cosmos Hub, Litecoin, Bitcoin Cash, Dogecoin, TRON.

    Other supported wallets - Connect to deposit and withdraw from any supported chains:

    • Leap (Desktop and Mobile): THORChain (with limited capacity at the moment), Ethereum, BNB, Base, Avalanche, Cosmos Hub

    • OKX Wallet: Bitcoin, Ethereum, BNB, Base, Avalanche, Cosmos Hub

    • Brave Wallet: Ethereum, BNB, Avalanche, Base

    • Coinbase Wallet: Ethereum, BNB, Base, Avalanche

    • MetaMask: THORChain (with limited capacity at the moment), Ethereum, BNB, Base, Avalanche

    • Rabby Wallet: THORChain (with limited capacity at the moment), Ethereum, BNB, Base, Avalanche

    • Trust Wallet: THORChain (with limited capacity at the moment), Ethereum, BNB, Base, Avalanche

    • Xaman (Desktop and Mobile): XRP Ledger

    • TonKeep: TON

    Please be aware that some wallet extensions can interfere with each other when enabled simultaneously. So, we recommend disabling wallets if you experience connectivity issues.

    Q: Which chains are supported? Rujira supports native assets from: Bitcoin, Ethereum, XRP, BNB, TRON, Base, Avalanche, Cosmos Hub, TON, Bitcoin Cash, Litecoin, and Dogecoin. New chains are added regularly by THORChain. We are also working with the Maya Protocol team for an integration, which will allow us to connect to Cardano, Dash, Zcash and more.

    Q: Which tokens are supported on Rujira? Currently, only tokens paired with RUNE on THORChain’s base layer pools are supported. In the future, we plan to support any token from connected chains using a whitelist system.

    A full overview can be found here: https://medium.com/rujiranetwork/all?topic=tutorial

    Q: How do I move my assets from a CEX to Rujira?

    1. On your CEX, choose Withdraw Crypto.

    2. Enter your wallet address (e.g. BTC address for Bitcoin).

    3. Confirm and wait for the withdrawal.

    4. Visit rujira.network/portfolio and follow the deposit steps.

    For the most popular CEXs, there is a step by step tutorial available on Medium in our Tutorial section. https://medium.com/rujiranetwork/all?topic=tutorial

    Q: How do I deposit assets on Rujira? You can deposit by:

    • Clicking Deposit in the top right corner,

    • Starting a new DeFi position with assets on another chain, or

    • Going to your Portfolio and selecting “Deposit” via the three-dots next to your asset.

    Q: How do I withdraw my assets from Rujira? You can withdraw by:

    • Clicking Withdraw in your wallet overview, or

    • Going to your Portfolio, selecting the asset, and pressing Withdraw.

    Q: Are there any deposit or withdrawal fees?

    • Deposits: You only pay the network fee from the chain you are sending from. However, if you are depositing e.g. USDC from Base, you will have to swap it for the USDC version native to Ethereum to maximize utility on Rujira. The swap is automatic by default as part of the deposit and incur a swap fee that depends on the size of your deposit relative to the liquidity available.

    • Withdrawals: You pay a small 0.02 RUNE fee plus the network fee for the destination chain. Similarly to deposits, you might also have to pay a swap fee if you try to withdraw e.g. native BTC on Rujira as wBTC on Ethereum.

    Q: Can I deposit EUR or USD directly? Yes (soon). You can use our built-in on-ramp and off-ramp services (currently through BANXA) to deposit or withdraw fiat currencies like EUR or USD directly on Rujira.

    Q: Can I use Rujira on mobile? Yes. You can access Rujira through mobile wallets such as Keplr Mobile using its in-app browser. Our own mobile wallet, Station, will be released at a later point.

    Q: Do I need to complete KYC to use Rujira? No. Rujira is fully decentralized and non-custodial, and you can use all products without KYC (identity verification).

    Borrowing: Unlock liquidity in the form of overcollateralized loans, without selling your crypto assets. Borrowing is permissionless; no credit checks or lengthy applications required. No minimum or maximum loan duration, you can partially repay or fully close your position at any time.

  • Overcollateralized: All loans are overcollateralized, meaning that at a maximum (illustrative) 75% Loan-To-Value ratio (LTV), there is always >$1 of collateral backing each $0.75 worth of debt.

  • Cross-marginated: Under the hood, each borrowing positions exist in a Credit Account in which you can deposit any supported collateral (e.g. regular tokens or LP tokens). Each collateral type has a corresponding collateral ratio, which is a risk-adjusting factor applied to your collateral value to define how much you can borrow against it.

    • For example, BTC has a collateral ratio of 70% (meaning you can borrow up to $70 for every $100 worth of BTC), and DOGE has a collateral ratio of 60%. If you have $100 worth of BTC and $100 worth of DOGE in your Credit Account, your total Adjusted Collateral Value will be: $100*70% + $100*60% = $130, which will be the maximum amount you are allowed to borrowed, corresponding to an Adjusted LTV of 100%. If the value of your collateral changes and your Adjusted LTV goes above 100%, your position will start to get liquidated to get back to a safe level and protect system solvency.

  • Custom Liquidation Preferences: When using multiple collateral types inside a Credit Account, users can define their own liquidation preferences, which are rules applied when a Liquidation is processed. Taking the above example, the user can specify that he wants all his DOGE to be liquidated first before his BTC can be touched.

  • Variable Interest Rate: Borrowers are charged variable interest rates based on the utilization rate, which is a function of supply and demand for a given asset (utilization = total_borrowed / total_supplied). The interest rate curve (available in the UI for each market) typically starts at 3% borrowing APR when utilization rate is 0%, and increases linearly toward 10% APR when utilization rate reaches 80%. Beyond that point, the borrowing APR increases sharply towards 200% when utilization rate reaches 100%. This dynamic incentivizes new suppliers when markets are hot and encourages borrowers to unwind their positions.

  • Liquidations Powered by RUJI Liquidations: If a debt position exceeds its safe Adjusted LTV limit (either because of the value of the collateral dropping, or the value of the debt increasing due to interests), a portion of the collateral becomes available for liquidation to bring the position back to a safe level. The at-risk collateral can be acquired at a discount to market value via Rujira's Liquidations platform, using a Dutch auction to determine the discount.

  • Collateral Swap: Borrowers are able to swap their collateral from one token to another without needing to repay their loan. For example, if you borrowed USDC using BTC as collateral, you can swap your BTC for ETH directly, without repaying the loan first.

  • Benefits

    • Low-Risk Return: Earn interest on your crypto assets by lending them out with a fairly low repayment risk (overcollateralized loans) and no exposure to Impermanent Loss (single-sided deposit, as opposed to deposits in the AMM pools which comprise two assets and are subject to IL risk).

    • Permissionless Borrowing: Easily take a loan against your crypto assets, whether it is to speculate on the markets, or to pay for real-life expenses.

    • Native Assets Support: Earn interest or borrow against all native assets connected to THORChain (including BTC, ETH, XRP, BCH, LTC, DOGE, etc.), no need for bridged or wrapped version.

    • Fair Liquidations: In case of adverse price movements for borrowers, liquidations are handled by Rujira's Liquidations platform which allows everyone to bid on at-risk collateral via a Dutch auction mechanism. This creates a competitive market for liquidations, which tend to result in lower liquidation penalties for borrowers vs. traditional money markets where the liquidation discount is fixed.

    • Stay in Control: With custom liquidation preferences, borrowers can defined in which order their assets should be liquidated in case of adverse price movements. For example, this allows to preserve their BTC as last ressort collateral, as opposed to most borrowing platforms that would liquidate your most valuable collateral first.

    • Efficient Integration: Fully integrated into Rujira's product suite, RUJI Lending enables leverage features in core apps such as spot margin trading on RUJI Trade and leveraged market making on RUJI Pools. This leads to increased borrowing volumes, increased liquidity on the orderbook DEX, higher spot trading volumes and more liquidation opportunities.

    • Intuitive UX: Simplifies the process of lending and borrowing assets.

    Fees & Fee Sharing with THORChain Base Layer

    • Borrowers are charged an interest rate (borrowing APR) which is updated each block based on the utilization rate of the borrowed asset compared to the total supply available for lending.

    • 90% of the interest charged goes to lenders and 10% is kept as protocol revenue, which is shared 50/50 with THORChain Base Layer.

    Status

    • Lending vaults are live here.

    • CDP Loans are available here.

    Tokenized Options: When a user's order is filled, the protocol generates a unique token representation, known as an "option denom," based on a combination of parameters such as the contract address, underlying asset, option type, strike price, and expiration timeframe.

  • European-style Options: Options can only be exercised at expiration, providing greater flexibility and allowing investors to better manage their risk exposure without the need for early exercise or intervention.

  • Strike-Bound Liquidity: An innovative liquidity mechanism ensuring ample liquidity across various strike prices.

  • Discretized Black-Scholes Pricing: Options are priced using a discretized version of the industry standard Black-Scholes model, providing a transparent and well-understood pricing framework, optimized for liquidity concentration and transparency.

  • On-chain Historical Volatility: Historical volatility is calculated and stored on-chain, serving as a key input for option pricing.

  • On-chain Pricing Engine: Deployed fully on-chain for transparency and decentralization.

  • Strike-Bound Liquidity

    The mechanism leverages historical volatility data and confidence intervals to calculate strike prices, which are adjusted based on market conditions and risk tolerance. The calculation process involves the following steps:

    1. Historical Data Capture: Captures periodic pricing data from an on-chain oracle.

    2. Historical Volatility Calculation: Calculates the realized historical volatility over a specified time period.

    3. Confidence Intervals Selection: Selects confidence intervals based on market conditions and risk tolerance, with the standard deviation serving as a proxy for risk.

    4. Strike Price Calculation: Combines historical volatility and confidence intervals to calculate strike prices, using a standard normal distribution to generate a probabilistic range of potential strikes.

    This process ensures accurate and responsive strike prices, reflecting actual market conditions.

    Benefits

    • Democratizes Access to Options: Offers a censorship-resistant and transparent alternative to traditional centralized options markets, empowering users with unparalleled control and accessibility.

    • Fully Decentralized: Enhances transparency (pricing and trading happen 100% on-chain) and reduces counterparty risk while ensuring users retain full custody of their assets throughout the trading process.

    • Efficiency: Automatic strike prices selection reduces the need for manual orderbook management for liquidity providers, optimizing liquidity concentration and enhancing the trading experience.

    • Composability: The use of unique "option denoms" standardizes the representation of options positions, enabling seamless integration with other protocols, and fostering the creation of new financial products.

    • Reselling into the Orderbook: Users can resell their tokenized options back into the orderbook of the RUJI Options market. This innovative capability allows users to easily close their positions or take profits/losses without the need to find a counterparty outside the market, further enhancing the trading experience.

    Fees & Fee Sharing with THORChain Base Layer

    • RUJI Options charges a 1.0% settlement fee on trading volumes.

    • The standard 50/50 revenue share with TC Base Layer applies to all the fees collected by RUJI Options.

    Status

    • Not live yet.

    Virtualization Strategy
    Releases & Contracts
    full text of the MIT License
    rujira.network/strategies/staking/RUJI

    RUJI Index (crypto indices)

  • RUJI Launchpad (fundraising platform - pending internal review & audit)

  • RUJI Swap (cross-chain swaps)

  • RUJI Liquidations (auctions on liquidated collateral - via tracking orders for now, advanced bidding interface coming later)

  • gitlab.com/thorchain/rujira
    docs.rujira.network/resources/releases-and-contracts
    t.me/Rujira_Community
    discord.gg/uRzqQmU9EE
    x.com/RujiraNetwork
    medium.com/rujiranetwork
  • Buy Assets at the Local Bottom: RUJI Liquidations effectively enables users to buy local bottoms and sell local tops in their favorite assets. Even at a 0% discount, it’s a compelling opportunity.

  • Reduces Market Volatility to the Downside: Most liquidation bots are arbitrage bots, they buy discounted liquidated collateral and sell it at market price within the same block, pocketing the liquidation discount in a risk-free transaction. This behavior leads to liquidation cascades, a feedback loop where selling pressure from the bots pushes prices further down, triggering more liquidations, which causes more sell pressure, and so on. RUJI Liquidations mitigates this immediate selling and damage to the market by MEV bots.

  • The Liquidator fees are going to whoever triggers the liquidation first, incentivising off-chain solvers to find the liquidation routes that would often be impractical or impossible to calculate on-chain, whilst still internalising the liquidation volume across the Rujira Ecosystem.

    AutoRujira
    Ongoing development (updates in past 3 months)

    TCY

    https://rujira.network/index/rji

    CosmWasm has a 2 step process:

    1. "Store" - Code is "stored with an integer Code ID.

    2. "Instantiate" - A Code ID is instantiated and each instance gets its own address.

  • As it has an address, the bank module can now account for funds held by a contract.

  • When a CosmWasm contract is executed, at the end of execution, it can emit SubMsgs which are basically the same as the contract signing and broadcasting those Msg types itself.

  • App Layer’s authorization: What is the App Layer allowed to do?

    • Cosmos chains have discrete Msg types. The only two on THORChain that a user is allowed to use are MsgSend and MsgDeposit. You use MsgSend for sending RUNE, and MsgDeposit to "do things". Those things are encoded in the memo, e.g. swap RUNE for BTC, bond RUNE to a node operator.

    • There are a bunch of other message types which only active node operators can call, e.g. MsgObservedTxIn, MsgObservedTxOut and MsgMimir.

    • When you install CosmWasm to a Cosmos chain, you can define "custom bindings", that you connect to Golang chain code for arbitrary execution (more info here). THORChain's CosmWasm does not have this.

    • In fact, THORChain has non-standard Staking, Distribution and Gov Msgs. The only variants of CosmosMsg that are valid are BankMsg, Any and Wasm.

    • The Any msg variant is key here. A CosmWasm contract can only interact with THORChain via Any, and it's subject to all the same rules that an EOA is subject to.

    Consensus layer integration

    • MsgDeposit has a fixed 0.02 RUNE fee.

    • Smart Contracts are called with MsgExecuteContract, which can have a wide range of gas usage based on the logic of the contract.

    • All Msg types share the same mempool. In our integration, any Msg type that is signed by an Active Node gets priority in the mempool. CosmWasm tx types are second class citizens in order to ensure that the core protocol continues to operate uninterrupted.

    • The price that is charged for the gas that someone requests for their tx is set by node mimir. it defaults to 0, and is an economic Mimir to update it (2/3+ consensus required).

    Secured Assets

    • The App Layer only uses Secured Assets (which itself is a fork of Trade Assets, but transferable). Users deposit L1 assets and mint Secured Assets 1:1.

    • Secured Assets are "optimistically secured" by THORChain validators (they are not inside the Incentive Pendulum). Secured Assets make TC nodes money from App Layer fees, this is how they pay for their security.

    • Secure+ memo deposit on an observed chain will mint a bank module token 1:1.

    • MsgDeposit with secure- will withdraw those tokens back to the layer 1.

    • As bank tokens, Secured Assets can be utilised in the App Layer, swapped across the Base Layer to another asset, or redeemed back to L1. The UX feels like depositing into an exchange, "doing things" then withdrawing.

    Mimir control

    • If there is a bug in the App Layer, nodes can pause the entire layer, or specific contracts:

      1. HALTWASMGLOBAL - full shutdown of whole App Layer.

      2. HALTWASMCS-{checksum} - halt all contract instances of a specific checksum (i.e. code version).

      3. HALTWASMCONTRACT-{contract last6} - halt an individual contract.

    • Considerations: Halting a contract that depends on an oracle price that moves during halt could cause issues. Apps such as these should be designed to protect against sudden price movements in some way.

    Verifying code integrity

    • Checksum ⇒ deploy_address must be registered in the THORNode codebase in order to permit code storage. This means that wasm code can be inspected, audited, and a reproducible checksum emitted by any 3rd party that wants to verify the permission.

    100M RUJI

    Inflation

    No inflation, supply is capped at 100m RUJI.

    Utility

    RUJI will serve as the fee-switch token for Rujira core products, enabling stakers to capture the revenue generated by applications that join the Rujira Alliance, after accounting for the portion shared with THORChain Base Layer to cover security costs. As outlined in the initial partnership announcement, the standard revenue split between core applications and the Base Layer is 50/50. However, any economic activity that already contributes value to the Base Layer, such as applications built on top of the Rujira primitives, will not be required to pay for security twice.

    Allocations

    • Kujira & Merged Ecosystem Apps (50%)

    • Levana (5%)

    • Ecosystem Fund (7.5%): To be used at the discretion of the Rujira team for protocol-own liquidity, incentives, airdrops and other activities aimed at attracting users, builders and stimulating economic activity.

    • Builders Incentive Pool (7.5%): To be allocated as performance bonuses to apps, builders, and other Rujira Alliance contributors based on revenue contribution over four years, to ensure that the verticals that contribute the most value to RUJI are rewarded for it.

    • Operations (15%): To be used at the discretion of the Rujira team to fund operational expenses, developers' grants, Centralized Exchanges listings, provision Market Makers liquidity, and engage in value-added on-chain activities such as building up long-term protocol-own liquidity (e.g. to make market on the Rujira orderbook DEX via RUJI Pools or invest in ecosystem projects).

    • New investors (15%): Targeting to raise at different rounds to capitalize the Operations treasury and the Ecosystem Fund. Any unsold tokens will be returned to the Operations treasury.

    Conversion Process

    There are two different merge processes ongoing:

    1. The Merge: Holders of KUJI, FUZN, NSTK, WINK, and LVN tokens will have 12 months from the merger date (05 April 2025) to convert their tokens to RUJI. The conversion rate will start to decay after 4 weeks and will decrease linearly over the 12-month period, with early converters receiving the best rates. Key details:

    1. The NAMI Merge: NAMI token holders will have six months from the merger date (22 September 2025) to convert their tokens into RUJI. For the first four weeks, the conversion rate will remain fixed at 0.013 RUJI per NAMI. After this period, the rate will decline linearly over the remaining five months, incentivizing early participation. Maximum merge supply is capped at 74 million NAMI.

    Users can choose to keep their RUJI in the merger contract during the conversion period to earn additional rewards, as excess tokens will be distributed to those who delay withdrawal. Users can withdraw their RUJI at any time, but once withdrawn, they cannot deposit back into the merger contract, leading to more rewards for the ones who stay.

    Bonding Curve & Decay

    Starting from the merger date (expect. 27th February 2025), users will have 12 (6 for NAMI) months to convert their tokens into RUJI. During the first 4 weeks, the conversion rate will be 1:1*, after which it will gradually decrease on a linear scale, reaching 1:0 by the end of the 12-month period.

    The conversion rate applicable at the time a user initiates the conversion will be locked in and will not decline further, even if the user delays the withdrawal.

    *Note: The conversion rate shown in the table above is considered 1:1 in instances where 1 merge token does not equate to 1 RUJI.

    12-month decay

    Token Bonus

    If not all tokens are converted, or if they are converted at less than a 1:1 ratio, there will be an accumulation of excess RUJI tokens. These excess tokens will be periodically distributed as rewards to users who choose not to withdraw their RUJI immediately.

    The share of excess tokens a user earns will depend on when they initiate the conversion and how long they hold their RUJI before withdrawing. Rewards will continue to accrue until the user withdraws their tokens.

    Users can withdraw both their converted and reward tokens at any time without any unbonding period, but they cannot redeposit to earn additional rewards. Partial withdrawal from the merger contract will be possible.

    12-month token bonus

    Merge Flow

    The Switch Handler on THORChain facilitates the migration of assets from external chains (e.g. Gaia) to THORChain’s native assets.

    Originally, it enabled users to convert RUNE tokens from Binance Chain (BEP2) to native RUNE on THORChain. The process involved sending BEP2 RUNE to a designated address with a SWITCH memo, triggering the handler to mint an equivalent amount of native RUNE to the user’s THORChain address.

    We have used this Switch Handler for all the Kujira and Levana tokens to migrate and become THORChain-native assets. These assets comprise two categories:

    • Tokens migrating and merging into $RUJI: $KUJI, $rKUJI, $FUZN, $NSTK, $WINK, $LVN, $NAMI

    • Tokens migrating but not merging: $AUTO, $LQDY (ex. $MNTA)

    The process for switching above tokens to become THORChain-native assets:

    1. Reinstating the Switch Handler: Removing the previous kill switch logic to allow new migrations.

    2. Configuring On-Chain Parameters: Defining source assets, target denominations, and burn addresses in an on-chain configuration. For example for $KUJI:

      1. source_asset: GAIA.KUJI-XXXXXXXXX

      2. target_asset: kuji

      3. burn_address: cosmos100000000000000000000000000000000708mjz

    3. Executing the Switch: Users send their external assets to the THORChain GAIA.ATOM vaults, node operators validate the deposit and the network (a) mints a native token on THORChain and (b) sends the external asset on Gaia to the burn address.

    4. Asset Purging: Transferred assets are sent to the designated burn address and removed from system accounting to prevent double-spending.

    SVG
    180x180
    96x96
    32x32
    16x16

    PNG

    180x180
    96x96
    32x32
    16x16

    Colors

    Primary Colors

    Preview
    HEX

    #d534ea

    #843ef6

    #5634d1

    #080e50

    #ebedf3

    Secondary Colors

    Preview
    HEX

    #5dfbd0

    #38a989

    #1892e6

    #1e6599

    #f57b00

    #fe5721

    Greys

    Preview
    HEX

    #5e7e8d

    #90a5ae

    #22242d

    #171620

    GitLab UI package

    Logo with text
    Logo without text 200x200 (PNG)
    Instructions

    Prerequisites

    • Unix-like operating system (Linux, macOS) or, for Windows, Windows Subsystem for Linux (WSL)

    • Latest version of Bun

    • Keplr wallet and access to your wallet mnemonic or private key from Rujira

    • Funds in the gas payment token (RUNE), and in your desired base and quote tokens (ex.: RUJI/USDC)

    • A Rujira authentication token (see below)

    Installation

    When prompted, provide your wallet mnemonic or your wallet private key, or configure them directly in your resources/configuration/production.yml file.

    Running

    Review all configurations in resources/configuration (the documentation is present in local there). Pay special attention to the rujira.wallet and strategy sections, and double-check that all parameters are tailored to you.

    IMPORTANT: The Rujira GraphQL API has restricted access; you will need an authentication token to use it. Contact the Rujira team at [email protected] or Funttastic via Discord to request one.

    Configure it in the rujira.tokens.graphql section of your production.yml configuration file.

    Then run:

    or

    Disclaimer: This application is provided as a bootstrap for HFT strategies. You are solely responsible for your trading decisions and financial outcomes. Cryptocurrency trading involves substantial risk, including the potential loss of your entire investment. Funttastic and Rujira are not responsible for any financial losses, bugs, or technical issues. Use at your own risk and only invest what you can afford to lose.

    FAQ

    Question: How do I resolve an error like GraphQL errors: [{"message":"rate bucket full (5000). bucket drains 500/s.\ncontact [email protected] to increase your limit.\n","path":["node"],"locations":[{"line":3,"column":7}]}]? Answer: You have reached the Rujira GraphQL API rate limit. You will need to wait for it to reset or, preferably, request an authentication token by contacting Rujira at [email protected] or Funttastic via Discord.

    Question: How do I reset the strategy state (for example, the initial balances used for comparison and PnL calculations)? Answer: Delete the file resources/database/database.sqlite, which stores the strategy state. Optionally, also delete the log files in the logs folder.

    Question: How to contact the Funttastic team? Answer: Join Rujira's Discord and ask for support in the #barracuda-hft-bot dedicated channel.

    Funttastic Labs
    https://github.com/funttastic/barracuda-hft
    https://www.youtube.com/watch?v=w4u9mopMBV4

    Position size versus locked collateral

    One of the defining features of RUJI Perps is locked collateral. This is the mechanism by which we ensure that each position's potential gains are well funded at all times. This can lead to some confusion about two similar but distinct topics: position size and locked collateral. We'll try to clarify that here.

    NOTE: This document will intentionally use simplifying assumptions to make the math a bit easier, such as describing a collateral-is-quote market. If you try the same numbers in a collateral-is-base market—which includes any USD-denominated market—the numbers will be slightly different. But that shouldn't impact the intuition discussed here.

    What is position size?

    Position size represents how much exposure to price movement your position has. It is given by your deposit collateral times leverage. For example, if you deposit $500 in a long position and use 3x leverage, your exposure is equivalent to buying $1,500 of the asset on the spot market. If the price goes up by 10%, you will make $150 in profit, not $50.

    NOTE: This also explains why all leveraged positions have a liquidation price. In the above example, if the price went down by 50%, the position would have lost $750, which is more than the $500 the trader deposited initially. Therefore, we need a liquidation price that stops a position from losing more money than the deposit collateral. In this case, that would be a 33% price decrease. This also explains why the more heavily leveraged a position, the sooner you'll be liquidated if the price moves against you.

    Position size is what determines open interest and net interest in the platform:

    • Long open interest is the sum of the position sizes of all longs.

    • Short open interest is the sum of the position sizes of all shorts.

    • Total open interest is the sum of long and short open interest.

    • Net open interest is the difference between long and short open interest.

    What is locked collateral?

    When you open a position, you specify a take profit price. Internally, the system computes how much collateral to borrow from the liquidity pools. This becomes your locked collateral, also known as counter side collateral, and represents the maximum profits you can achieve on this position.

    Let's use the example above again. You have a long with a $1,500 position size. The current price is $10. You set a take profit price of $12, or a 20% price increase. That means your maximum profit is $1,500 * 20% == $300. The protocol needs to borrow those $300 from the liquidity pool and lock it into your position.

    By contrast, if you reduce your take profit price from $12 to $11, the protocol only needs to lock collateral for $1,500 * 10% == $150. Notice that the position size remains the same in both cases, but the locked collateral is significantly different.

    As you can see in this example, the closer the take profit price is to the entry price, the smaller the locked liquidity. This is one of the reasons we recommend traders think carefully about the take profit prices they want. Not only is this a risk mitigation mechanism, but it is also a cost savings. Reducing your locked liquidity will reduce both your trading fees and your borrow fees.

    Price risk to liquidity providers

    Let's continue with the above example. A trader opens a long with the parameters:

    Parameter
    Value

    The system will derive the following from these parameters:

    Derived parameter
    Value

    Any gain the trader takes on the position will be withdrawn from the locked collateral, and vice-versa. Meaning, if the price moves up to $11:

    • The trader has experienced a 10% increase via price exposure

    • The trader will have profits of $1,500 * 10% == $150

    • The liquidity pool will lose those $150 to the trader

      • Caveat: as we discuss below, we strive to keep the protocol balanced, which will protect liquidity providers from these losses by ensuring for every loss on a long position, they will experience an equivalent gain on a short position, and vice versa.

    Similarly, if the price decreases by 10% instead, the trader will lose $150 to the pool. This is equivalent to saying that, every time a trader opens a long, it's as if the liquidity providers have opened a short of the same position size. This leads to one more concept: counter-side leverage. In our example, the liquidity pool opened a $1,500 short position using $300 of collateral. This means that the pool's counter-side leverage on this position is 5x, versus the trader's 3x leverage. From the liquidity pool's perspective:

    LP parameter
    Value

    Why net open interest matters

    The reason why net open interest is so important to the protocol is because it represents exposure to price risk for liquidity providers. If the protocol has too much long interest, for example, liquidity providers are being forced to open up more short positions than long positions. If the actual price goes up, liquidity providers will lose funds to traders through impairment. It's true that if the price moves down instead, liquidity providers will instead make money through impairment. But we strive to insulate providers from risk. Therefore, our goal is to keep longs and shorts balanced, also known as:

    • 0 net notional

    • Delta neutral

    The mechanisms we use for this are incentives via funding rate payments and delta neutrality fees, which provide a profit motive for the implementation of , also known as .

    Collateral lock-ups, risks and rewards

    The inherent risk liquidity providers take on in this system is unbalanced price exposure. While—as just discussed—the protocol strives to minimize that risk, it cannot guarantee risk will be absent. And furthermore, in extreme market conditions (called a market meltdown or meltup), this risk is expected to be very high. In such a scenario, any liquidity in the pool is at risk of impairment, up to loss of 100% of their funds.

    Liquidity providers can choose their level of risk, and receive commensurate rewards as a result. Therefore, there are two mechanisms for providing liquidity: LP tokens with no lock-up time, and xLP tokens with a 45 day lock-up window. LP tokens can be immediately withdrawn, provided that enough liquidity is in the system. xLP holders take on a higher degree of risk, and therefore receive higher rewards in terms of receiving a higher proportion of trade and borrow fees.

    But to be clear, both groups are at risk of significant impairment. The protocol uses a dynamic borrow fee rate detection mechanism within the protocol to allow supply-and-demand forces to discover a fair market rate for this risk. In summary is: for assuming the risk of extreme market movements, LP and xLP holders are rewarded with high APRs on their deposits.

    RUJI Pools

    ​​RUJI Pools provides access to a multi-strategy Automated Market Maker (AMM) built to add liquidity to the Orderbook DEX. Market making keeps bid-ask spreads tight and deepens orderbook liquidity. It is essential to optimize trading conditions and provide a great trading UX. Rujira's AMM attracts liquidity providers (LPs) by offering yield in the form of trading profits. RUJI Pools' strategies are available from the Strategies page.

    Key Features

    • Decentralized Market Making: Permissionless, 100% on-chain market making with no need for external cranking.

    • Virtualized orders: The protocol’s architecture enables the AMM to virtualize orders on the Orderbook DEX, meaning the AMM doesn’t need to move the funds to the DEX to place regular orders. It only needs to guarantee the DEX it can execute at the price it says it will, when a swap comes in on the DEX. We call this passive market making, as opposed to active market making which are strategies that places regular fixed-price orders in the orderbook. RUJI Pools support both active and passive market making strategies.

    • High Capital Efficiency: As the funds are not required to be moved from the AMM to the DEX to market make, it means the AMM can market make on multiple markets simultaneously. This allows, for example, to have an AMM pool that provides liquidity in the BTC/USDC pair on the DEX with one strategy, and participate in liquidation of BTC collateral on the BTC/USDC money market with a different strategy.

    • Multi-strategy: Rujira's AMM is a flexible framework allowing deployment of all sorts of strategies which add liquidity to the orderbook DEX. RUJI Pools comes with several in-house strategies, including:

      • XYK strategy (live): Uses a pricing and order sizing algorithm replicating the standard XYK logic used by a traditional AMM-DEX like Uniswap v2, but tailored for an orderbook DEX. This strategy suits smaller tokens still in price discovery mode and subject to high volatility.

      • Base Layer Virtualization strategy (live): Arbitrage strategy that virtualizes the liquidity in THORChain's Base Layer pools onto the App Layer, allowing the App Layer to tap into Base Layer liquidity while retaining transaction atomicity and composability. This single-sided passive market making strategy is able to query the Base Layer pools to see how many target asset (e.g. BTC) it would get for a given quantity of asset to be sold (e.g. USDC), and then provide a quote at a slightly worst price (Base Layer price + small margin). This quote appear in the orderbook alongside any pending fixed-price and tracking orders. For a deeper understanding of the strategy, see

    • Strategies Layering: Rujira's Orderbook DEX allows the AMM to layer several strategies for any given pair in the orderbook, adding liquidity on top of liquidity from users' limit and tracking orders, and liquidity from the virtualization of TC Base Layer pools. This helps deepen liquidity vs. a traditional AMM-DEX and increases volumes on the DEX.

    • Third Party strategies (pending): Rujira's AMM will enable third parties (e.g. experienced market makers, quants, and talented community members) to deploy their own strategies and get rewarded with a management fee and/or a performance fee. The design space for strategies is wide open: it could be other market making strategies, more opinionated strategies with a directional bias such as momentum strategies, or anything else. This will effectively create a market for systematic strategies, allowing talented quants to monetize their know-how while adding opportunities for Rujira's users and generating more trading fees for RUJI stakers.

    • LP Incentives (pending): Optionally, the AMM allows third party protocols to incentivize liquidity by allocating token rewards to LPs, distributed over a custom period with a custom issuance curve.

    • Leveraged Market Making (pending): The AMM connects directly into Rujira's Money Market, allowing liquidity providers to use their LP tokens as collateral to borrow any side of the LP and increase the size of their position. This allows for things like single-sided LP provisioning (e.g. provide BTC and borrow the USDC part to market make in the BTC/USDC pair, or the other way around if you have a bearish view on BTC vs. USDC) and partial hedging of LP positions. The position is profitable if the net trading profit on the LP position is higher than the interest paid on the debt.

    Benefits

    • Sustainable APR for LPs: An opportunity for Rujira users to generate sustainable returns on their crypto assets in the form of trading profits by providing liquidity. Users deposit in a given pool, and the AMM automatically places and adjusts orders in the Orderbook DEX based on the pool's specific strategy.

    • Multi-strategy Support: A flexible framework allowing the deployment of multiple strategies, catering for various risk profiles and bias towards market direction. Strategies can be developed by the Rujira team or third parties.

    • Enhanced Liquidity: The AMM brings the benefit of professional-grade market making on-chain to the Orderbook DEX, with enhanced liquidity and narrow spreads for a better trading experience.

    Fees & Fee Sharing with THORChain Base Layer

    • Rujira's AMM is a tool built on top of Rujira's Orderbook DEX. It does not charge any additional fees. It complements the DEX to provide a better trading UX and more volume opportunities.

    • Liquidity Providers on the AMM generate returns in the form of trading profits, not trading fees.

    • Strategies deployed by the Rujira team are not subject to any additional fees and currently do not pay the any maker fee. However, strategies deployed by third-parties might be subject to performance and/or management fees and might be subject to the standard maker fee.

    Status

    • XYK strategies are live ; more strategies will be added over time.

    Recurring Orders

    Recurring orders built by the CALC team let you create a trading schedule to swap over time using native (secured) assets on Rujira. Whether you want to gradually build a position or take profits in smaller parts, this feature runs fully on-chain and allows you to schedule swaps, and set custom parameters, so you can comfortably trade on your own terms.

    Key Features

    • Recurring Orders Setup: Create automated buy or sell orders that execute over time using native and secured tokens.

    • Flexible Timing: Choose how often swaps occur, including block-based, minute hourly and daily, intervals.

    • Price Limits: Set optional price floors or ceilings to prevent swaps from executing outside your desired range.

    • Price Protection: Set maximum price impact to prevent unfavorable swaps.

    • On-Chain Execution: All swaps are executed transparently through smart contracts on Rujira and THORChain.

    • Live Strategy Control: Monitor, pause, edit, deposit, or withdraw funds from your orders at any time through RUJI Trade.

    • Auto Distribution: Once the deposit token is fully used, the received tokens are automatically distributed back to your wallet.

    • Re-activate: Completed recurring orders can be re-activated by topping them up or sending assets to their strategy address.

    Benefits

    • Reduced Volatility Risk: Lowers the impact of short-term price movements by spreading out trades.

    • Full User Control: You retain control over your funds, schedule, price and limits at all times.

    • Consistent Trading Approach: Reduces emotional decisions by following a regular, rule-based plan.

    • Native Liquidity Access: Access THORChain liquidity for native assets without wrapping.

    Fees and Fee Sharing

    • Automation Fee: 25bps (0.25%) on all funds exiting a recurring order, whether completed or withdrawn. Paid to CALC for ongoing development.

    • Rujira Fee: Every swap performed by recurring orders pays RUJI Trade taker fees.

    • No additional fees apply for editing, pausing, resuming or topping-up of strategies.

    Status

    • Live, available from by selecting Advanced in the trade panel.


    FAQ

    1. How to set up your recurring order on RUJI Trade?

    Assuming you already have funds on Rujira, you can create your first Recurring Order in three simple steps.

    • Step 1: Choose trade pair in

    • Step 2: Setup your order via Advanced -> Recurring

    • Step 3: Submit the transaction

    2. How do recurring orders on RUJI Trade work (in depth)?

    Creating a recurring order is like setting up a machine that processes your trades at the intervals you set them at, here’s how it works in a nutshell, let’s break it down into:

    • 2.1 How recurring orders are created

    • 2.2 How the recurring order mechanism works

    • 2.3 How tokens are transferred

    2.1 How recurring orders are created

    • When you start a recurring order, the tokens will be transferred from your wallet into a smart contract vault that runs the strategy.

    • Once you create a recurring order, your first order is executed right away. For example, if you’re setting up an order from USDC into RUJI, the full USDC will be stored in your vault, and the first trade (say $100 USDC for RUJI) will happen immediately.

    • The remaining trades follow at regular intervals, based on the schedule you pick. For instance, if you’re splitting $1,000 USDC over 10 days, you’ll see the first $100 -> RUJI trade right away, and then 9 more trades of $100 each happening daily like clockwork (except when you set price protection and swaps do not meet the right conditions to execute).

    2.2 How the recurring order mechanism works

    When you create a recurring order, your total trade is split into smaller, bite-sized swaps. The number of swaps depends on your settings. Let’s break it down:

    Say you’re recurring $900 USDC into RUJI over 3 swaps of 1 day. Your order will be split into 3 trades of $300 USDC each, one for every day. Let’s see this in action:

    Day 1: Once your order is confirmed, the first $300 USDC -> RUJI trade happens immediately.

    Day 2: 24 hours later, the second trade of $300 USDC -> RUJI gets executed.

    Day 3: Another 24 hours after that, the third and final trade wraps up your order and automatically sends the acquired RUJI to your wallet.

    The amount of $RUJI you receive depends on its price at the time of each trade. Following the same example:

    Day 1: If RUJI costs $20, your $300 buys you 15 RUJI.

    Day 2: If RUJI jumps to $25, your $300 gets you 12 RUJI.

    Day 3: If RUJI dips to $15, your $300 scores you 20 RUJI.

    Note: CALC charges a 0.25% fee after withdrawals from an order. So, in the end a total of 47 RUJI (minus a fee of 0.1175 RUJI) is automatically sent to your wallet.

    2.3 How tokens are transferred

    Every time a swap executes, the swapped tokens are stored in the vault until the recurring swap order is finished. The recurring order is finished when there are no deposit tokens left to swap in the vault. Then the acquired tokens are automatically sent to your wallet.

    💡 Pro Tip: If you don’t want to wait for a strategy to finish, you can edit, withdraw, deposit or pause your order details at any time.

    3. How to manage multiple recurring orders?

    It’s easy to manage your recurring strategies from the RUJI Trade orders overview and from the overview.

    4. Does my recurring order automatically retry if it fails?

    Yes, if a swap fails due to high price impact or exceeded price thresholds, the order will automatically retry at the next set scheduled interval.

    5. How is the price calculated with each recurring swap?

    Swaps are routed via the RUJI Trade order book at the current best market price.

    The price for each swap is calculated at the time the transaction is executed. Swaps execute on the RUJI Trade order book and can include parameters like price impact or price protection, to ensure you receive a minimum amount of tokens. If the price exceeds the max price impact settings or price threshold, the transaction will fail in order to protect you from unfavorable swaps.

    Before starting your strategy, make sure to have a look at the summary to make sure everything looks right. Or review your ongoing strategy from the Recurring Orders overview or the overview.

    6. Can I pause the recurring order temporarily and resume it later?

    Yes. Pausing and resuming of recurring orders is supported.

    7. What are the fees?

    An automation fee of 25bps (0.25%) applies to all funds exiting a recurring order, whether through completion or manual withdrawal. This fee is over and above standard RUJI Trade taker fees.

    RUJI Index

    RUJI Index substantially simplifies managing your diverse crypto portfolio.

    Instead of picking individual coins, you can hold ready-made index tokens that track a whole basket of assets. Behind the scenes, smart contract vaults keep everything fully backed and automatically balanced.

    You can mint, redeem, or trade these index tokens anytime, without asking anyone for permission. All available indices are listed on our Index page.

    Key Features

    • Fully Decentralized, On-Chain Indices: RUJI Index products are non-custodial and operate entirely on-chain. With no central intermediary, all asset management and trading logic is governed by smart contracts.

    • Tokenized Asset Baskets: Each index represents a bundled basket of assets. Minting an index token, generates a single receipt token that is composable and can be used in other DeFi protocols, simplifying liquidity and collateral management.

    • 100% backed at all times: At all times, every index is backed by its full complement of underlying assets stored in the smart contract vault. This model unlocks a wide range of DeFi applications, as each index token consistently reflects the combined value of its underlying assets.

    • No deposit & withdrawal lock-up: The underlying assets are redeemable at all times (subject to orderbook liquidity), with no deposit or withdrawal lock up period. Additionally, some indexes have their own order book on , where the receipt token can be bought and sold without requiring minting or redeeming. This enables efficient arbitrage, helping ensure the index token consistently trades near the combined value of its underlying assets.

    • Automated Rebalancing Engine: For rebalancing indexes, the smart contract continuously adjusts the assets within the index to maintain predefined target weights. Each rebalance takes price impact and slippage into account, selling assets that have exceeded their target allocation and buying those that have fallen below. Fixed indexes do not rebalance, letting winners run and losers lose.

    Benefits

    • One-click diversification: Access a diversified portfolio with a single action. By minting index tokens you gain broad market coverage and simplify your portfolio management.

    • Efficient rebalancing: Since the index automatically rebalances according to pre-set parameters, you don’t need to monitor the market 24/7. The protocol minimizes slippage and price impact by executing trades strategically, helping maintain target allocations over time.

    • Permissionless minting & redemption: Anyone can mint or redeem index tokens at any time. This open access minimizes price discrepancies between the index token and its underlying assets.

    Fees & Fee Sharing with THORChain Base Layer

    • RUJI Index: There is no mint fee, only a redemption fee of 1.0% as well as management fee of 1.0% p.a., both accruing to RUJI stakers

    • Rujira & THORChain: RUJI Indexes are products built on top of Rujira's Orderbook DEX. Hence, every mint, redemption and rebalance is subject to the standard Orderbook DEX fee, accruing value to both RUJI stakers and THORChain Base Layer.

    Status

    • Live .


    Advanced Documentation

    Issuance and Redemption

    When issuing & redeeming an index asset, the protocol handles calculations, swaps, mint/burning as well as maintaining all the underlying assets inside a vault.

    A high-level asset / user flow is illustrated below.

    Issuing an index token

    The contract issues an asset in six steps:

    1. Contract receives an amount of base asset from the user (RUNE or USDC, depending no the index).

    2. Contract determines how many units of the base asset are used to buy each allocation based on stored index asset weights.

    3. Contract initiates the swaps on the swap venue (RUJI Trade).

    4. Contract receives swap output and adds it to the vault.

    Redeeming an index token

    Redemption of an index token is done in five steps:

    1. Contract receives an amount of index tokens from user.

    2. Contract determines how much of each underlying allocation are redeemed based on the total amount of underlying assets and total issued index tokens.

    3. If needed, the contract initiates the swaps on the swap venue (RUJI Trade) to get the base asset.

    4. Contract confirms the swap outputs & burns the index token.

    Rebalancing

    There are currently two different type of index implementation, due to some assets having oracle prices (secured assets), while some don't (assets native to Rujira).

    NAV indexes are auto-rebalancing indexes, but require all underlying assets to have an oracle price.

    Fixed indexes are non-auto-rebalancing indexes with a fixed unit ratio between the assets. This implementation does not require oracles to be available for each asset.


    NAV Index Rebalancing

    The smart contract for each NAV index stores asset target weights. During each contract crank (e.g. minting), the index is rebalanced back towards the target weights, if the asset weight is at least X% away from the target weights, subject to liquidity. X is a parameter set in the contract.


    Fixed Unit Index Rebalancing

    Fixed unit indexes do not auto-rebalance. However, they can be rebalanced manually including for the following reasons:

    • Change the asset composition (i.e. add or remove an asset to/from the index).

    • Remove an asset in an emergency, e.g. case of protocol exploit/security issue.

    • Update asset weights to align with orderbook liquidity, in case the liquidity to index TVL share ratio changes drastically on one asset.

    A note on rebalancing

    Auto-rebalancing keeps the index from being overweight in a single asset, but it also buys more of the losers and trims the winners. In crypto’s volatile markets, RUJI NAV Index is designed to let winners run while limiting exposure to losers. That’s why the NAV indexes use a rebalance buffer, avoiding instant rebalancing.

    Developer Endpoints

    Feel free to use these endpoints to build on Rujira!

    Stay updated with health checks and notifications through our Discord.

    Detailed documentation is available in the THORChain Dev Docs.


    THORChain Public Endpoints

    Mainnet

    • RPC:

    Stagenet

    • RPC:

    • gRPC:

    • Midgard REST API:


    Rujira Ecosystem APIs

    GraphQL API

    High-performance API for extensive data across the Rujira ecosystem:

    • Mainnet:

    • Stagenet:

    • Docs: Embedded inside the above links.

    • API key: Email [email protected] to request an API key.

    For GraphQL subscriptions and real-time data streaming, use a Phoenix Socket-based connection instead of HTTP. This ensures low-latency, bidirectional communication with Rujira’s endpoints. A working example is available , which:

    • Initializes a Phoenix Socket instance (PhoenixSocket from phoenix).

    • Wraps it with @absinthe/socket for Relay-compatible GraphQL subscriptions.

    • Includes fallback compatibility fixes for outdated libraries.

    REST API

    For RUJI Trade DEX and RUJI token supply integrations:

    • Mainnet: ,

    • Stagenet: ,

    • Docs:

    For a more comprehensive solution, use our .


    Endpoint Testing

    RPC/API Endpoints:

    gRPC Endpoints:

    Build Ideas

    At Rujira, we’re constantly exploring new ways to extend the ecosystem.

    This page lists open development ideas: things the community or independent builders can create around our core products.

    Each idea is tagged by category, with direct contacts for guidance.

    If you decide to build one, please register your intent (see below) so we can support you and avoid duplicate work.

    After your MVP goes live, the Rujira team may grant limited-time exclusivity for you product in the ecosystem.

    Development Process

    THORChain builds in the open—and Rujira is no exception—hence your smart contracts code will have to be open source if you build on Rujira.

    Deployments on Rujira are permissioned, we look to create a coherent suite of apps and avoid duplicates. The development process includes vetting by the Rujira team, external audits and ultimately whitelisting by THORChain's node operators for mainnet deployment. Before starting to build, please contact the Rujira team to get introduced and make sure your project fits into the bigger picture and doesn't overlap with existing plans.

    Make sure to check the file before you start building on the App Layer, and take the time to check the commits of previous contracts deployed in the file.

    Start Developing

    This guide will walk you through the development process for building, testing, and deploying CosmWasm contracts on Rujira. It covers everything from writing your contract, performing unit and integration testing, deploying to test environments, and finally deploying to mainnet.

    RUJI Perps

    RUJI Perps is a decentralized, fully collateralized perpetual futures trading platform (Perp DEX) that allows users to trade tokens with up to 50x leverage, offering a secure and innovative trading experience. Unlike traditional perpetual futures platforms, RUJI Perps eliminates insolvency risk by ensuring all positions are fully funded, which guarantees the safety of traders' profits (PnL). With unique features such as locked liquidity, crypto-denominated pairs and cross margin, RUJI Perps is designed to overcome common challenges in the perpetual futures trading space, including liquidity imbalances and market manipulation.

    Key Features

    • Locked Liquidity: RUJI Perps introduces an innovative system of locked liquidity, where liquidity providers (LPs) deposit assets that are locked against traders' positions. These locked assets represent the maximum potential profits traders can achieve, ensuring there is always liquidity to pay for trader’s gains. This system prevents the risk of illiquidity even during extreme market conditions, ensuring that the platform can cover profits for all traders. Liquidity providers are compensated for the risks they take by receiving trading and borrow fees from traders.

    git clone https://github.com/funttastic/barracuda-hft.git
    cd barracuda-hft
    
    ./setup
    ./start
    bun run start
  • Crypto-Denominated Pairs & Infinite Max Gains: For crypto-denominated pairs, RUJI Perps allows traders to open long positions with no cap on profits or fear of protocol solvency. As the base asset (e.g. BTC) increases in value, traders can benefit from infinite max gains in quote assets (e.g. USD). This offers a unique opportunity for traders to speculate on rising crypto prices without the limitations of stablecoin-denominated pairs. Trader collateral is denominated in the base asset (e.g. BTC), and gains are paid out for both long and short positions in the base asset. In short, when you win on RUJI Perps in a crypto-denominated market, you earn more of that crypto. This is a unique way to stack more of your favorite assets.

    • Initially, RUJI Perps will only offer USDC-denominated pairs. BTC denominated pairs will be added at a later stage.

  • Trade directly from your wallet: Traders can start trading using the collateral in their wallet. Deposits are only required when opening a new position and are returned to traders' wallets when the position is closed, along with any gains or losses, once the position is closed. This ensures a smooth and efficient trading experience.

  • No Mark Price Manipulation: Unlike traditional platforms that rely on an internal mark price, RUJI Perps uses oracle based spot market prices for entry and PnL calculations. This increases the difficulty of price manipulation attacks, especially in low-volume environments, providing a more stable and transparent trading experience.

  • Low-cost leverage and Dynamic Fee Structures: Traders can use leverage with low fees, allowing them to maximize positions with minimal capital. With RUJI Perps, dynamic fees adjust based on market conditions, ensuring fair and competitive costs. Take profit triggers closer to your opening position result in lower fees for traders due to greater capital efficiency.

  • Benefits

    • Insolvency Protection: RUJI Perps eliminates insolvency risks by ensuring that all positions are fully backed by locked liquidity. This is particularly important during volatile market conditions, where traditional platforms struggle to provide enough liquidity to cover profits.

    • Real yield for LPs: RUJI Perps provides real yield for liquidity providers with multiple risk-adjusted options. LPs provide single sided deposits (i.e. provide liquidity in a single asset such as BTC) and earn trading fees in exchange for taking on counter trading risk. The ability to provide single-sided liquidity means LPs are not exposed to any impermanent loss, but LPs do take on counter trading risk, i.e. the more traders lose, the more LPs win, and vice versa.

    • Sophisticated Trading Features: RUJI Perps provides features such as stop losses, take profits and limit orders. Traders can open multiple isolated positions, both long and short, on the same market. This feature allows for strategic hedging during volatile periods, as well as the flexibility to use different levels of leverage for each position.

    • Market Stability Incentives: To ensure system robustness and protect liquidity providers, RUJI Perps employs a delta neutrality fee to incentivize balanced positions and delta neutrality caps to prevent new positions from significantly unbalancing markets. The delta neutrality fund rewards traders, especially arbitrageurs, who contribute to market stability by keeping the system balanced. It collects lump-sum payments whenever trader actions exacerbate unbalanced markets though open, update, and close actions, and distributes rewards to traders who bring markets back towards a balanced, delta-neutral state.

    Fees & Fee Sharing with THORChain Base Layer

    RUJI Perps generates revenue from various fee streams, which are shared between liquidity providers and the protocol (these fees may be adjusted from time to time on a general or per market basis to ensure protocol robustness):

    • Trading Fees: Broken up into two components: (i) a percentage of the notional size, 0.1% by default; and (ii) a percentage of the counter collateral (funds borrowed from LPs for potential gains), 0.1% by default.

      • 70% goes to LPs, and 30% to the protocol.

    • Borrow Fees: Dynamically adjusted based on supply and demand.

      • 70% to LPs, 30% to the protocol.

    • Delta Neutrality Fees: This is primarily P2P, but anywhere between 5%-25% (depending on liquidity of the underlying spot market) is taken as a tax into the general fee bucket.

      • 70% to LPs, 30% to the protocol.

    • Crank Fees: Collected by trading bots. This bots are run by the Rujira team, but can also be run independently by community members to operate the protocol in exchange for crank fee rewards.

      • 100% to Crank operators.

    • Funding Fees: Funding payments are collected but are completely peer to peer.

      • 100% to traders.

    All protocol fees collected by RUJI Perps are split evenly between RUJI and RUNE stakers, ensuring strong integration with the broader THORChain ecosystem.

    For users, all of these fees and/or earnings are factored into your PnL in real time.

    How does providing liquidity work?

    On the Earn page, you can provide liquidity to the RUJI Perps protocol and earn yield for doing so.

    Deposits are used by traders as counter-collateral for their positions. In return, you receive LP or xLP tokens that generate yield which comes from fees paid by traders. These are the APRs you see displayed for each liquidity pool.

    Deposits are not risk-free. When traders win, counter-collateral is removed from the liquidity pool and LP/xLP tokens lose value. But when traders lose, your LP/xLP tokens increase in value. This is referred to as impairment.

    LP tokens that are not currently locked in trader positions may be redeemed immediately for the liquidity that you provided.

    Redeeming xLP tokens takes 45 days from when you submit the request—these tokens unlock linearly over this time period, and you receive the APR from LP tokens on the full amount.

    Once you have accrued yield, you may withdraw it at any time directly to your wallet or reinvest it to earn additional yield.

    For more information, please check: Position size versus locked collateral

    Understanding Data Sources

    RUJI Perps calculates price exposure by using external spot prices exclusively. These spot prices are provided by the underlying liquidity pools on THORChain, ensuring we always have the most accurate and up to date price information available on-chain.

    Status

    • Live here with limited pairs and liquidity (pending for enshrined oracles to add more).

    GraphQL API

    Deposit collateral

    $500

    Leverage

    3x

    Entry price

    $10

    Take profit price

    $12

    Trader position size

    $1,500

    Locked collateral

    $300

    Locked collateral

    $300

    Counter side leverage

    5x

    Position size

    $1,500

    cash-and-carry arbitrage
    basis trading
    RUJI Trade
    RUJI Trade
    My Portfolio
    My Portfolio

    Cross-Chain Accessibility: Thanks to THORChain's architecture, you can access RUJI Index from any supported network. Whether you’re on Bitcoin, an EVM chain, a Cosmos chain or any other chain integrated with THORChain, the index protocol remains interoperable across all supported ecosystems.

    Contract mints the index receipt token based on received asset amounts.

  • Contract sends the index receipt token to the user.

  • User receives the base asset (RUNE or USDC, depending no the index).

    RUJI Trade
    here
    .
  • Fixed-range Concentrated strategy (pending): Deploys the liquidity within a user-defined fixed range, allowing for more opinionated market making and higher capital efficiency vs. XYK strategies.

  • Oracle-based Concentrated strategy (pending): Deploys most of the liquidity around the current oracle price for a given pair, using Rujira's Tracking Orders functionality to provide deep liquidity and harvest volatility. This strategy suits established tokens with deep liquidity on other venues and reliable oracle prices.

  • Orbital strategy (pending): Provides liquidity for any number of highly correlated assets such as stablecoins, in a single pool, with high capital efficiency & built-in risk mitigation in case of a depeg.

  • Higher Trading Volume: Layering AMM strategies in the orderbook for a given pair leads to increased volume opportunities. The relationship between regular orders (at a fixed price) and tracking orders (at a fixed discount/premium to oracle price) is particularly beneficial to volumes. It creates a dynamic where oracle-based AMM strategies can trade against XYK strategies and other fixed-price orders, resulting in more volumes and profit opportunities for LPs, and more fees to RUJI stakers.

  • Economic Sustainability: Many top traditional AMM-DEX rely on unsustainable token incentives or inflationary rewards to generate attractive yield for LPs and attract liquidity. Uniswap rewards LPs with trading fees, but does not share any revenue with UNI token holders. Rujira’s Orderbook DEX model allows LPs in the AMM to generate sustainable returns from trading profits (e.g. by capturing the bid-ask spread defined by the strategy) without the need for any RUJI rewards. This mitigates the risk of continuous price pressure from LP incentives being farmed, alleviates the risk of liquidity disappearing once incentives run out, and allows trading fees (net of TC Base Layer share) to be 100% distributed to RUJI stakers.

  • Internalization of Market Making Revenue: This enables projects to turn what was historically a source of costs (market making by paid professionals) into a source of sustainable profit via protocol-owned liquidity. Rujira will demonstrate this by deploying a portion of its operational funds to market make for RUJI and other top tokens using Rujira's AMM pools.

  • here
    here

    gRPC:

    • https://grpc-thorchain.rorcual.xyz

    • https://thorchain.ibs.team:443

  • RPC REST API:

    • https://api-thorchain.rorcual.xyz

    • https://thorchain.ibs.team/api/

  • Midgard REST API: midgard.ninerealms.com

  • https://rpc.ninerealms.com
    https://rpc-thorchain.rorcual.xyz
    https://thorchain.ibs.team/rpc/
    stagenet-rpc.ninerealms.com
    stagenet-grpc.ninerealms.com:443
    stagenet-midgard.ninerealms.com
    api.rujira.network/api/graphiql
    https://api-preview.rujira.network/api/graphiql
    here
    Trade
    RUJI
    Trade
    RUJI
    Rujira's REST API
    GraphQL API
    curl -X GET https://<endpoint>/status
    grpcurl <grpc-endpoint> list
    How It Works
    1. Learn about THORChain's App Layer and how we do things differently at Rujira

      • Understand that we are looking to build a coherent ecosystem, where protocols are deeply integrated with one another and accessible from a unified UI.

      • Therefore, deploying new smart contracted is permissioned and curated by the core Rujira team.

      • Read THORChain's ADR-20 for context and guiding principles.

      • Review to understand how we classify builders and what we have to offer.

      • We are mostly looking for contributors/teams either:

        • Interested in joining the Rujira Alliance (category 1) to develop something unique and that is not part of the existing roadmap; or

        • Building on top of Rujira’s core protocols as independent teams (category 2) and contributing to increased economic activity and users growth within Rujira.

    2. Browse Ideas

      • Choose something that matches your skills and interests.

      • Each idea includes a description, helpful links, and Rujira contacts.

    3. Register Your Build

      • Send a short email to .

      • Include:

        • Idea name

    4. Build, Ship, and Share

    Idea List

    Below is a non-exhaustive list of ideas. We will update it over time depending on internally identified needs and community feedback.

    Category
    Idea
    Description
    Helpful Links
    Contact
    Status

    Bot

    Liquidation Path Finder

    Since Rujira supports multiple collateral types within its lending and borrowing system, each collateral type requires a unique liquidation path.

    Additionally a user can define its liquidation preference.

    Because calculating the optimal path is too computationally intensive to execute on-chain, the protocol allows external actors to submit the optimal liquidation route off-chain and earn a fee for providing that computation.

    @jp_labs

    Permissionless

    Vault

    Systematic strategies

    Build systematic strategies and make them available to the community via Trading vaults, after demonstrating a consistent track record. Strategies could be advanced market making strategies, delta-neutral or directional strategies. They should be built on top of Rujira core primitives, notably RUJI Trade orderbook and can use credit accounts to access leverage or hedging. The AutoRujira team (https://t.me/autorujira) can help you access the smart contract infrastructure you need so you only have to focus on building the strategies.

    1. Writing Your Contract

    Rujira contracts are built using CosmWasm, a smart contract platform written in Rust. Follow the steps below to get started writing your contract:

    1. Set up your environment: Ensure that you have Rust and the necessary development tools installed. You can follow CosmWasm's setup guide.

    2. Contract Structure: CosmWasm contracts typically consist of the following components:

      • InstantiateMsg: Defines the parameters required to initialize the contract.

      • ExecuteMsg: Represents various actions that users can invoke on the contract.

      • QueryMsg: Represents read-only operations that fetch contract state.

    3. Serialization: Contracts in CosmWasm use #[cw_serde] for serialization and deserialization. Rujira may introduce a modified implementation of #[cw_serde] to provide a more compact encoding of ExecuteMsgs, especially since these messages may be inserted into Layer 1 memos for CosmWasm callbacks. This will ensure efficient handling and smaller payloads.

    4. Best Practices:

      • Organize your code into modular functions for better readability and maintenance.

      • Use meaningful types and clear names for your messages and state variables.

      • Ensure that your contract handles errors gracefully and follows security best practices to prevent issues like reentrancy.

    For more details on writing CosmWasm contracts, refer to the official CosmWasm documentation.

    2. Testing

    Before deploying your contract, it’s crucial to write and execute tests. CosmWasm provides a robust testing framework within Rust to simulate contract behavior and ensure correctness.

    Unit Tests

    Unit tests validate individual functions within your contract. Use these tests to check that your logic is working as expected for different scenarios, without the need for a full blockchain simulation.

    1. Write unit tests: Add your test functions within the tests module in your contract.

    2. Test execution: Run your tests using the command:

    Integration Testing with Multitest

    For more comprehensive testing, you can use CosmWasm’s Multitest framework, which simulates a chain environment in Rust. This allows you to test your contract’s interaction with other contracts and the chain itself.

    1. Set up multitest: Include the cw-multi-test package in your Cargo.toml dependencies.

    2. Simulate complex scenarios: Write tests that involve message execution, querying, and contract-to-contract interactions.

    3. Run multitest: Execute your multitest suite using:

    Multitest provides a highly realistic environment, simulating actual blockchain behavior without the need for a full node or deployment to a testnet.

    3. Test Deployment

    After validating your contract through unit and integration tests, the next step is deploying it to a permissionless test environment. Rujira offers two options for deploying your contract for further testing.

    • Testnet: There are two ways to configure a testnet to try and run your contracts

      • Bloctopus: THORChain is available on Bloctopus, which allow devs to fork thornode at any given block height to test the contracts you are building for Rujira against both previous versions of THORChain, the current version on mainnet, and future features and releases that has been merged on thornode but not rolled out on mainnet yet. Get started creating your own THORChain testnet following https://docs.bloctopus.io/create-network

      • Localnet / Mocknet: Spin up your own instance and deploy your contract(s) to a local THORChain environment so you can run a simulated THORChain network locally (Midgard, THORNode, mock L1 chains), interact with the chain via CLI and APIs to finally build and test contracts with no reliance on external node operators. See full guide in

    • Stagenet: A permissionless testnet to verify your contract in a real end-to-end environment, but with real money. Contracts will need to be tested thoroughly on Stagenet to showcase compatibility with the network and with connections to existing apps on Rujira. See a general guide on , and do make sure to follow the steps in

    To make sure you connect to the right networks, find the overview of connections in Developer Endpoints

    To check txs in a block explorer when testing on stagenet, you can find under stagenet.thorchain.net

    4. Review & Audit

    All contracts that want to deploy on THORChain and Rujira are subject to an internal review by a core team member and an external review by an auditor. Make sure to follow the Rujira templates for README.md and Cargo.toml.

    You can find the full review process under Review and Audit Guide

    5. Setup multisig as deployer address

    Before you can deploy your audited contracts to mainnet, you will need to deploy a THORChain multisig address that will be used as the deployer address for your smart contracts.

    Find out exactly how under Setting Up a THORChain Multisig.

    6. Mainnet Deployment

    Once your contract has been thoroughly tested, it’s time to deploy it to THORChain mainnet to be live officially on Rujira. This process involves additional security checks and permissions to ensure the integrity of the contract on the network.

    See exactly how in Mainnet Deployment Guide

    README.md
    RELEASES.md

    #e53a37

    #b81c1d

    Setting Up a THORChain Multisig

    To instantiate, store and deploy contracts on Rujira, teams need to setup a multisig on THORChain. There are currently three ways to setup a multisig on THORChain:

    1. DAODAO

    2. Keplr Multisig

    3. Thornode Multisig Key

    1. DAODAO

    The preferred option to setup a multisig is using because it let's teams not just sign off on transactions, but contains a whole library of actions that satisfy all the needs a decentralised team will ever need:

    You can create a DAO on DAODAO using this link:

    2. Keplr Multisig

    THORChain is available on and hence , allowing teams to create simple multisigs to sign off on THORChain transactions:

    You can create a Keplr Multisig using this link:

    Consider using only individual Keplr wallets that are connected to Ledger hardware wallet to add an extra level of security to the Keplr Multisig.

    3. Thornode Multisig Key

    This guide walks you through the complete process of creating and using a multisig wallet on THORChain, including the installation of thornode, setting up the multisig key, generating and signing transactions, and finally broadcasting them.

    This guide has been prepared with love by the team ❤️

    Special Instructions for macOS Users

    If you're on macOS, you may encounter issues with default versions of tools like awk, sed, and find, which are not GNU-compliant. To fix this:

    1. Install the GNU versions of the required utilities using Homebrew:

    1. Add the GNU versions to your PATH. Add the following lines to your shell config (~/.zshrc or ~/.bash_profile):

    Then run:

    1. Update Go to the required version (at least Go 1.23.4):

    Verify with:

    Once all is set up, you're good to go with make install.


    Prerequisites

    Each member of the multisig must:

    • Have access to a local terminal.

    • Install thornode.

    • Share their public key with the group.

    • Be able to sign and submit transactions individually.


    Step 1: Install thornode

    Install the Thorchain CLI binary on your machine:

    This installs the thornode binary in your $GOPATH/bin. Make sure it's in your system path.


    Step 2: Generate and Share Public Keys

    Each participant should create a new key (if they don't already have one):

    Then export your public key:

    Share this public key with all other members.

    To import a public key shared by another participant, use:

    Once you have everyone's pubkeys imported, you can create the multisig key.


    Step 3: Create the Multisig Key

    Each participant must locally create the multisig key with the same set of public keys and threshold:

    Example:

    ⚠️ This must be done identically by all participants.


    Step 4: Generate the Transaction (Only Once)

    One participant prepares a transaction to send 1 RUNE and exports it to JSON (leave some RUNE for paying the fee):

    This transaction file is then shared with all multisig participants.


    Step 5: Each Participant Signs the Transaction

    Each participant signs the transaction using their own key and the multisig key:

    Everyone sends their sig-<your-name>.json file to the coordinator.


    Step 6: Combine Signatures and Broadcast

    One person aggregates the signatures and broadcasts the final signed transaction:


    Final Step: Test It

    Once the multisig address is finalized and funded, you can test the setup by executing a multisig transaction that sends 1 RUNE to a known address as shown above.


    Summary

    • Every member installs thornode, generates their key, and shares the pubkey.

    • All members must create the same multisig locally.

    • One person creates the transaction; everyone signs.

    • The final signed transaction is broadcast by one member.

    Understanding Secured Assets

    To understand how Rujira is the App Layer built on THORChain, please refer to the THORChain Docs, where the assets that tie the base layer (THORChain) together with the app layer (Rujira) are referred to as Secured Assets.

    Secured Assets enable users to deposit Layer1 (L1) tokens (e.g., Bitcoin, Ethereum) into THORChain, minting corresponding tokens that can be used on Rujira and across the THORChain ecosystem. These assets offer fast, efficient trading and transfer options and are designed to integrate seamlessly with CosmWasm smart contracts and connect to other IBC-enabled chains.

    Key Features of Secured Assets

    • Backed by L1 Deposits: Users deposit L1 tokens like BTC into THORChain's decentralized Asgard Vaults, which mints a corresponding Secured Asset (e.g., BTC-BTC). These Secured Asset tokens represent a share of ownership of the underlying L1 assets in the vault. The Asgard Vaults are secured by Threshold Signature Schemes (TSS) with the private keys split among ~100 independent node operators that churn every 3 days.

    • Fungible and Transferrable: Secured Assets are easily transferred between accounts or sent across IBC to other chains, enabling cross-chain trading and interoperability.

    • App Layer Use (Rujira): Within Rujira, Secured Assets can be used for trading, swapping, and interacting with decentralized apps (dApps) like limit orders, lending, or liquidity provision.

    • Efficient Arbitrage: Secured Assets allow traders (especially bots) to perform faster, more capital-efficient arbitrage compared to synthetics, adjusting market prices with less capital.

    • No wrapping or third-party bridges: Secured Assets remove all dependency to third-party bridges (e.g. Axellar, Gravity) and wrapping by centralized intermediaries (e.g. wBTC by BitGo, cbBTC by Coinbase), enabling access to DeFi with native assets from all connected chains.

    Flow: Using Secured Assets on Rujira

    How Secured Assets Work on Rujira

    1. Deposit: Users deposit L1 tokens (e.g., BTC) into THORChain's decentralized Asgard Vaults, creating a corresponding Secured Asset.

    2. Representation: The Secured Asset represents shares in the pool of deposited L1 tokens.

    3. Trading and Swapping: On Rujira, users can trade or swap Secured Assets (e.g., BTC-BTC) quickly and efficiently, without Layer1 fees.

    Security

    Secured Assets are backed by L1 deposits but are separate from THORChain liquidity pools. To maintain security:

    • TVL Check upon minting ensures that there is sufficient security budget to accommodate more Secured Assets.

    • Incentive Pendulum can ensure the total value of L1 assets (including Secured Assets) does not exceed the security provided by bonded nodes. This feature is optional and controlled by a Mimir parameter 'PendulumUseVaultAssets'. By default, Secured Assets are "optimistically secured" by THORChain validators (they are not inside the Incentive Pendulum). Secured Assets make THORChain nodes money from App Layer fees, that is how they pay for their security.

    Using Secured Assets in Rujira

    Minting Secured Assets

    To mint Secured Assets, users send L1 tokens with a specific memo to THORChain’s vault. The asset is then converted into a Secured Asset.

    Example:

    Swapping and Trading

    On Rujira, Secured Assets can be swapped or traded like any other token, enabling quick and low-fee transactions.

    Example:

    Withdrawing Secured Assets

    Users can convert their Secured Assets back into L1 tokens by sending a withdrawal memo, receiving the equivalent L1 token (e.g., Bitcoin) based on their Secured Asset balance.

    Example:

    Transaction Flow

    To understand the the interactions between smart contracts on Rujira and the base layer L1 pools on THORChain, there are essentially two ways to call a contract:

    • Path 1: Layer 1 Transaction + Memo

    • Path 2: THORChain Transaction Direct Execution

    Path 1: Layer 1 Transaction + Memo

    A user initiates a transaction using a Layer 1 deposit along with a memo structured as x:{contract}:{payload}. This triggers the smart contract on Rujira, executing the specified function while utilizing the funds sent in the Layer 1 transaction. The smart contract can then emit sub-messages to perform additional actions such as:

    • Swapping BTC to RUNE and bonding the RUNE with a Node Operator.

    • Depositing BTC into a lending protocol, borrowing secured USDC, and withdrawing secured USDC to say Ethereum or any other network supporting USDC.

    The execution follows the sequence dictated by the contract logic, with each step being carried out in order. Once all actions are completed, the contract returns a response to the user.

    Transaction flow using x: Memo in Layer 1 Transactions

    • User: A MsgDeposit is initiated by the user with a memo formatted as x:{contract}:{payload}.

    • L1: The L1 performs a couple of actions when a user makes a deposit:

      • TxIn: The deposit is processed async without validation by the smart contract at this stage.

    Path 2: THORChain Transaction Direct Execution

    A user interacts with the contract directly via a THORChain transaction using MsgExecuteContract { contract, msg, funds }. This method is functionally similar to the x: memo approach but offers additional capabilities:

    • The funds field allows sending THORChain-native tokens such as x/ruji, which do not have a representation in MsgDeposit notation.

    • The ability to send multiple tokens simultaneously, enabling operations like depositing x/ruji and ETH-USDC into a dual liquidity pool in a single transaction.

    Transaction flow using direct MsgExecuteContract Call

    • A user directly calls MsgExecuteContract on THORChain with { contract, msg, funds }.

    • The contract processes the message and executes multiple actions such as an asset swaps, adding liquidity, etc.

    • The L1 Pools handle swap and liquidity actions.

    Strategies - Put your assets to work

    Strategies Overview

    Q: What is Strategies? Strategies is the place where you can see all ways to earn on Rujira. It gives you simple options and more advanced ones in one clear view, including RUJI Pools automated market making strategies, Lending vaults, staking, Perp LPs and more.

    You can access Strategies at rujira.network/strategies.

    Q: What different strategies are available? The following strategies are currently available:

    1. XYK Pools

    2. Fixed-range Concentrated Liquidity Pools (soon)

    3. THORChain Continuous Liquidity Pools

    4. Lending Vaults

    5. Staking

    6. Perp LPs

    Q: What is an Automated Market Maker (AMM)? RUJI Pools is our multi-strategy Automated Market Maker. For each trading pair, it manages a stock of base asset (e.g. BTC) and quote assets (e.g. USDC), automatically placing buy and sell orders on RUJI Trade orderbook to provide liquidity. Each strategy follows a specific set of rules to define how much of each asset to buy or sell at various price levels. Each strategy generates some return in the form of a spread every time it takes a trade (i.e. sells at a slightly higher price than it bought for / buys at a slightly lower price than it sold for).

    AMM strategies democratize access to market making and allow anyone to put any two assets you are happy to get exposure to at work to generate some yield.

    Q: What makes Rujira’s AMM unique? RUJI Pools works directly with RUJI Trade, our on-chain orderbook DEX. Liquidity from each strategy is placed into the orderbook in real time based on each strategy rules.

    Rujira's unique design separates the DEX (RUJI Trade) from the multi-strategy AMM (RUJI Pools) with all strategies adding liquidity to the same orderbook, resulting in deeper markets for traders, while offering multiple opportunities with different risk profiles for everyone to become a market maker.

    Strategies - AMM/XYK

    Q: What is an XYK pool? An XYK pool is a market-making strategy that keeps a 50/50 balance between two tokens (for example, BTC and USDC).

    When one token goes up in price, the strategy automatically sells some of it and buys the other, earning small profits from these price movements.

    This approach reduces downside risk compared to simply holding the tokens when price goes down, but it also lowers upside gains when price goes up. It’s a powerful tool for people who want steady returns with less volatility.

    You can access XYK Pools here: For more details, see the XYK strategy .

    Q: How can I open a position? Go to the Strategies page, filter by XYK, choose a strategy, enter the amount you want to provide, and sign the transaction.

    Q: What is impermanent loss? Impermanent loss (IL) is the reduction in value that happens when the prices of the two tokens you provided to a liquidity pool move apart, leaving you with less total value than simply holding them separately. Because an XYK pool automatically rebalances to a 50/50 target ratio, it sells some of the token that goes up in price and buys more of the one that goes down. If prices do not return to where they were when you entered, you end up with more of the underperforming token and less of the outperforming token, making the value of your position lower than if you had simply held the two tokens separately.

    If volumes have been good during the period, the fees you generated by providing liquidity should more than offset the IL. If prices come back to their level at the time you opened your position, the IL will be reverted and the trading fees you earned will be pure profit.

    Strategies - AMM/Fixed-range Concentrated Liquidity

    Q: What is a Fixed-range Concentrated Liquidity pool? A Fixed-range Concentrated Liquidity (FCL) pool lets you provide liquidity within a specific price range instead of across the entire market.

    This means your capital works more efficiently: you earn higher fees when trading happens inside your chosen range.

    The tighter your range, the more volumes you will facilitate while price is inside your range and the more fees you will earn. The downside is that the tighter your range, the more likely price will move outside and you will be left holding the underperforming asset and not generating yield while price is out.

    Finding the range that works for you depends on your time horizon and what your prospective view on the two tokens prices is. Taking the example of a BTC/USDC FCL position, a helpful way to think about it is to ask at which price you would be happy to be holding 100% BTC, and at which price you would be happy to be 100% in USDC.

    Let’s say current price is $90,000 and you looked at the charts and believe it’s unlikely BTC will drop below $70,000, or go above $150,000 this cycle, which is the time horizon over which you plan to hold this position. Those would be the two limits of your range, it means you are happy to keep buying BTC with USDC till it drops to $70k and then have 100% of your position in BTC, or keep selling BTC for USDC till it reaches $150k and then have 100% of your position in USDC. Meantime, you are collecting fees on the trading volumes generated by your position, making money on volatility as long as the price stays in your range.

    You can access CL Pools here: [coming soon].

    For more details, see the FCL strategy .

    Q: How can I open a position? Go to the Strategies page, filter by FCL, choose a pair for which you want to provide liquidity, enter how much you want to provide and your range, and sign the transaction.

    Q: What is impermanent loss? Impermanent loss is the reduction in value that happens when the prices of the two tokens you provide move apart, leaving you with less total value than simply holding them separately.

    With fixed-range concentrated liquidity, your funds are active only within the price range you set. As the market moves within your range, the strategy sells the outperforming token to buy the underperforming token, making the value of your position lower than if you had simply held the two tokens separately.

    If the price moves outside your range, your position becomes fully one-sided, and the loss becomes larger if the price never returns. This means impermanent loss is amplified for FCL positions compared to a standard XYK LP, but the yield is also much higher as long as the position remains in range.

    Strategies - AMM/THORChain Continuous LP

    Q: What is a THORChain Continuous Liquidity Pool? A Continuous Liquidity Pool (CLP) provides liquidity to THORChain’s native pools, which pair tokens with RUNE using a constant product AMM model (XYK) and a dynamic slip-based fee. It works similarly to the XYK strategy on Rujira but directly on the THORChain base layer.

    You earn yield from:

    • Slip-based fees, which increase with trade size

    • A share of Rujira’s revenue that is sent to THORChain

    Rewards are split between liquidity providers (LPs) and THORChain node operators based on the Incentive Pendulum*.

    You can access Continuous LPs here: For more details, visit the Continuous LP docs:

    *Incentive Pendulum: a system that dynamically balances rewards between THORChain’s liquidity providers and node operators to keep the network healthy.

    Q: How can I open a position? Go to the Strategies page, filter by Continuous LP, choose a pool, enter the amount you want to provide, and sign the transaction.

    Q: What is impermanent loss? Impermanent loss is the difference in value between providing liquidity and simply holding your assets, caused by price movements between the two tokens in the pool.

    With THORChain’s Continuous Liquidity Pool (CLP) model, the pool automatically rebalances your assets as prices move to keep the value of each side at 50/50. When one asset increases in price relative to the other, the pool sells some of it into the other asset to keep the pool balanced. Over time, this leaves you with more of the asset that underperformed and less of the one that outperformed.

    THORChain reduces the impact of impermanent loss through its fee structure. Swappers pay liquidity fees, and those fees go directly to LPs. When the pool is active and swap volume is high, these fees can offset or even exceed impermanent loss. If prices never return to where they were when you entered, the difference between the LP value and the hold value becomes your impermanent loss.

    Strategies - Lending

    Q: What are Lending Vaults? Lending vaults are where all assets from lenders are pooled together. For example, all BTC deposited by lenders is combined in a single BTC lending vault, and borrowers can take loans directly from that shared pool.

    You can access them here:

    Q: What happens to the assets that I lend out? Your assets are added to the lending vault and combined with those from other lenders. When someone borrows that token, it comes from this shared vault, and the interest paid is split pro-rata among all lenders.

    Q: Can I always withdraw my assets? You can withdraw your assets as long as they are not currently borrowed. If most of the vault’s assets are being borrowed (high utilization rate*), you may need to wait until some borrowers repay or new lenders add more liquidity.

    *Utilization rate: the percentage of total deposited assets that are currently borrowed.

    Q: How is the lending rate determined? The lending rate depends on the utilization rate:

    • When more of an asset is borrowed, or when some lenders withdraw from the vault, the rate goes up.

    • When borrowing demand is low, or when more lenders deposit into the vault, the rate goes down.

    This market driven mechanism helps balance supply and demand and keep interest rates in line with the broader DeFi market, attracting borrowers when there is an excess supply and rates are low, and attracting lenders when there is an excess demand and rates are high.

    Strategies - Staking

    Q: What is staking? Staking lets you deposit your token in a smart contract (sometime with a lock up period) to earn rewards over time. It’s a simple way to support the network and earn passive income.

    You can access staking here:

    For more details, visit the staking .

    Q: What tokens can be staked? You can currently stake the following tokens:

    • $RUJI

    • $TCY

    • $AUTO (soon, currently available )

    • $LQDY (soon, currently available )

    Q: What is the difference between Standard and Auto-Compounding staking?

    • Standard staking: You earn rewards (usually in $USDC) which you can claim whenever you want.

    • Auto-compounding staking: Your rewards are automatically used to buy more of the same token, which increases your staked balance over time.

    Example: If you stake $RUJI, you normally earn $USDC rewards. With auto-compounding turned on, your $USDC is automatically used to buy more $RUJI, which is added to your stake.

    Q: Is there an unstaking period? Staking might be subject to an unstaking period during which you have to wait after signaling your intention to unstake, before you can access to your tokens:

    • $RUJI: No unstaking period (instant).

    • $TCY: No unstaking period (instant).

    • $AUTO: 14-day unstaking period.

    • $LQDY: 7-day unstaking period.

    Strategies

    The page acts a repository showing earning opportunities across the ecosystem, both Automated Market Making strategies for RUJI Trade orderbook (provided by ), and opportunities such as , staking, providing liquidity for , or strategies provided by other ecosystem projects. This list will be updated as more protocols roll out and more opportunities become available.

    Before making a deposit, make sure to read the and understand the risks. Rujira is a suite of open-source, permissionless, non-custodial smart contracts—we simply provided tools, not financial advice or advice of any sort. Use the tools at your own risk.

    Automated Market Making (AMM) Opportunities

    Review and Audit Guide

    This page outlines the audit and review process required before deploying contracts and applications to THORChain mainnet.

    Review Process

    Before any deployment to mainnet, all contracts go through a structured review and audit process from stagenet to mainnet. This involves technical verification, governance-level review, and clear communication of the code’s purpose and security posture.

    #[cfg(test)]
    mod tests {
        use super::*;
        // Your test cases here
    }
    cargo test
    cargo test --features multitest
    Local Deployment Guide
    how to deploy on Stagenet with THORChain's Dev docs
    Stagenet Deployment Guide
    https://rujira.network/strategies?filters=BowPoolXyk
    docs
    docs
    rujira.network/strategies?filters=ThorchainPool
    https://docs.thorchain.org/technical-documentation/thorchain-finance/continuous-liquidity-pools
    rujira.network/strategies?filters=GhostVault
    rujira.network/strategies?filters=StakingPool
    docs
    here
    here
    XYK Strategy

    The XYK strategy uses a pricing and order sizing algorithm replicating the standard XYK (constant product) logic used by a traditional AMM-DEX like Uniswap v2, but tailored for an orderbook DEX.

    The strategy looks to maintained a 50/50 balance (in term of dollar value) between the two tokens in the pair (e.g. BTC/USDC). This means, as prices move, the strategy is selling the outperforming token (e.g. BTC) and buying the underperforming token (e.g. USDC). As prices reverse, the strategy automatically rebalance towards the initial state, but it buys back the (now underperforming) token (e.g. BTC) at a slightly lower price than what it was sold for. The difference (spread) between the price the token was sold for and the price it was bought back at, multiplied by the quantity bought/sold, net of RUJI Trade maker fee, represents the market making profit of the strategy. The return generated is automatically compounded inside the LP.

    The XYK strategy can be thought of as a 50/50 index composed of two tokens that generates some yield when there is volatility. It lowers the risk of underperformance to the downside vs. a simple buy & hold strategy, but it also lowers the upside potential. An XYK strategy with half of the LP in stablecoin is a good alternative to buy & hold for the more risk-adverse profiles willing to sacrifice upside potential to mitigate downside risk.

    • Example: To understand the XYK Strategy's risk profile, let's look at a few scenarios:

      • At T=0: BTC trades at $100k, Alice and Bob have each $100 to invest, Alice uses the full amount to buy BTC; Bob puts it into a BTC/USDC XYK LP ($50 in BTC paired with $50 in USDC).

      • At T = 1: BTC price has dropped by -20% to $80k. Alice's buy & hold positon is now down by -20% at $80, tracking BTC loss perfectly. Thanks to the XYK strategy, Bob's LP position is only down by -10.6% at $89.4 (excluding yield); on top of that, the position generated ~$2 in market making profits, putting Bob's total position value at $91.4, down -8.6% only, doing significantly better than Alice and her buy & hold strategy in a bear market scenario.

      • At T = 2: BTC price has bounced back by +50% to $120k. Alice's buy & hold positon is now worth $120, up +20% vs. entry, tracking BTC gains perfectly. Bob's LP position is now worth $109.5 (excluding yield) and generated another ~$2 of yield bringing the total position value to ~$113.5, also up, but only +13.5% vs. entry. In a bull market scenario, the XYK strategy is still performing well, but not as good as Alice and her buy & hold strategy.

    • Key Risk: Impermanent Loss (IL) is the loss in the LP value due to the change in quantity of token X and Y during a given period, due to the AMM selling the outperforming token and buying the underperforming one. This loss is in addition to price gain/loss due to the change in prices, assuming the quantity of token X and token Y in the LP had remained the same. The loss is called "impermanent" because it reverses if prices come back at the level they were at the time of deposit. It is commonly presented as a risk in DeFi, but it's actually a powerful feature if you don't want to time the market for your entry and exit.

    THORChain CLP Strategy

    Provides liquidity to THORChain Continuous Liquidity Pools paired with RUNE on the Base Layer, using a constant product (XYK) bonding curve. Benefits and risks are similar to those of the XYK Strategy on the App Layer. Yield is generated from a dynamic slip-based fee, which increases alongside the size of the swaps relative to the total liquidity in the pool. LPs in the pools also receive a share of the Rujira revenue that is sent to THORChain. The slip-based fee and Rujira's revenue are distributed between LPs and THORChain Node Operators depending on the state of the Incentive Pendulum. The share going to LPs is then distributed between each pool proportionally to their contribution to the total slip-based fees. More info: https://docs.thorchain.org/thorchain-finance/continuous-liquidity-pools

    Base Layer Virtualization Strategy

    The strategy does not require any external liquidity providers to run as it relies on just-in-time borrowing from the Lending vaults to fill the quotes. Profits from the strategy are accumulated into the contract and act as a Security Fund that could be use to cover bug bounties and potential exploits up to the amount available in there.

    Concentrated Liquidity Strategy

    Coming soon...

    Other Core Opportunities

    Lending Vaults

    Generate passive returns by lending your crypto assets, with a relatively low risk profile (all loans are overcollateralized) and no exposure to Impermanent Loss. The yield comes from borrowers which are charged an interest rate every block based on the utilization rate of the borrowed asset compared to the total supplied available for lending.

    Perps Liquidity Provisioning

    Provide liquidity to the RUJI Perps protocol and earn yield for doing so.

    Deposits are used by traders as counter-collateral for their positions. In return, you receive LP or xLP tokens that generate yield which comes from fees paid by traders. These are the APRs you see displayed for each liquidity pool.

    LP tokens that are not currently locked in trader positions may be redeemed immediately for the liquidity that you provided.

    Redeeming xLP tokens takes 45 days from when you submit the request—these tokens unlock linearly over this time period, and you receive the APR from LP tokens on the full amount.

    Once you have accrued yield, you may withdraw it at any time directly to your wallet or reinvest it to earn additional yield.

    • Key Risk: Deposits are not risk-free. When traders win, counter-collateral is removed from the liquidity pool and LP/xLP tokens lose value. But when traders lose, your LP/xLP tokens increase in value. This is referred to as impairment.

    Staking

    RUJI

    Stake RUJI to earn a share of Rujira core protocols revenue. Stakers got two options with revenue shared 50/50 between each:

    1. Single-sided RUJI staking: Get a share of 50% of Rujira protocols revenue with pure exposure to RUJI and no Impermanent Loss risk.

    2. RUJI/RUNE LP staking (pending): Get a share of 50% of Rujira protocols revenue with a dual exposure to RUJI and RUNE. Staking with a LP token means your are taking Impermanent Loss risk, but you will also earn a share of the trading fees in the RUJI/RUNE LP.

    For each option, tokens can be staked to earn claimable USDC, or set to auto-compound, buying & staking more RUJI (or RUNE/RUJI LP) with the USDC rewards automatically.

    Users opting for the auto-compound option receive sRUJI (or sRUJI/RUNE LP), a liquid representation of their share in the strategy that can be redeemed for RUJI (or RUJI/RUNE LP) at any time.

    TCY

    Stake TCY and earn 10% of THORChain revenue distributed in RUNE once every 24 hours.

    Users can chose the TCY AutoCompounder built by AutoRujira to passively grow their TCY holdings by automating the reinvestment of rewards. Rewards are sent directly to the smart contract which converts the RUNE into more TCY via RUJI Trade and redistributes it to depositors — compounding their position over time.

    Users opting for the auto-compound option receive sTCY, a liquid representation of their share in the strategy that can be redeemed for TCY at any time.

    AUTO

    Coming soon...

    LQDY

    Coming soon...

    Indexes

    yRUNE (The Yield Bearing RUNE Index)

    yRUNE combines RUNE (~80%) and TCY (~20%) into one asset using RUJI Index's vault infrastructure. It is the first liquid RUNE based asset that also captures yield from THORChain system income. With RUJI Index's rebalancing engine, yRUNE constantly rebalances the underlying RUNE and TCY to capture price swings and market inefficiencies while taking advantage of TCY generated fees.

    Deposit into yRUNE are always made from RUNE, and redemption always to RUNE.

    yTCY (The Yield Bearing TCY Index)

    yTCY combines TCY (~80%) and RUNE (~20%) into one asset using RUJI Index's vault infrastructure. It is designed to track the performance of both RUNE and TCY, with a strategic overweight on TCY to maximize yield potential. With RUJI Index's rebalancing engine, yTCY constantly rebalances the underlying TCY and RUNE to capture price swings and market inefficiencies while taking advantage of TCY generated fees.

    Deposit into yTCY are always made from TCY, and redemption always to TCY.

    RJI (Rujira Index)

    The Rujira Index (RJI) is a basket of tokens native to THORChain that tracks the performance of the App Layer economy. It currently comprises 5 components (RUNE, RUJI, TCY, LQDY and AUTO, with more to be added as the ecosystem growth) combined into one asset using RUJI Index's vault infrastructure. It is intended to capture Rujira ecosystem growth as a whole. The index does not auto-rebalance; therefore, it is designed to continuously overweight the top performers and underweight the underperformers.

    Deposit into RJI are always made from USDC, and redemption always to USDC.

    Strategies
    RUJI Pools
    Lending
    Perps trading
    Terms & Conditions

    The process ensures security and collective review before execution.

    daodao.zone
    https://daodao.zone/dao/create?chain=thorchain-1
    Keplr Wallet
    Keplr Multisig
    https://multisig.keplr.app/account/register/create
    AutoRujira
    Smart Contracts: Secured Assets interact with dApps on Rujira via CosmWasm, enabling features like limit orders, lending, or liquidity provisioning.
  • Withdraw: When users want to convert back to L1 tokens, they can withdraw their Secured Assets for an equivalent amount of the original token (e.g., Bitcoin).

  • Mint Secured Asset: Mint x/bank token based on the user deposit

  • The contract is called when required, executing the necessary actions once prior steps are complete.

  • TxOut generates output upon LP token minting.
  • The smart contract handles final steps such as staking LP tokens.

  • The contract then returns a response to the user.

  • Drawing
    Drawing
    brew install coreutils binutils diffutils findutils gnu-tar gnu-sed gawk grep make
    # GNU utils for macOS
    export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
    export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
    export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
    export PATH="/usr/local/opt/gawk/libexec/gnubin:$PATH"
    source ~/.zshrc  # or source ~/.bash_profile
    brew upgrade go
    go version
    git clone https://gitlab.com/thorchain/thornode.git
    cd thornode
    TAG=mainnet make install
    thornode keys add <your-key-name>
    thornode keys show <your-key-name> -p
    thornode keys add <other-key-name> --pubkey <their-public-key>
    thornode keys add <multisig-key-name> --multisig=<comma-separated-pubkeys> --multisig-threshold=<N>
    thornode keys add multisig-xx --multisig=pubkey1,pubkey2,pubkey3 --multisig-threshold=2
    thornode tx bank send <multisig-key-name> <destination-address> 1000000000rune --generate-only --chain-id thorchain-1 > tx.json
    thornode tx sign tx.json \
      --from <your-key-name> \
      --multisig <multisig-key-name> \
      --node https://rpc.ninerealms.com:443 \
      --chain-id thorchain-1 \
      --output-document sig-<your-name>.json
    thornode tx multi-sign tx.json <multisig-key-name> sig-1.json sig-2.json ... --chain-id thorchain-1 --node https://rpc.ninerealms.com:443 > signed.json
    
    thornode tx broadcast signed.json --chain-id thorchain-1 --node https://rpc.ninerealms.com:443
    Step 1: Deposit L1 Tokens ➡ Mint Secured Assets ➡ Trade or Swap on Rujira ➡ Withdraw L1 Tokens
    S+:thor1... (BTC-BTC added)
    =:BTC-BTC:thor1... (Swap BTC-BTC to another asset)
    S-:bc1... (Withdraw BTC)

    Your Telegram handle

  • Estimated timeline

  • Team size

  • Once confirmed, we’ll mark the idea as “In Progress” and offer support where possible.

  • NA

    @PragmaticMonkey

    In Progress, we want to welcome much more teams

    Alternative Frontends

    Integrate Rujira in your own frontend

    Build your own frontend for any of the Rujira core products, no need to worry about protocol mechanics and bootstrapping liquidity, use our smart contract in the backend and focus on providing a great UX and marketing it to your audience. Monetize with our upcoming referral and affiliate model: https://gitlab.com/thorchain/rujira/-/issues/11

    NA

    @jp_labs

    Permissionless

    Options

    Option Trading

    If you are an individual contributor with a strong understanding of the option market looking to join the Rujira Alliance to accelerate the development of the Option vertical (category 1), reach out! We are not looking for large teams or dev shops, just a very competent individual with a clear vision and the drive to lead this vertical. Otherwise we will build it ourselves.

    https://docs.rujira.network/core-products/ruji-options

    @PragmaticMonkey

    Free

    Yield tokenization

    Yield tokenization on top of Rujira core primitives

    Build yield tokenization products on top of Rujira core yielding primitives (lending, staking, AMM strategies, etc.). Allow people to swap a variable interest rate for a fixed rate over a given period. If you have the vision and skills, let’s connect! You could launch as an independent valued-added project building on top of core verticals (category 2).

    NA

    @PragmaticMonkey

    Free

    RWA

    Tokenization of RWA via VNFTs

    Build on top of our upcoming VNFT standard to tokenize some Real World Assets. Understand what’s possible, surprise us with original ideas. You could launch as an independent valued-added project building on top of core verticals (category 2).

    https://gitlab.com/thorchain/rujira/-/tree/nft/contracts/rujira-vnft

    @PragmaticMonkey

    Free

    Games

    Mini Games

    If you are an individual contributor with experience building games and interested in joining the Rujira Alliance to contribute to the RUJI Games vertical (category 1), reach out!

    We are also interested in mini games built on top of Rujira core primitives (e.g. using high-leverage bets under the hood), in that scenario, you could launch as an independent valued-added project building on top of core verticals (category 2).

    NA

    @PragmaticMonkey

    In Progress, we want to welcome more contributors
    Rujira Builder's Paths
    Liquidation System
    1. Deploy and Test on Stagenet
    • Deploy the application and contracts to Stagenet, which is a permissionless test environment. See how to n Stagenet Deployment Guide

    • Once deployed and functional, notify a reviewer (typically Mark and/or PM) with the URL to test the application and contracts making up the application.

    Before requesting a review of your deployed contracts on Stagenet, make sure to also test the UI follows one of the following guidelines:

    • If you are building as an independent app, you will host your own UI. You are free to use Rujira UI components for convenience and to stay on theme.

    • If you are building a new core app as part of the Rujira Alliance, you will need to integrate your app into the main Rujira UI, using the Rujira.ui and Rujira.js library. Here’s a list of useful topics both

      • Rujira.js:

        • : A single provider that helps you manage the different accounts of a user and gives you the signer as well. See more about

        • : A generic representation of a message type. This can either be encoded as a L1 with a memo, base layer with a MsgDeposit, or app layer with MsgExecuteContract

      • Rujira.ui: Find official docs. A list of interesting components from rujira.ui:

        • : Fully functional button that takes a msg to be executed as an input, encodes it for the right network, signs it with the correct signer

    2. Request Review

    After successful testing on Stagenet, submit the following information in a dedicated channel on Discord to the core Rujira team including Hans and Mark:

    • Contract bytecode

    • Deployer address (generate using Setting Up a THORChain Multisig)

    • Link to the GitHub/Gitlab repo including:

      • Well-structured source code (example: )

      • in plain language describing the contract’s purpose (example:)

    Before submitting a request to review, make sure to go through the following checklist:

    • Source code matches deployed bytecode

    • Repo contains README and plain-language description

    • Code is readable, modular, and reviewed for common exploits

    • Permissions and roles (e.g., admin, cap settings) are properly scoped

    • Dependencies and external calls are reviewed

    • Contract(s) emit events that are (1) Individual and (2) Well namespaced for the contract name, see as a guiding example

    3. Technical (Internal) Review

    Once all points in the general checklist above has been completed, then and only then ping Mark in the dedicated channel to doublecheck, before Hans starts an internal review of the contracts

    • Verifying that the submitted hashes match the deployed bytecode on stagenet

    • Ensuring that dependencies (e.g., imported CosmWasm libraries) and compiler versions are explicitly locked to prevent mismatches or compilation inconsistencies.

    • Helping setup deployer address on a THORChain multisig if needed

    4. Auditor (External) Review

    Once you’ve gone through the interval review process, your contracts are ready for an external review by an auditor. This includes:

    • Get in touch with Mark giving a status after the technical review and the latest commits + repos that an auditor should review.

    • Mark will find a suitable and reliable auditor for your contracts. Depending on the type of contracts, the Rujira team might help you fund part or all of the audit costs.

    • Once an auditor is found, a dedicated group chat with the auditor is set up with the start and delivery date of the audit.

    The role of the auditor is to

    • Ensure the contract logic is aligned with the provided source code and documentation.

    • Assessing security vulnerability such as: Reentrancy, Integer overflows/underflows, Denial of service (DoS), Front-running and MEV exposure, Insecure randomness sources

    • Check for best practices in access control, rate-limiting, caps, and upgradability. Note that contracts involving sensitive logic (e.g., admin roles, asset caps) must include appropriate control mechanisms.

    5. Request Permissions for Mainnet

    Once both internal and external review has been completed, submit a MR to THORNode with all the information listed below to obtain permissions for contracts to go live on THORChain mainnet. Example: RUJI Perps Permission MR

    • Contract bytecode

    • Deployer address (generate using Setting Up a THORChain Multisig)

    • Link to the GitHub/GitLab repo

    • Link to most recent audit of the code (example: RUJI Perps audit)

    6. Final Approval

    • Members of ThorSec/9R performs the final review, assessing overall project readiness, risk exposure and any potential node operator / governance concerns.

    • Upon approval, the application is listed in RELEASES.md with commit id, checksum value and audit link, contracts are ready for mainnet deployment following Mainnet Deployment Guide

    THORChain upgrades in 3-week cycles, which means new contracts that have been approved will be slotted into the next upgrade. Upgrades to the network take effect when supermajority has been reached (⅔). You can find the version number, how old the current version is, and follow how many nodes upgraded on https://thorchain.net/network and https://thorchain.net/network/votes

    Files · staging · THORChain / Rujira UI · GitLabGitLab

    IconDenom: Renders the icon for any token

    Account Provider
    Implementation Main Rujira Page
    Msg interface
    Individual Msg types
    here
    Displaying / Handling Decimals
    Tabs
    TxButton
    RUJI Trade
    README.md
    Rujira Merge Contracts
    contracts/rujira-fin/src/events.rs

    Stagenet Deployment Guide

    Prior to diving into stagenet deployment, make sure to follow the Local Deployment Guide.

    Below is a practical guide on how to get started deploying to THORChain’s stagenet, taking inspiration from our friends at Nami Protocol who made a similar Devnet Deployment Guide.

    It covers the steps from installing and setting up the daemon to connecting to different chain environments, gettings funds on stagenet, and provides a broad overview of Rujira.JS & Rujira.UI.

    Install the thornode daemon (macOS)

    1. After brew install golang coreutils binutils diffutils findutils gnu-tar gnu-sed gawk grep make git protobuf you need to prioritize the GNU versions and modify your PATH. You’ll find all the commands needed in the installation log of the command before. An example:

    1. Install Docker: https://www.docker.com/products/docker-desktop/

    2. Add GOBIN to your PATH.

    1. Clone Repo

    1. Install via make command

    1. Verify the correct installation

    Connect to Stagenet

    Stagenet is THORChain’s permissionless testnet, allowing you to freely test your contract(s) with real money.

    General connection

    1. Connection Details (see details in )

      1. Chain-ID: thorchain-stagenet-2

      2. RPC:

      3. API:

    Deploy a contract using sudo entry points

    To deploy a contract on stagenet, test and make sure your sudo entry points work.

    1. Generate the transaction (generate-only):

    First, create a basic MsgExecuteContract transaction using the --generate-only flag:

    1. Generate your execute msg only:

    Example: thornode tx wasm execute <contract> '<msg>' --from wallet --node https://stagenet-rpc.ninerealms.com --chain-id thorchain-stagenet-2 --generate-only > sudo_tx.json

    1. Update the generated sudo_tx.json:

    • Change the message type to "/cosmwasm.wasm.v1.MsgSudoContract"

    • Remove the sender and funds fields

    • Add the authority field

    1. Sign the json:

    1. Broadcast tx:

    Store & instantiate a contract

    1. Build and optimize your cosmwasm contract, so you have an artifact. A good starting point is this template:

    2. Store the contract:

    1. Instantiate it

    Get assets on stagenet

    Assets on stagenet are “real money” so to get assets to test, you will need to deposit real money (e.g. ATOM), swap some of it to another asset (e.g. RUNE) if you need a pair of assets to test, and then send by interacting with the different apps / contracts you want to test.

    The easiest way to deposit and swap assets on stagenet is to use , which is connected to stagenet:

    1. Deposit: Go to , connect your wallet (Keplr, Ctrl, Leap or whichever you prefer) and hit the Deposit button. You can find the stagenet thor address (sthor….) in the portfolio page:

    1. Swap: Once you’ve made a deposit, you can swap to e.g. RUNE to get on your sthor address using

    If above doesn't work, you can also get RUNE on THORChain via AVAX using below method:

    Get RUNE on THORChain Stagenet from AVAX on Avalance

    This covers a manual conversion process from AVAX on the Avalance-C chain to RUNE on THORChain Stagenet.

    1. Determine the Avalanche inbound address

    Go to this URL:

    Find the relevant section, e.g. AVAX:

    Find the address field, e.g. 0xd6a6c0b3bb4150a98a379811934e440989209db6

    2. Construct the correct message data

    Find your deposit address, e.g.: sthor1e2r98hpf3eer8pfpcrsprmrx5vpfq8jpwt06jw

    Construct a message using that address of the form: =:THOR.RUNE:sthor1egxvam70a86jafa8gcg3kqfmfax3s0m2ug8gzt

    Hex encode that string, e.g.: 3d3a54484f522e52554e453a7374686f723165677876616d37306138366a61666138676367336b71666d6661783373306d32756738677a74

    You can use any tool to hex encode data, for example this site:

    And finally, prepend 0x to that string to match MetaMask expectations: 0x3d3a54484f522e52554e453a7374686f723165677876616d37306138366a61666138676367336b71666d6661783373306d32756738677a74

    3. Configure MetaMask

    You need to ensure that the “show data” option is enabled under advanced settings:

    4. Send funds

    You can use any Avalanche-compatible wallet, but in this example we're using MetaMask. You need to set message data, which can only be done in the full screen mode. Open MetaMask and choose expand view:

    Initiate a send, and configure the destination address, token, and amount, plus the hex data from above:

    5. Confirm funds received

    Broadcast the transaction above:

    Take that transaction hash to:

    Search for that transaction hash, and you’ll find:

    Rujira REST API

    Introduction

    This document outlines the REST API endpoints available for RUJI Trade orderbook DEX and RUJI token supply, to be used by integrating partners such as CoinGecko and CoinMarketCap.

    If you need a more complete, higher performance API, we recommend using our GraphQL API available here: .

    Rujira.ui Documentationui.rujira.network
    [email protected]

    Example commands:

    PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH" echo 'export PATH="/opt/homebrew/opt/binutils/bin:$PATH"' >> ~/.zshrc export LDFLAGS="-L/opt/homebrew/opt/binutils/lib" export CPPFLAGS="-I/opt/homebrew/opt/binutils/include" PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH" PATH="/opt/homebrew/opt/gnu-tar/libexec/gnubin:$PATH" PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH" PATH="/opt/homebrew/opt/gawk/libexec/gnubin:$PATH" PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH" PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH" echo 'export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc export LDFLAGS="-L/opt/homebrew/opt/postgresql@16/lib" export CPPFLAGS="-I/opt/homebrew/opt/postgresql@16/include" // reload your shell source ~/.zshrc

    # Verify gawk is available which gawk gawk --version

    export GOBIN=$GOPATH/bin

    git clone https://gitlab.com/thorchain/thornode.git cd thornode git checkout app/rc1

    TAG=stagenet make go-generate openapi install

    thornode help

    thornode tx wasm store <wasm file> --from <account> --chain-id stage-1 --node https://stagenet-rpc.ninerealms.com/

    thornode tx wasm instantiate <code Id> <InstantiateMsg> --from <account> --chain-id stage-1 --node https://stagenet-rpc.ninerealms.com/

    Developer Endpoints
    https://stagenet-rpc.ninerealms.com
    https://stagenet-thornode.ninerealms.com
    https://github.com/CosmWasm/cw-template/tree/main
    preview.rujira.network
    preview.rujira.network/portfolio
    preview.rujira.network/swap/GAIA.ATOM/THOR.RUNE
    https://stagenet-thornode.ninerealms.com/thorchain/inbound_addresses
    https://www.hexator.com/
    https://snowtrace.io/tx/0xae863bd2b4407421ec0882d7eada20ba12cffeec8e93f7e77e22b946a952641e
    https://stagenet.thorchain.net/dashboard
    https://stagenet.thorchain.net/tx/0xae863bd2b4407421ec0882d7eada20ba12cffeec8e93f7e77e22b946a952641e
    General API Information
    • The base endpoints are available at https://api.rujira.network/api/

    • Responses are provided in JSON format.

    • Data is returned in descending order. Newest first, oldest last.

    • All time and timestamp related fields in the JSON responses are in milliseconds.

    • Timestamp parameters (e.g. start_time, end_time) must be passed in milliseconds.

    • The API has a dynamic rate limit set by Cloudflare to prevent spamming.

    RUJI Trade Orderbook DEX

    Endpoints Overview

    No.
    Endpoint
    Description

    1.

    /trade/tickers

    Market related statistics for all markets for the last 24 hours.

    2.

    /trade/orderbook

    Order book depth of any given trading pair, split into two different arrays for bid and ask orders.

    3.

    /trade/historical_trades

    Historical trade data for any given trading pair.

    Endpoint 1: /trade/tickers (Market Info)

    The https://api.rujira.network/api/trade/tickers endpoint provides 24-hour pricing and volume information on each market pair available on RUJI Trade DEX.

    Example response

    [

    {

    "ticker_id": "TCY_RUNE",

    "base_currency": "TCY",

    "target_currency": "RUNE",

    "last_price": "0.24",

    "base_volume": 0,

    "target_volume": 0,

    "pair_id": "thor12ds7fxj5g47jwzfzvzzhzxxd3cp6v55flgwxva0803r8k5mzm44skth6wa",

    "bid": "0.186",

    "ask": "0.22"

    }

    ]

    /trade/tickers endpoint response description:

    Name
    Data Type
    Description

    ticker_id

    string

    Identifier of a ticker with delimiter to separate base/target, e.g. BTC_ETH

    base_currency

    string

    Symbol/Currency code/Contract Address of a the base cryptoasset, e.g. BTC

    target_currency

    string

    Symbol/Currency code/Contract Address of the target cryptoasset, e.g. ETH (Contract address for DEX)

    last_price

    decimal

    Last transacted price of base currency based on given target currency e.g.

    1 base = X target

    Endpoint 2: /trade/orderbook (Orderbook depth details)

    The trade/orderbook/ticker_id endpoint provides orderbook information for a given market pair/ticker.

    Endpoint parameters:

    Name
    Type
    Mandatory
    Description

    ticker_id

    string

    Yes

    A ticker such as "BTC_ETH", with delimiter between different cryptoassets

    depth

    integer

    No

    Orders depth quantity: [0, 100, 200, 500...]. 0 returns full depth. Depth = 100 means 50 for each bid/ask side.

    Example query: https://api.rujira.network/api/trade/orderbook?ticker_id=BTC_USDC&depth=100

    Example response

    {

    "ticker_id": "BTC_USDC",

    "asks": [

    [

    "116329",

    "0.00157858"

    ]

    ],

    "bids": [

    [

    "115400",

    "182.89939237"

    ]

    ]

    /trade/orderbook response descriptions:

    Name
    Data Type
    Description

    ticker_id

    string

    A pair such as "BTC_ETH", with delimiter between different cryptoassets

    bids

    decimal

    An array containing 2 elements. The offer price and quantity for each bid order

    asks

    decimal

    An array containing 2 elements. The ask price and quantity for each ask order

    Endpoint 3: /trade/historical_trades (Historical Data)

    The /trade/historical_trades/ticker_id endpoint is used to return data on historical completed trades for a given market pair.

    Endpoint parameters:

    Name
    Data Type
    Mandatory
    Description

    ticker_id

    string

    Yes

    A pair such as "BTC_ETH", with delimiter between different cryptoassets

    type

    string

    No

    To indicate nature of trade - buy/sell

    limit

    integer

    No

    Example query: https://api.rujira.network/api/trade/historical_trades?ticker_id=BTC_USDC&limit=10

    Example response

    [

    {

    "trade_id": 21230,

    "price": "116659.0",

    "base_volume": "0.00128579",

    "target_volume": "150",

    "trade_timestamp": 1754571399738,

    "type": "buy"

    },

    {

    "trade_id": 21101,

    "price": "115271.58095761736",

    "base_volume": "0.00000868",

    "target_volume": "1",

    /trade/historical_trades response descriptions:

    Name
    Data Type
    Description

    trade_id

    integer

    A unique ID associated with the trade for the currency pair transaction

    price

    decimal

    Transaction price of base asset in target currency.

    base_volume

    decimal

    Transaction amount in base pair volume.

    target_volume

    decimal

    Transaction amount in target pair volume.

    RUJI Token Supply

    The /ruji/* endpoints are used to return data on the RUJI token supply.

    No.
    Endpoint
    Description

    1.

    /ruji/holders

    Top 100 wallets/holders of the RUJI token.

    2.

    /ruji/total_supply

    Total RUJI supply.

    3.

    /ruji/circulating_supply

    Current RUJI circulating supply. Calculated as total supply minus currently vesting supply.

    Example query: https://api.rujira.network/api/ruji/holders

    https://api.rujira.network/api/graphiql
    Logo
    // Query all tokens
    thornode query bank total-supply --node https://stagenet-rpc.ninerealms.com/
    
    // Execute a transaction
    thornode tx wasm execute <contract-addr> <json-msg> --from <account> --chain-id stage-1 --node https://stagenet-rpc.ninerealms.com/
    {
        "body": {
            "messages": [
                {
                    "@type": "/cosmwasm.wasm.v1.MsgSudoContract",
                    "authority": "your_wallet",
                    "contract": "your_contract",
                    "msg": your_msg
                    }
                }
            ],
            "memo": "",
            "timeout_height": "0",
            "extension_options": [],
            "non_critical_extension_options": []
        },
        "auth_info": {
            "signer_infos": [],
            "fee": {
                "amount": [],
                "gas_limit": "200000",
                "payer": "",
                "granter": ""
            },
            "tip": null
        },
        "signatures": []
    }
    thornode tx sign sudo_tx.json \
      --from wallet \
      --chain-id thorchain-stagenet-2 \
      --node https://stagenet-rpc.ninerealms.com \
      --output-document signed_sudo_tx.json
    thornode tx broadcast signed_sudo_tx.json \
      --node https://stagenet-rpc.ninerealms.com
    }
    "trade_timestamp": 1754546289060,

    "type": "sell"

    }

    ]

    base_volume

    decimal

    24 hour trading volume for the pair (unit in base)

    target_volume

    decimal

    24 hour trading volume for the pair (unit in target)

    pair_id

    string

    Contract address for the pair

    bid

    decimal

    Current highest bid price

    ask

    decimal

    Current lowest ask price

    Number of historical trades to retrieve from time of query. [0, 200, 500...]. 0 returns full history.

    start_time

    date

    No

    Start time from which to query historical trades from

    end_time

    date

    No

    End time for historical trades query

    trade_timestamp

    timestamp

    Unix timestamp in milliseconds for when the transaction occurred.

    type

    string

    Used to determine the type of the transaction that was completed.

    Buy – Identifies an ask that was removed from the order book.

    Sell – Identifies a bid that was removed from the order book.

    Logo

    Releases & Contracts

    Version
    Product
    Contract
    Commit
    Checksum
    Audit
    Metadata

    v1.0.0

    RUJI Lending

    rujira-ghost-credit

    beaa3f6558853dbc1c57bcdd1353b26ef1e88083c96973f3b3f34d25e3d36f5a

    Notes:

    • Cargo.toml (metadata): Lists all the contract's deployer addresses, commits, audits, auditors and docs

    Halborn

    Cargo.toml

    v1.1

    RUJI Trade

    rujira-fin

    306dc1e

    240a0994d37b7eb80bf2273c4224c736194160353ba6ccd9ae893eeab88794b9

    Halborn

    Cargo.toml

    v0.0.1

    RUJI Lending

    rujira-ghost-vault

    787e63b2

    74c460b811a404e36d3b9b0c3f718c2920f49bbcc15256db8fb063741e5a8475

    Halborn

    Cargo.toml

    v1.0.1

    RUJI Trade

    rujira-fin

    7cf789c3

    6eb73e0bbe8e3da2e757bff9915e96060cc36df1be46914a92bceb95e8cf7920

    Most recent audit in v1.0.0

    Cargo.toml

    v1.0.1

    RUJI Pools

    rujira-bow

    0f8e8949

    d77de081ae6440fd46cb4620d5fc9e285f2343f972edc0f70685a4b5f9f49536

    Most recent audit in v1.0.0

    Cargo.toml

    v1.2.0

    sTCY

    rujira-staking

    3b2942ba

    artifacts/checksums.txt

    Most recent audit in v1.0.1

    Cargo.toml

    v0.1.2

    RUJI Perps

    levana-perpswap-cosmos-market

    c3c3f3d

    e38323078cecadcaef2293c1ffef31e593c760d597a127778b39039928ae6179

    Most recent audit in v0.1.0

    Cargo.toml

    v1.2.0

    $RUJI

    rujira-staking

    c8f91e69

    artifacts/checksums.txt

    Most recent audit in v1.0.1

    Cargo.toml

    v0.1.0

    RUJI Perps

    levana-perpswap-copy-trading

    85bd6c1

    490edc0f489111fe3c99ae783b2f5c9c1b5e414f84c93e30cadce74fad014342

    FYEO

    Cargo.toml

    v0.1.0

    RUJI Perps

    levana-perpswap-cosmos-copy-trading

    85bd6c1

    490edc0f489111fe3c99ae783b2f5c9c1b5e414f84c93e30cadce74fad014342

    FYEO

    Cargo.toml

    v0.1.0

    RUJI Perps

    levana-perpswap-cosmos-countertrade

    85bd6c1

    7b2a303549b6e96cdeecaaabb40f862faae7d6f7c079fe28e12da2576caae856

    FYEO

    Cargo.toml

    v0.1.0

    RUJI Perps

    levana_perpswap_cosmos_cw20

    85bd6c1

    db05c070060945d2e1117ea743bec96917d3bf5fb6d5d07ea766f6991d100fd9

    FYEO

    Cargo.toml

    v0.1.1

    RUJI Perps

    levana-perpswap-cosmos-factory

    85bd6c1

    67db51fd0f33477090239930d3e6e4dc29a4175abc59cd2569f515e573083d83

    FYEO

    Cargo.toml

    v0.1.1

    RUJI Perps

    levana-perpswap-cosmos-faucet

    85bd6c1

    d82c0fb47fde35781818fa49e2ae9e441ec9cd298f7c11fb896530792eb8995c

    FYEO

    Cargo.toml

    v0.1.1

    RUJI Perps

    levana-perpswap-cosmos-liquidity-token

    85bd6c1

    f48d1c4c4bd4c129f421b7026f82614f3ed30759066185f678da7854f61e820a

    FYEO

    Cargo.toml

    v0.1.2

    RUJI Perps

    levana-perpswap-cosmos-market

    85bd6c1

    fe632b2fde3771d2774ab4df619920ea14df3a99a05e4b09420229cb56c33701

    FYEO

    Cargo.toml

    v0.1.1

    RUJI Perps

    levana-perpswap-cosmos-position-token

    85bd6c1

    c654a041bb05201afa7a973a1cfc5a1dc8bfc6f9af1f0f614ac8478a47f61ea5

    FYEO

    Cargo.toml

    v0.1.1

    RUJI Perps

    levana_perpswap_cosmos_tracker

    85bd6c1

    8d0e2afb763c5e7d9d55a56ecc19eb2d9aa6eac20b66541ef117b0d3caff05a9

    FYEO

    Cargo.toml

    v1.0.0

    RUJI Index

    nami-index-nav

    3efb870

    e452f0568a1d73f4fb1a61f37df4c19ddd3cf48938fca39f3fb23022d4ddc8dc

    Halborn

    Cargo.toml

    v1.0.0

    RUJI Index

    nami-index-fixed

    3efb870

    35af30fea124e7136c103048095318f89dbdbfe290015ed2c2aa88ed324488d9

    Halborn

    Cargo.toml

    v1.0.0

    RUJI Index

    nami-index-entry-adapter

    3efb870

    e9927b93feeef8fd2e8dcdca4695dddd38d0a832d8e62ad2c0e9cf2826a4f61a

    Halborn

    Cargo.toml

    v1.0.0

    RUJI Index

    nami-affiliate

    3efb870

    223ea20a4463696fe32b23f845e9f90ae5c83ef0175894a4b0cec114b7dd4b26

    Halborn

    Cargo.toml

    v1.0.1

    $RUJI

    rujira-mint

    25252ec5

    artifacts/checksums.txt

    patch from 1.0.0 for TokenFactory

    Cargo.toml

    v1.0.0

    RUJI Trade

    rujira-fin

    80b48edd

    artifacts/checksums.txt

    Halborn

    Cargo.toml

    v1.0.0

    RUJI Pools

    rujira-bow

    80b48edd

    artifacts/checksums.txt

    Halborn

    Cargo.toml

    v1.1.0

    $RUJI

    rujira-revenue

    80b48edd

    artifacts/checksums.txt

    Halborn

    Cargo.toml

    v1.0.1

    $RUJI

    rujira-staking

    80b48edd

    artifacts/checksums.txt

    Halborn

    Cargo.toml

    v1.0.1

    $RUJI

    rujira-merge

    80b48edd

    artifacts/checksums.txt

    patch from 1.0.0

    Cargo.toml

    v1.0.0

    $RUJI

    rujira-mint

    52716f6b

    artifacts/checksums.txt

    create 1.0.0

    Cargo.toml

    v1.0.0

    $RUJI

    rujira-merge

    artifacts/checksums.txt

    Zellic

    Cargo.toml

    v1.0.0

    $RUJI

    rujira-revenue

    artifacts/checksums.txt

    Zellic

    Cargo.toml

    v1.0.0

    $RUJI

    rujira-staking

    artifacts/checksums.txt

    Zellic

    Cargo.toml

    9989bb5