npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

example-js-sdk

v0.0.10

Published

TypeScript SDK for Mememax Orbix blockchain

Readme

Mememax Orbix TypeScript SDK

Get Started

Initializing SDK

// Initialize SDK instance
const sdk = await OrbixSDK.instance({
  network: OrbixSDK.Network.MainNet, 
  config: {
    tmRpcUrl: "https://tm-api.mememax.orbix.com", 
  },
});

// Connect SDK with mnemonic
const connectedSdk1 = await sdk.connectWithMnemonic(mnemonic);

// Connect SDK with private key
const connectedSdk2 = await sdk.connectWithPrivateKey(privateKey);

// Connect SDK with custom signer
const connectedSdk3 = await sdk.connectWithSigner(signer, publicKeyBase64);

Usage Overview

The SDK provides a structured way to interact with the Orbix blockchain.

Architecture

Your Application (e.g. Node.js/React)
  ↓ initialize & connect
SDK (SDK.instance)
  ↓ call module methods
sdk.order / sdk.leverage / sdk.ibc / sdk.bridge ...
  ↓ broadcast transaction
Orbix Chain

Common SDK Methods

| Module | Method | Description | |--------|--------|-------------| | order | sdk.order.create(params) | Create a single order | | order | sdk.order.createOrders(params[]) | Create multiple orders and/or set leverage in batch | | order | sdk.order.edit(params) | Edit an existing order | | order | sdk.order.editOrders(params[]) | Edit multiple orders in batch | | order | sdk.order.cancel(params) | Cancel a single order | | order | sdk.order.cancelOrders(params[]) | Cancel multiple orders in batch | | order | sdk.order.cancelAll(params) | Cancel all orders for a market | | leverage | sdk.leverage.set(params) | Set leverage multiplier for a market | | leverage | sdk.leverage.setLeverages(params[]) | Set leverage for multiple markets in batch | | ibc | sdk.ibc.sendIbcTransferV2(params) | Cross-chain IBC transfer | | bridge | sdk.bridge.withdraw(params) | Cross-chain bridge withdrawal | | bridge | sdk.bridge.withdrawAndExecute(params) | Withdraw and execute (e.g., unwrap wETH to ETH) | | admin | sdk.admin.createToken(params) | Create a new token (Admin only) | | admin | sdk.admin.createTokens(params[]) | Create multiple tokens in batch (Admin only) | | admin | sdk.admin.updateToken(params) | Update token properties (Admin only) | | admin | sdk.admin.bindToken(params) | Bind a source denom to a wrapped denom (Admin only) | | admin | sdk.admin.unbindToken(params) | Unbind a wrapped token (Admin only) | | admin | sdk.admin.createMarket(params) | Create a new market (Admin only) | | admin | sdk.admin.createMarkets(params[]) | Create multiple markets in batch (Admin only) | | admin | sdk.admin.setTradingFlag(params) | Enable/disable trading for a blockchain (Admin only) | | admin | sdk.admin.createOracle(params) | Create a new oracle (Admin only) | | admin | sdk.admin.createValidator(params) | Create a new validator (Admin only) | | admin | sdk.admin.editValidator(params) | Edit validator properties (Admin only) | | evm | sdk.evm.sendEvmTx(txRequest) | Send EVM transaction (Contract calls) | | bank | sdk.bank.send(params) | Transfer tokens to another address | | staking | sdk.staking.delegate(params) | Delegate tokens to a validator | | staking | sdk.staking.undelegate(params) | Undelegate tokens from a validator | | position | sdk.position.adjustMargin(params) | Adjust margin for a position |

Examples

Create a Limit Order

import BigNumber from "bignumber.js";
import { OrderModule } from "example-js-sdk";

await sdk.order.create({
  marketId: 'btc_z29',
  side: OrderModule.OrderSide.Buy,
  orderType: OrderModule.OrderType.Limit,
  price: new BigNumber(50000),
  quantity: new BigNumber(0.1),
  timeInForce: OrderModule.TimeInForce.Gtc,
})

Create Order + Set Leverage (Batch)

await sdk.order.createOrders([
  {
    marketId: 'btc_z29',
    leverage: new BigNumber(10),
  },
  {
    marketId: 'btc_z29',
    side: OrderModule.OrderSide.Buy,
    orderType: OrderModule.OrderType.Limit,
    price: new BigNumber(50000),
    quantity: new BigNumber(0.1),
  }
])

Edit an Order

await sdk.order.edit({
  id: 'order_id_123',
  price: new BigNumber(51000),
  quantity: new BigNumber(0.2),
})

Cancel Multiple Orders

await sdk.order.cancelOrders([
  { id: 'order_id_123' },
  { id: 'order_id_456' },
])

IBC Transfer (V2)

import Long from "long";

await sdk.ibc.sendIbcTransferV2({
  sourcePort: 'transfer',
  sourceChannel: 'channel-0',
  receiver: 'meme1...',
  denom: 'meme',
  amount: new BigNumber('1000000'),
  timeoutTimestamp: new BigNumber(Date.now() + 600000),
})

Bridge Withdrawal

await sdk.bridge.withdraw({
  connectionId: 'connection-1',
  receiver: 'xxx',
  tokenDenom: 'eth.1.19.0x6b175474e89094c44da98b954eedeac495271d0f',
  tokenAmount: new BigNumber('1000000000000000000'), // 1 token
  relayDenom: 'meme',
  relayAmount: new BigNumber('5000000'), // relay fee
  expirySeconds: 600, // 10 minutes
})

Admin: Create a New Token

await sdk.admin.createToken({
  creator: 'meme1...', // admin address
  name: "New Token",
  symbol: "NEW",
  decimals: 18,
  chainId: 1,
  bridgeId: 1,
  bridgeAddress: "0x...",
  tokenAddress: "0x...",
})

Admin: Create a New Market

await sdk.admin.createMarket({
  marketType: "futures",
  base: "btc",
  quote: "usd",
  currentBasePriceUsd: new BigNumber(50000),
  currentQuotePriceUsd: new BigNumber(1),
  indexOracleId: "btc_oracle",
})

Admin: Set Trading Flag

await sdk.admin.setTradingFlag({
  isEnabled: true,
  blockchain: "orbix",
})

EVM: Send Transaction (Contract Call)

import { ethers } from "ethers";

await sdk.evm.sendEvmTx({
  to: "0x...", // contract address
  value: ethers.utils.parseEther("0.1"),
  data: "0x...", // encoded contract call data
  gasLimit: ethers.BigNumber.from(100000),
})

Return Values

All transaction methods return a Promise that resolves to an object containing transaction details:

{
  txHash: string;        // Transaction hash
  txResponse?: {         // Full transaction response (if available)
    height: string;
    txhash: string;
    code: number;
    // ... other fields
  };
}

For order creation, the response may include:

{
  txHash: string;
  orderId?: string;      // Single order ID (for create())
  orderIds?: string[];   // Multiple order IDs (for createOrders())
}

Module Support Summary

The SDK provides comprehensive blockchain interaction capabilities through the following modules:

Trading & Orders

  • Order: Create, edit, cancel orders (single/batch operations)
  • Leverage: Set and manage leverage for markets
  • Position: Adjust margin, manage positions
  • Market: Query market data and information

Asset Management

  • Bank: On-chain token transfers
  • Coin: Token operations and queries
  • Bridge: Cross-chain bridge operations (withdraw, execute)
  • IBC: Cross-chain IBC transfers

Staking & Governance

  • Staking: Delegate, undelegate, redelegate tokens
  • Alliance: Alliance module interactions
  • Gov: Governance proposals and voting
  • Grant: Authorization grants (authz module)

Advanced Features

  • EVM: Send transactions to the EVM module
  • EvmMerge: EVM merge module operations
  • SubAccount: Management of sub-accounts
  • PerpPool: Perpetual pool operations
  • Broker: Broker module functionality
  • Fee: Fee management and queries
  • Oracle: Oracle data queries

Admin Operations (Restricted)

  • Admin: Token creation, market creation, validator management, trading flags, and other administrative functions

Query Clients

  • query: Access to all chain query functions
  • insights: Analytics and insights data
  • hydrogen: Hydrogen API client
  • token: Token metadata and configuration

Important Types and Enums

Order Types

OrderModule.OrderType.Limit           // Limit order
OrderModule.OrderType.Market          // Market order
OrderModule.OrderType.StopLimit       // Stop-limit order
OrderModule.OrderType.StopMarket      // Stop-market order
OrderModule.OrderType.TakeProfitLimit // Take-profit limit
OrderModule.OrderType.TakeProfitMarket // Take-profit market

Order Side

OrderModule.OrderSide.Buy   // Buy order
OrderModule.OrderSide.Sell  // Sell order

Time In Force

OrderModule.TimeInForce.Gtc  // Good Till Cancel
OrderModule.TimeInForce.Fok  // Fill Or Kill
OrderModule.TimeInForce.Ioc  // Immediate Or Cancel

Trigger Type

OrderModule.TriggerType.LastPrice   // Trigger on last price
OrderModule.TriggerType.MarkPrice   // Trigger on mark price
OrderModule.TriggerType.IndexPrice  // Trigger on index price

Error Handling

All SDK methods return Promises that may reject with errors. Always use try-catch blocks:

try {
  const result = await sdk.order.create({
    marketId: 'btc_z29',
    side: OrderModule.OrderSide.Buy,
    orderType: OrderModule.OrderType.Limit,
    price: new BigNumber(50000),
    quantity: new BigNumber(0.1),
  });
  console.log('Order created:', result.txHash);
} catch (error) {
  console.error('Failed to create order:', error.message);
}