monzo-webhook

Crates.iomonzo-webhook
lib.rsmonzo-webhook
version0.4.0
created_at2026-01-04 12:42:59.396247+00
updated_at2026-01-11 19:45:52.746176+00
descriptionSerde-compatible structs containing the data from a Monzo bank webhook
homepagehttps://github.com/lilopkins/monzo-webhook-rs
repositoryhttps://github.com/lilopkins/monzo-webhook-rs
max_upload_size
id2021849
size142,448
Lily Hopkins (lilopkins)

documentation

README

Monzo Webhook

Serde-compatible structs containing the data from a Monzo bank webhook.

For examples of what different webhooks look like, see src/tests.txt.

Usage

When implemented a receiver for a Monzo bank webhook, you can use these structs. For example, with axum:

async fn test_webhook_parse(Json(data): Json<monzo_webhook::Webhook>) -> String {
    format!("{data:#?}")
}

Testing

This has been tested against the following types of transactions:

  • Faster Payments in- and outbound
  • Monzo-to-Monzo transactions
  • Pot and Account Deposits and Withdrawals
  • Contactless purchases
  • Online purchases

This needs confirmation that it works with:

  • ATM withdrawals
  • ATM deposits
  • Deposits
  • Cheques
  • Online refunds
  • Chip & PIN purchases
  • Chip & PIN refunds
  • Contactless refunds
  • Direct Debits
  • Standing Orders
  • BACS Credits
  • BACS Debits
  • CHAPS Transfers
  • International Transfers via Swift
  • Fees and Charges
  • Interest Paid
  • Interest Earned

If you have any JSON webhook payloads of these types of transactions, I would appreciate seeing them. You are recommended to scrub any sensitive data or ID numbers first, then please open an issue.

Commit count: 11

cargo fmt