MOONEUM

Events

Every event the platform can publish, generated directly from the event catalog — this page can never drift from what the event bus actually emits. Events marked webhook are also forwarded to your endpoint as {name.lowercased} — see the webhooks guide for delivery/signature details. The shared order lifecycle (Order.*) is published once for all four verticals with a domain field (payment | trade | earn | borrow) — webhooks marked By domain deliver only to the app owning that domain.

Treasury

EventDescriptionWebhookPayload fields
Wallet.Imported
wallet.imported
A wallet was added by importing an existing address (paste or Connect Wallet).Treasury
  • walletIdThe new wallet id.
  • nameWallet display name.
  • typeWATCH_ONLY, HOT, HARDWARE_LEDGER, or HARDWARE_TREZOR.
Wallet.Created
wallet.created
A wallet was created inside the Desktop Signer (its private key generated there, not imported).Treasury
  • walletIdThe new wallet id.
  • nameWallet display name.
  • chainChain the wallet was generated for.
Wallet.SigningRequested
wallet.signingrequested
A payment, trade, earn, or borrow order needs a wallet signature and is now awaiting Desktop Signer or Connect Wallet action.Treasury
  • walletIdWallet the signature is requested from.
  • chainChain of the pending transaction.
  • legFor multi-step orders: 'APPROVAL' | 'MAIN' | 'CLAIM' | 'CANCEL'.
Wallet.TransactionSigned
wallet.transactionsigned
A signer produced a signature for a pending signing request (not yet broadcast).Treasury
  • targetIdId of the payment/order this signature is for.
  • chainChain of the transaction.
Wallet.TransactionBroadcast
wallet.transactionbroadcast
A signed transaction was broadcast to the chain.Treasury
  • targetIdId of the payment/order this transaction is for.
  • txHashOn-chain transaction hash.
  • chainChain the transaction was broadcast on.
Treasury.SnapshotTaken
An organization's portfolio value was snapshotted (hourly cron, or after a settled payment/paid invoice).internal only
  • totalUsdTotal portfolio value in USD at snapshot time.

Pay

EventDescriptionWebhookPayload fields
Payment.Settled
payment.settled
An outgoing payment was marked settled after confirmation.Pay
  • paymentIdThe payment id.
  • txHashOn-chain transaction hash, if applicable.
  • amountSettled amount.
Payment.Received
payment.received
An incoming on-chain payment was detected for an order.Pay
  • orderPaymentIdThe order-payment attempt id.
  • txHashOn-chain transaction hash.
  • amountAmount received.
  • chainChain the payment was received on.
Payment.PendingDetected
payment.pendingdetected
An unconfirmed (mempool) transaction was first noticed for an order — the order itself is not marked paid yet (that still requires confirmation), but the hosted checkout can already show "payment detected, awaiting confirmation."Pay
  • orderPaymentIdThe order-payment attempt id.
  • txHashOn-chain transaction hash, while still unconfirmed.
  • amountAmount of the pending transaction.
  • chainChain the transaction was seen on.
Invoice.Created
invoice.created
A new invoice was created.Pay
  • invoiceIdThe new invoice id.
  • numberHuman-readable invoice number.
Invoice.PartiallyPaid
invoice.partiallypaid
An incoming payment attempt partially paid an invoice/order.Pay
  • orderPaymentIdThe order-payment attempt id.
  • amountPaidAmount paid so far.
Invoice.Paid
invoice.paid
An invoice/order was fully paid, either automatically (on-chain payment detected) or marked paid manually.Pay
  • invoiceIdThe invoice id (manual mark-as-paid path).
  • orderIdThe order id (automatic on-chain payment path).
  • orderPaymentIdThe order-payment attempt id, when paid automatically.
  • manualTrue when marked paid manually rather than detected on-chain.

Trade

EventDescriptionWebhookPayload fields
Trade.Cancelled
trade.cancelled
A CoW Protocol limit order was cancelled.Trade
  • targetIdThe trade order id.
  • orderUidCoW Protocol order UID.
Trade.AlertTriggered
trade.alerttriggered
A price alert condition was met for a watched symbol.Trade
  • symbolThe watched symbol.
  • exchangeExchange the symbol is priced on.
  • conditionsThe alert conditions evaluated.
  • combinator'AND' | 'OR' across the alert's conditions.

Borrow

EventDescriptionWebhookPayload fields
Borrow.AlertTriggered
borrow.alerttriggered
A borrow-position alert condition (e.g. health factor) was met.Borrow
  • walletIdWallet the alert is monitoring.
  • protocolLending protocol.
  • marketIdMarket the alert is scoped to.
  • conditionsThe alert conditions evaluated.
  • combinator'AND' | 'OR' across the alert's conditions.

Platform (cross-app)

EventDescriptionWebhookPayload fields
Organization.Created
A new organization was created, either via signup or from within an existing session.internal only
  • nameOrganization display name.
  • slugOrganization URL slug.
Organization.MemberInvited
A teammate was invited to an organization for a specific app.internal only
  • emailInvitee email address.
  • appThe app the invite grants access to.
  • invitedByIdUser id of the inviter.
Order.Created
order.created
A new order was created in draft.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • chainChain, for on-chain orders.
  • amountPrimary amount of the order (payment amount / input amount).
  • actionDomain-specific action (e.g. deposit/withdraw/borrow/repay).
Order.Submitted
order.submitted
An order was submitted and now needs approval before it can be published.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • chainChain of the order, for on-chain orders.
  • amountPrimary amount of the order.
  • amountUsdOrder amount in USD, if known.
  • actionDomain-specific action, where applicable.
Order.Approved
order.approved
An order cleared an approval step and is ready for the next step or the final publisher (a maker-checker chain's last step).By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • amountPrimary amount of the order.
  • amountUsdOrder amount in USD, if known.
Order.Rejected
order.rejected
An order was rejected during approval.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • byEmail of the rejecting approver.
  • commentOptional rejection reason.
Order.ApprovalConfirmed
order.approvalconfirmed
An approval-leg transaction (token allowance) confirmed on-chain for an order.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • chainChain of the transaction.
Order.AwaitingPayment
order.awaitingpayment
An order is approved and quoted but needs an external, org-signed payment before it can proceed — e.g. a THORCHAIN_SELL trade order's BTC deposit, which this platform never signs itself (watch-only custody).By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • inboundAddressThe address the org must send the deposit to.
Order.Broadcast
order.broadcast
An order transaction was broadcast — an on-chain tx, or an off-chain placement (e.g. a CoW Protocol limit order).By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • txHashOn-chain transaction hash, for on-chain transactions.
  • chainChain the transaction was broadcast on.
  • orderUidCoW Protocol order UID, for limit orders.
Order.Confirmed
order.confirmed
An order completed — on-chain confirmation, or an exchange order reaching filled status.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • txHashOn-chain transaction hash, for on-chain transactions.
  • chainChain of the transaction, for on-chain transactions.
  • externalOrderIdExchange order id, for exchange orders.
Order.Failed
order.failed
An order failed to broadcast, confirm, or execute.By domain
  • orderIdId of the order (payment, trade, earn, or borrow order).
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
  • errorFailure reason.
Approval.Completed
approval.completed
The final (PUBLISH-tier) approval step completed for a payment, trade, earn, or borrow order — it's ready to sign/broadcast.Treasury
  • orderIdId of the approved order.
  • domainWhich vertical the order belongs to: 'payment' | 'trade' | 'earn' | 'borrow'.
Policy.Updated
A spending/transfer policy was created, edited, or deleted.internal only
  • appliesToWhich domain(s) the policy governs.
  • enabledWhether the policy is active.
Compliance.Screened
compliance.screened
A wallet address or counterparty was screened against compliance rules.Treasury
  • addressAddress that was screened.
  • chainChain of the address.
Compliance.Alert
compliance.alert
A compliance case was opened requiring manual review (screening flagged a risk, order held).Treasury
  • caseIdThe compliance case id.
  • addressAddress that triggered the case.
Compliance.Cleared
compliance.cleared
A compliance case was resolved as cleared — the held payment/trade/earn/borrow order can resume.Treasury
  • caseIdThe compliance case id.
  • orderIdId of the held order.
  • byUser id who resolved the case.
Compliance.Blocked
compliance.blocked
A compliance case was resolved as blocked — the held payment/trade/earn/borrow order is rejected.Treasury
  • caseIdThe compliance case id.
  • orderIdId of the held order.
  • byUser id who resolved the case.