For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
Join CommunityStart Trading
HomeOverviewTradingRisk & LiquidationsParadex ChainEcosystemREST APIWebSocket APIAgentic AI HubRelease Notes
HomeOverviewTradingRisk & LiquidationsParadex ChainEcosystemREST APIWebSocket APIAgentic AI HubRelease Notes
  • General Information
    • Server Location
    • Server URLs
    • Quick Start
    • Authentication
    • Rate Limits
    • Benchmarks
    • API Authentication
    • API Best Practices
  • Production API Reference
  • Testnet API Reference
        • GETList block trades
        • POSTCreate block trade
        • GETGet block trade
        • DELCancel block trade
        • POSTExecute block trade
        • GETGet block trade offers
        • POSTCreate block trade offer
        • GETGet specific block trade offer
        • DELCancel block trade offer
        • POSTExecute individual offer
  • Useful Resources
    • Paradex Github
    • Paradex CLI
    • Code Samples
    • Python SDK
    • CCXT Integration
Join CommunityStart Trading
Testnet API ReferenceBlock Trades

Create block trade offer

POST
https://api.testnet.paradex.trade/v1/block-trades/:block_trade_id/offers
POST
/v1/block-trades/:block_trade_id/offers
$curl -X POST https://api.testnet.paradex.trade/v1/block-trades/block_trade_id/offers \
> -H "Authorization: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "nonce": "98765",
> "offering_account": "0xabcdef1234567890",
> "signature": {
> "nonce": "12345",
> "signature_data": "0xabc123...",
> "signature_expiration": 1640995800000,
> "signature_timestamp": 1640995200000,
> "signature_type": "STARKNET",
> "signer_account": "0x1234567890abcdef"
> },
> "trades": {}
>}'
1{
2 "block_expiration": 1640995800000,
3 "block_id": "block_456",
4 "block_type": "OFFER_BASED",
5 "created_at": 1640995200000,
6 "initiator": "0x123...abc",
7 "last_updated_at": 1640995400000,
8 "nonce": "67890",
9 "parent_block_id": "block_123",
10 "required_signers": [
11 "string"
12 ],
13 "signatures": {},
14 "status": "COMPLETED",
15 "trades": {}
16}
Create a sub-block offer for an existing block trade. Required signers submit their order details and pricing for markets defined in the parent block trade. **Requirements:** - Account must be listed as required signer with active onboarding - Valid order signatures for all markets - Orders must match parent block trade constraints **Includes:** - Individual order signatures per market - Block trade execution signature with expiration - Proper nonce and signature verification data Returns the created offer with unique ID, parent reference, and order details.
Was this page helpful?
Previous

Get specific block trade offer

Next
Built with

Create a sub-block offer for an existing block trade.

Required signers submit their order details and pricing for markets defined in the parent block trade.

Requirements:

  • Account must be listed as required signer with active onboarding
  • Valid order signatures for all markets
  • Orders must match parent block trade constraints

Includes:

  • Individual order signatures per market
  • Block trade execution signature with expiration
  • Proper nonce and signature verification data

Returns the created offer with unique ID, parent reference, and order details.

Authentication

Authorizationstring
API Key authentication via header

Path parameters

block_trade_idstringRequired
Parent Block Trade ID

Request

Block offer content
noncestringRequired
Unique nonce for this offer request
offering_accountstringRequired
Starknet address of the account making this offer
signatureobjectRequired
Cryptographic signature authorizing this offer
tradesmap from strings to objectsRequired
Map of market symbol to offer details

Response

Created
block_expirationinteger
Unix timestamp in milliseconds when block expires
block_idstring

Backend-generated unique identifier

block_typeenum
Block type
Allowed values:
created_atinteger
When block was created
initiatorstring
Account that initiated this block trade
last_updated_atinteger
When block was last updated
noncestring
Original block nonce
parent_block_idstring

Parent block ID (if offer-based)

required_signerslist of strings
List of accounts that can participate in the block trade
signaturesmap from strings to objects

Current signatures on this block (for signature verification)

statusenum
Current status of the block trade
tradesmap from strings to objects
Map of market to trade details

Errors

400
Bad Request Error