Skip to main content

Event Types

Daya Pro sends webhooks for the following trading events:

Order Events

All order events share these common fields in the data object:
string
required
Unique order identifier (UUID)
string
required
Trading pair (e.g., USD-NGN)
string
required
Order side: buy or sell
string
required
Order type: market or limit
string
required
Order status
string
Limit price (omitted for market orders)
string
required
Total order quantity
string
required
Quantity filled so far
string
Volume-weighted average execution price (present when partially or fully filled)
string
required
Base asset of the trading pair (e.g., USD)
string
required
Quote asset of the trading pair (e.g., NGN)
string
required
ISO 8601 timestamp when order was created
string
required
ISO 8601 timestamp when order was last updated

order.created

Sent when a new order is accepted by the matching engine. Status: open

order.filled

Sent when an order is completely filled. Status: filled Additional field:
  • executed_price - Volume-weighted average execution price

order.partially_filled

Sent when an order is partially filled but still has remaining quantity. Status: partially_filled Additional field:
  • executed_price - Average execution price so far

order.cancelled

Sent when an order is cancelled. Status: cancelled Additional field:
string
ISO 8601 timestamp when cancelled

order.rejected

Sent when an order is rejected. Status: rejected Additional field:
string
Reason for rejectionValues:
  • insufficient_balance - Not enough funds
  • invalid_price - Price outside allowed range
  • invalid_quantity - Quantity below minimum or above maximum
  • market_closed - Market not accepting orders
  • rate_limit_exceeded - Too many orders

Trade Events

trade.executed

Sent when a trade is executed involving your order.
You may receive multiple trade.executed events for a single order if it fills across multiple price levels or counterparties.
string
required
Unique trade identifier (UUID)
string
required
Your order ID that was filled
string
required
Trading pair
string
required
Your side in this trade: buy or sell
boolean
required
Whether you were the maker in this trade
  • true - Your order was resting on the order book (maker)
  • false - Your order matched against resting orders (taker)
string
required
Execution price
string
required
Trade quantity
string
required
Total value in quote currency
string
required
Trading fee charged
string
required
Base asset of the trading pair
string
required
Quote asset of the trading pair
string
required
The order ID of the counterparty in this trade
string
required
ISO 8601 timestamp of execution

Deposit Events

deposit.completed

Sent when an NGN bank-transfer deposit settles to your Daya Pro balance. Useful for triggering downstream ledger updates without polling.
Bank deposit events fire only on the terminal completed state. On-chain deposits use crypto.deposit.completed.
string
required
Deposit transaction identifier
string
required
Always deposit
string
required
Funding rail used. Always bank_transfer for this event
string
required
Always completed for this event
string
required
Settled amount in NGN as a decimal string
string
Fee charged in NGN, if any
string
required
Currency code of the original deposit. Always NGN for this event
string
Underlying provider that settled the deposit (e.g. flutterwave)
string
Provider-side reference for reconciliation
string
Transaction reference (when provider supplies one)
string
Name on the source bank account, when available
string
Internal reference used to attribute the deposit to your account
string
User-supplied or generated reference shown on statements
string
Free-form narration from the source institution
string
Human-readable summary
string
required
ISO 8601 timestamp when the deposit was first observed
string
ISO 8601 timestamp when the deposit finished settling

crypto.deposit.completed

Sent after a confirmed on-chain deposit is credited to your Daya Pro balance.
This event is for account-level crypto collection. It is not a per-customer wallet creation or custody event.
string
required
Daya transaction identifier
string
required
Always completed for this event
string
required
Partner-facing asset symbol, such as USDT
string
required
Credited amount as a full-precision decimal string for the asset
string
required
Fee amount as a full-precision decimal string for the asset
string
required
Asset used to charge the fee. This currently matches asset
string
required
Canonical chain key, such as ethereum or polygon
string
On-chain transaction hash when available
string
Source address when available
string
Account-level deposit address that received the funds
string
required
ISO 8601 timestamp when the deposit transaction was first observed
string
ISO 8601 timestamp when the deposit was credited

Order Status Flow

Next Steps

Webhook Overview

Delivery guarantees and implementation

Signature Verification

Verify webhook authenticity