Ethereal Docs
  • Introduction
    • What is Ethereal?
  • Public Testnet
  • Trading
    • Perpetual Futures
      • Margining
      • Order Types
      • Positions
      • Funding Rates
      • Market Specifications
      • Liquidations
      • Auto Deleveraging
      • Subaccounts
      • Price Oracles
  • Points
    • Staking sENA
    • Season Zero
  • developer-guides
    • Trading API
      • Quick Start
      • Message Signing
      • Accounts & Signers
      • Order Placement
      • System Limits
      • Products
      • Token Transfers
      • Supported Tokens
      • Websocket Gateway
    • Python SDK
  • Protocol Reference
    • API Hosts
    • Contracts
    • Audits
Powered by GitBook
On this page
  • Overview
  • Lifecycle
  1. developer-guides
  2. Trading API

Order Placement

Overview

The platform supports two primary order types: market orders for immediate execution and limit orders for execution at specific price levels. Before placing any order, you must have sufficient margin deposited in your subaccount to cover the position. Once placed, the required margin is immediately locked regardless of whether the order has been filled, ensuring adequate collateral throughout the order's lifetime. For detailed information about order mechanics and advanced order types, refer to the trading documentation.

Lifecycle

Every order follows a complete lifecycle from initial creation through final disposition within the trading system. You can monitor an order's current state by checking the status field in the when querying for orders, which provides real-time updates as the order progresses through different stages. Understanding these status transitions helps you track order execution and manage your trading strategy effectively.

The order status system includes several key states that indicate where your order stands in the execution process.

Status
Description

NEW

A submitted order that has successfully submitted, acknowledged and visible on the books.

PENDING

An acknowledged order that has not yet been triggered.

FILLED_PARTIAL

A partially filled order.

FILLED

A closed order that has been fully filled.

CANCELED

A canceled order that may have been partially filled or not. You can identify which state by consuming the filled property. A non-zero filled value and canceled status is the former whereas a zero filled is the latter.

EXPIRED

An order becomes expired when the current system time reaches or exceeds the expireTime timestamp that was assigned during submission, automatically removing it from the order book.

After successfully submitting an order, the API returns the order's current state in real-time, including the order details and any quantity that was immediately filled during submission.

PreviousAccounts & SignersNextSystem Limits

Last updated 3 days ago