Algos

Create algo order

Create a new algo order

TWAP

TWAP orders break a large trade into smaller ones over time to reduce market impact:

  • Sub-orders are placed every 30 seconds.
  • Order duration is between 30 and 86,400 seconds, in multiples of 30.
  • Supported sub order type: MARKET
post/algo/orders

Request body

algo_typestring required

Algo type, required for algo orders creation

dime_discountboolean

If true, child-order fees are charged in DIME with the DIME discount applied; falls back to USDC if balance is insufficient

duration_secondsinteger required

Duration in seconds for which the algo order will be running, required for algo orders creation

frequencyinteger

Interval in seconds between child orders (default: 30)

marketstring required

Market for which order is created

on_behalf_of_accountstring

ID corresponding to the configured isolated margin account. Only for isolated margin orders

recv_windowinteger

Order will be created if it is received by API within RecvWindow milliseconds from signature timestamp, minimum is 10 milliseconds

side'BUY' | 'SELL' required
signaturestring required

Order signature in as a string "[r,s]" signed by account's paradex private key

signature_timestampinteger required

Unix timestamp in milliseconds of order creation, used for signature verification

sizestring required

Size of the algo order

type'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_PROFIT_LIMIT' | 'TAKE_PROFIT_MARKET' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT' required

Example request

{
  "algo_type": "TWAP",
  "duration_seconds": 3600,
  "frequency": 30,
  "market": "BTC-USD-PERP",
  "on_behalf_of_account": "0x1234567890abcdef",
  "size": "1.213"
}

Response

Created

accountstring

Account identifier (user's account address)

algo_paramsobject

Type-specific algo parameters

algo_type'' | 'TWAP'
avg_fill_pricestring

Average fill price of the order

cancel_reasonstring

Reason for algo cancellation if it was closed by cancel

created_atinteger

Algo creation time

end_atinteger

Algo end time

idstring

Unique algo identifier

last_updated_atinteger

Algo last update time. No changes once status=CLOSED

marketstring

Market to which algo belongs

remaining_sizestring

Remaining size of the algo

side'BUY' | 'SELL'
sizestring

Algo size

status'NEW' | 'UNTRIGGERED' | 'OPEN' | 'CLOSED'

Example response

{
  "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512",
  "avg_fill_price": "26000",
  "cancel_reason": "NOT_ENOUGH_MARGIN",
  "created_at": 1681493746016,
  "end_at": 1681493746016,
  "id": "123456",
  "last_updated_at": 1681493746016,
  "market": "BTC-USD-PERP",
  "remaining_size": "0",
  "size": "0.05"
}

Changes

Changed in 8 of the 65 revisions of this API.73212

    • added the new BLOCK_TRADE_REPLAYED_SIGNATURE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new EVM_VAULT_OPERATORS_DISABLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new VAULT_DATA_PRIVATE enum value to the //// response property for the response status

      response-property-enum-value-added

    • removed the INVALID_RHINOFI_QUOTE enum value from the //// response property for the response status

      response-property-enum-value-removed

    • removed the INVALID_RHINOFI_QUOTE_COMMIT enum value from the //// response property for the response status

      response-property-enum-value-removed

    • removed the INVALID_RHINOFI_REQUEST enum value from the //// response property for the response status

      response-property-enum-value-removed

    • added the new IP_NOT_ALLOWED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new MARKET_NOT_SETTLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_INVALID_SIGNATURE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_SIGNER_KEY_UNAUTHORIZED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new EVM_ADDRESS_ALREADY_ONBOARDED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new INSUFFICIENT_EVM_BALANCE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new PORTFOLIO_MARGIN_INVALID_ACCOUNT_KIND enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new PORTFOLIO_MARGIN_ONBOARDING_DISABLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • removed the BAD_STARKNET_REQUEST enum value from the //// response property for the response status

      response-property-enum-value-removed

    • removed the INVALID_PRICE_PRECISION enum value from the //// response property for the response status

      response-property-enum-value-removed

    • removed the TRANSACTION_NOT_FOUND enum value from the //// response property for the response status

      response-property-enum-value-removed

  • 46a57608a7906214See the full diff
    • the request property type changed from object to no type

      request-property-type-changed

    • the request property type changed from object to no type

      request-property-type-changed

    • the response's property type changed from object to no type for status

      response-property-type-changed

    • the response's property type changed from object to no type for status

      response-property-type-changed

    • the response's property type changed from object to no type for status

      response-property-type-changed

    • the response's property type changed from object to no type for status

      response-property-type-changed

    • added the new BLOCK_TRADE_ACCOUNT_MISMATCH enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_ALREADY_CANCELLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_EXPIRED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_INVALID_STATUS enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_MISSING_SIGNATURE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_MISSING_SIGNERS enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_MISSING_TRADES enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_NOT_ENABLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_NOT_FOUND enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new BLOCK_TRADE_UNAUTHORIZED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new EVM_SIGNATURE_VERIFICATION_FAILED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new INVALID_EVM_SIGNATURE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new MEDIA_NOT_FOUND enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new OFFER_ALREADY_CANCELLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new OFFER_INVALID_STATUS enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new OFFER_PARENT_MISMATCH enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new OFFER_PARENT_NOT_ACCEPTING enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new OFFER_UNAUTHORIZED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new PORTFOLIO_MARGIN_CONFIG_NOT_FOUND enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new SUBKEY_NOT_ACTIVATABLE enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new XP_TRANSFERS_DISABLED enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new optional request property

      new-optional-request-property

    • added the new optional request property

      new-optional-request-property

    • added the optional property to the response with the status

      response-optional-property-added

    • removed the INVALID_JOIN_WAITLIST_REQUEST enum value from the //// response property for the response status

      response-property-enum-value-removed

  • 846a2e2b455b12See the full diff
    • added required request body

      request-body-added-required

    • added the media type application/json for the response with the status

      response-media-type-added

    • added the media type application/json for the response with the status

      response-media-type-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog