Event Types
Daya Pro sends webhooks for the following trading events:Order Events
All order events share these common fields in thedata object:
string
required
Unique order identifier (UUID)
string
required
Trading pair (e.g.,
USD-NGN)string
required
Order side:
buy or sellstring
required
Order type:
market or limitstring
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 fundsinvalid_price- Price outside allowed rangeinvalid_quantity- Quantity below minimum or above maximummarket_closed- Market not accepting ordersrate_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 sellboolean
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
depositstring
required
Funding rail used. Always
bank_transfer for this eventstring
required
Always
completed for this eventstring
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 eventstring
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 eventstring
required
Partner-facing asset symbol, such as
USDTstring
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
assetstring
required
Canonical chain key, such as
ethereum or polygonstring
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