Ninjucks Docs

Ninjucks Docs

A unified swap interface for Injective. One place to route swaps across Injective's DEX liquidity — with a floor you set, settled in a single transaction.

Introduction

Ninjucks routes a swap through Injective's on-chain DEX liquidity, enforces the minimum amount you're willing to receive, and settles the whole thing atomically — if it can't meet your floor, the transaction reverts and nothing moves.

We come from the Cardano community and are exploring an IBC interface between Cardano and Injective. Ninjucks is the first milestone: a simple, transparent swap layer to build that cross-chain flow on.

How it works

At a high level, every swap is one signed transaction:

  1. You choose a pair and an amount. Ninjucks quotes the expected output from the live orderbook.
  2. You set a max slippage; that becomes a hard minimum-receive floor.
  3. You sign. The aggregator routes the swap through a venue, checks the output clears your floor, and pays it to you — all in the same transaction.
  4. If the output would fall below your floor, the transaction reverts. You keep your funds.

Quickstart

  1. Open the app and pick a network (Testnet is live).
  2. Connect a wallet — Keplr, MetaMask, Rabby, or Brave.
  3. Pick the pair, enter an amount, review the expected output and minimum received.
  4. Hit Swap and approve in your wallet. Balances refresh once the swap settles.

Wallets

Ninjucks supports both Cosmos and EVM wallets. An EVM wallet works because Injective accounts and Ethereum accounts share the same key type — your EVM address maps to a matching Injective account, and the transaction is signed as EIP-712 typed data.

Keplr
Cosmos-native signing.
MetaMask · Rabby · Brave
EVM wallets, via EIP-712.

Your connection persists across reloads; use Disconnect next to your address to end the session.

Networks

Testnet Live
injective-888 · swap INJ ↔ USDC against the live orderbook.
Mainnet Pending governance
injective-1 · gated on proposal #680.

Slippage & minimum received

The max slippage you choose sets your minimum received — the least output you'll accept. Ninjucks re-quotes the moment before you sign, so the floor always matches the exact amount and direction you're swapping.

If the market moves past your slippage between signing and settlement, the swap reverts rather than filling at a worse price. Raise the slippage for more headroom on volatile pairs.

Routing & settlement

Ninjucks forwards each swap to a DEX venue on Injective (HallSwap today, with room for more) and accounts for the result by balance difference: it measures what actually arrived and compares it to your floor. Every swap settles within its own transaction — funds are never parked in the contract, and a swap that can't meet its floor reverts in full.

Contract & verification

The contract is built with the standard cosmwasm/optimizer and a committed Cargo.lock, so the build is reproducible — anyone can rebuild it and confirm the hash.

ninjucks.wasm  SHA256  0c983abbc0373b28d4a7aa5a25fe059d36dc13604459a97c3a1ca1b01e888bb4

The mainnet governance proposal uploads this exact wasm; the on-chain code data_hash equals the SHA256 above. Source and reproduction steps live in the repository.


Roadmap

  • Swap Live — unified swaps across Injective liquidity.
  • Lend / Borrow Soon — a money-market interface.
  • Cross-swap Soon — swaps across an IBC bridge to Cardano.

FAQ

Does Ninjucks charge a fee?

No protocol fee. You pay the underlying venue's trading fee and network gas, nothing on top.

Who controls my funds?

You do. Every swap moves funds only inside a transaction you sign yourself; the contract never holds balances between swaps.

Which assets can I swap?

On testnet, INJ ↔ USDC today. More pairs and venues follow as mainnet goes live.

Why does gas get simulated first?

Routing through the orderbook needs more gas than a plain transfer, so the app simulates the transaction and adds headroom, so swaps don't run out of gas mid-execution.