LogoLogo
Trade Now
  • Trade Now
  • 👋Welcome
    • About Demex
      • Roadmap
      • Terms and Conditions
      • Disclaimers
    • Getting Started
      • Depositing
      • Activate Account
      • One-Click Trading
  • 💰Demex Rewards
    • 🪂Demex Points
      • Spins
      • Wheel of Fortune and Loot Boxes
      • Squads
      • DMX Token
      • FAQs
    • 🏁Demex Endgame: 50,000,000 Demex Points
    • 💵Demex Credits
    • 🕙Past Events
      • 2022
        • Futures Trading Competition
          • Maker vs Taker #1
          • Maker vs Taker #2
        • Perpetuals Trading Competition
          • Top Gainers and Top Traders #1
          • Top Gainers and Top Traders #2
          • Top Gainers #3
      • 2023
        • Demex Trading Leagues
          • Demex Trading League
            • How to Register
          • Demex $100,000 Mega Marathon
            • Demex Trading League Vol 1
              • How to Register
            • Deposit Booster
            • Demex Trading League Vol 2
          • Demex Trading League (Round 3)
            • How to Register
          • Demex Trading League (Round 4)
          • LUNA Earn-A-Thon & Demex Trading League (Round 5)
          • Demex Trading League (Round 6)
          • SCRT Trading League
        • Earn-a-thons
          • Demex x StaFi ATOM Earn-A-Thon
          • Demex x Zilliqa ZIL Earn-A-Thon
            • How to Register
        • Trading Challenges
          • BNB Trading Challenge
            • How to generate your custom hashtag
          • NEO Trading Challenge
            • How to Register
          • OSMO Perp Trading Challenge
          • Perps Trading Challenge
        • Special Events
          • $500 Surprise Flash Promotion
          • Demex Incentivized Devnet (Ended)
            • Perp Pools Deposits
            • Base Vault and $CLP Staking
            • Fluo Dashboard (Deprecated)
              • Stake FLUO
              • Boost Rewards
              • esFLUO Rewards
            • Demex Trading League (Devnet)
              • How to Register
            • The HODL Lottery
              • How to Register
              • How to Count Your Tickets
      • 2024
        • Celestia Trading League
        • FOMO Points Booster
        • DeFi Points Booster
        • Celestia Points Booster
        • 🥛milkTIA x Demex Points Booster Bonanza
        • BTCETH Points Booster
        • 🟠 Archway Trading League
        • ⚛️ Cosmos Trading Competition
          • 🐋Whalecome to Demex
        • 💯DeFi & FOMO Points Booster
        • 💯DeFi & Layer 1 Points Booster
        • 💧dATOM Lend and Trade Spins Promo
        • 🐸Perp Pool Incentives with Leap Wallet
        • 👋Welcome #BackToDemex
        • 🥛milkTIA Lend and Trade Spins Promo
        • 🛡️Loss Protection
        • 🏃‍♂️STRD Lend and Trade Spins Promo
        • 🐶Meme Traders Arena
        • 🛡️Loss Protection Oct-Nov
        • 🌙LUNA Lend and Trade Spins Promo
        • 💯Modular Pool Points Booster
        • 🕰️Mantle Lend & Trade Spins Promo
        • 🏎️Mantle Trading League
        • 🛡️Loss Protection Dec 9 - 20
        • 👑Mantle Trading League S2
      • 2025
        • 🔲Mantle Rewards Station: 30,000,000 Demex Points
        • 🔲Mantle Rush
        • 🔐Loss Protection March 19 - 26, 2025
        • 🌀Mantle Lend & Trade Spins Promo
        • 💙Base Trading League
        • 🧢Base Lend & Trade Spins Promo
        • 🛡️Loss Protection Feb 10 - 20, 2025
        • 📝#DemexContentQuest
        • 📈#PerpsOnDemex
        • 👥Demex Referral Club
        • 🤖Traḋemex Bot
  • 📊Trade
    • Features
    • Perps & Futures
      • Pricing Engine
      • Margin Specifications
      • Liquidation Engine
      • Market Specifications
      • Pre-launch Perpetuals
      • Glossary
      • FAQs
    • Grouped USD Token
      • Constituent Criteria
      • Safety Features
      • Migration Guide
    • Fees
      • Trading Fees
      • Funding Fees
      • Network Fees
      • Deposit & Withdrawal Fees
      • Fee Delegation
      • CEX to Demex VIP Program
      • Fee Distribution
    • Notifications
      • Demex Progressive Web App (PWA)
    • Trading Modes
      • Lite Mode
      • Pro Mode
        • Features
        • Market Leverage
        • Order Types
        • Execution Options
        • Time-In-Force 🆕
        • Trigger (Stop) Orders
          • Take-Profit
          • Stop-Loss
        • Chart Trading 🆕
  • 💰EARN
    • Liquidity Pools
      • Spot Pools
        • Earnings
        • Amplified Pools
        • Uneven Pool Weights
        • Multi-Pool Routing
        • FAQs
      • Perp Pools
        • Earnings
        • Deposting & Redeeming
        • AMM Strategy
    • Nitron (Lend & Borrow)
      • Lending
      • Borrowing
        • Avoiding Liquidations
      • Liquidation
        • Partial Liquidations
      • USC Stablecoin
        • Interest Rate Model
      • High Efficiency Mode (E-Mode)
      • Liquidations
        • Liquidation Guide
      • Strategies
        • Using Nitron for Perp Trading
      • Protocol Safety Features
      • Risks
    • Referrals
      • Sharing Your Referral Link
      • FAQs
      • Terms and Conditions
  • Stake SWTH / DMX
  • 🫂COMMUNITY
    • Public Community Nodes
    • Feedback
    • Glossary
      • Annual Percentage Rate (APR)
      • Arbitrage
      • Decentralized Applications
      • Execution Options
      • Liquidation
      • Liquidity Pool
      • Liquidity Providers
      • Perpetual Pool
      • Open Interest (OI)
      • Order Book
      • Time-In-Force
      • Volume
      • Yield Farming
  • ⚙️Developers
    • APIs Overview
    • WebSocket API
    • RPC API
    • EVM API
    • Insights API
    • Node CLI
    • Running a Node
      • Testnet
      • Mainnet
      • Public API Node
      • Validators
        • Commissions & Penalties
  • 🤖EVM
    • Overview
    • Deployment Tutorial
    • Interacting with Demex L1
      • Built-in Oracle Contracts
      • Precompiled Trading Contracts
    • ICS-20 <> ERC-20 Token Conversion
    • Explorers
Powered by GitBook
On this page
  • Endpoints
  • Documentation
  • Streaming Subscriptions

Was this helpful?

  1. Developers

WebSocket API

PreviousAPIs OverviewNextRPC API

Last updated 3 months ago

Was this helpful?

The WebSocket API provides real-time streaming of easily-consumable data regarding all important aspects on the Demex L1 chain. This API is recommended for building most applications.

Endpoints

These public WebSocket endpoints can be used to stream data from Demex.

Mainnet: wss://ws-api.carbon.network/ws

Testnet: wss://test-ws-api.carbon.network/ws

It is important to note that the above public endpoints do not have any guarantees on uptime and may not always be accessible, even when the blockchain may operating normally.

To ensure maximum reliability, it is advisable to with WebSockets enabled.

Documentation

While interacting with the WebSocket API is straightforward, detailed documentation for each individual endpoint is still underway.

In the meantime, you may already begin using it in production via the following quickstart guide.

Streaming Subscriptions

To subscribe to a specific subscription, you should use the subscribe method while specifying the channel you wish to stream.

Request Format

  • request_id: This serves as an identifier to distinguish between different subscription requests. The subscription response will include this identifier.

  • method: This refers to the name of the method, which is either subscribe or unsubscribe.

  • params: This refers to the request parameters, which is consists of the channels object. It is an array of the required channels for subscription, postfixed by the respective subscription parameters and delimited by a colon (:). You can find the list of supported channels and the required parameters .

Response Format

The successful response will echo the subscribed channel and the request ID.

Subscription Feed

  • block_height: This is the block height of the data

  • channel: This is the subscription's channel

  • update_type: This field specifies the type of the accompanying data and may be one of: full_state | delta .

    • If the value of this field is full_state, it indicates that the accompanying data represents a full view of the data you intend to stream. This update type is always sent immediately after a new channel subscription, and serves as a foundation for future updates - clients should maintain the given data and modify it based on future updates.

    • If the value of this field is delta, it means that the accompanying data only contains deltas (modifications) that should be applied on the full state that the client is maintaining.

Subscription Feed

  • block_height: This is the block height of the data

  • channel: This is the subscription's channel

  • update_type: This field specifies the type of the accompanying data and may be one of: full_state | delta .

    • If the value of this field is full_state, it indicates that the accompanying data represents a full view of the data you intend to stream. This update type is always sent immediately after a new channel subscription, and serves as a foundation for future updates - clients should maintain the given data and modify it based on future updates.

    • If the value of this field is delta, it means that the accompanying data only contains deltas (modifications) that should be applied on the full state that the client is maintaining.

Example

Let's stream orders for the account swth12j2frlmwc26xv9dqj08tnqxpjy7yklsxa8p4da in the swth_eth market.

// Request body
{
    "id": "request-42", // Request ID
    "method": "subscribe",
    "params": {
        "channels": ["orders_by_market:swth_eth:swth12j2frlmwc26xv9dqj08tnqxpjy7yklsxa8p4da"] 
        // `orders_by_market` is the channel name, `:` is the delimiter, 
        // followed by the market and address parameters, also delimited by `:`.
    }
}

// Response body
{
    "id": "request-42"
    "result": ["orders_by_market:swth_eth:swth12j2frlmwc26xv9dqj08tnqxpjy7yklsxa8p4da"]
}

// Subscription feed (result is specific to the subscribed channel)
{
    "block_height": 3074
    "channel": "orders_by_market:swth_eth:swth12j2frlmwc26xv9dqj08tnqxpjy7yklsxa8p4da"
    "result": [
        {
            market: "swth_eth", 
            side: "buy",
            …
        },
        …
    ],
    "update_type": "full_state"
}
{
    "block_height": 3074
    "channel": "balances:swth12j2frlmwc26xv9dqj08tnqxpjy7yklsxa8p4da"
    "result": [
        {
            "available": "700000000",
            "order": "0",
            "position": "0",
            "denom": "swth"
        },
        …
    ],
    "update_type": "delta"
}

result: This field contains the data. You can find the data structure of stream updates from subscriptions .

result: This field contains the data. You can find the data structure of stream updates from subscriptions .

⚙️
run your own node
here
here
here
here