Polygon Labs · AsyncAPI Specification

Polygon Technology Webhooks

Version

View Spec View on GitHub FintechPaymentsBlockchainStablecoinsDeveloper PlatformAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-10-13'
method: searched
generator: extract-docs-artifacts.py (local)
source: https://docs.polygon.technology/payments/guides/receiving-webhooks.md
sources:
- https://docs.polygon.technology/payments/guides/receiving-webhooks.md
- https://docs.polygon.technology/api-reference/webhook-events.md
- https://docs.polygon.technology/api-reference/webhooks/create-a-webhook.md
- https://docs.polygon.technology/api-reference/webhooks/list-webhooks.md
description: Polygon OMS webhooks deliver state change events to a partner‑owned HTTPS endpoint.
events:
- event: transaction.statusChanged
  description: A transaction changed status, in either direction and on any rail.
- event: cashIn.created
  description: A cash‑in code was issued.
- event: cashIn.completed
  description: The cash was deposited and converted; the auto‑created transaction is linked on the cash‑in.
- event: cashIn.expired
  description: The code expired before a deposit was made.
- event: virtualAccount.provisioned
  description: The underlying deposit account was provisioned; `bankDetails` is populated.
- event: virtualAccount.active
  description: The account is live and accepting deposits.
- event: virtualAccount.frozen
  description: Deposits are suspended.
- event: virtualAccount.closed
  description: The account reached end of life.
- event: virtualAccount.deleted
  description: An asynchronous delete finalized.
- event: virtualAccount.failed
  description: Provisioning failed.
- event: virtualAccount.statusChanged
  description: The account's status changed.
- event: virtualAccount.deposit.pending
  description: An inbound bank deposit was detected and is settling.
- event: virtualAccount.deposit.settled
  description: The inbound deposit settled.
- event: virtualAccount.deposit.failed
  description: The inbound deposit failed.
- event: virtualAccount.deposit.returned
  description: The inbound deposit was returned by the bank.
- event: virtualAccount.cryptoTransfer.initiated
  description: The crypto leg was initiated toward the destination wallet.
- event: virtualAccount.cryptoTransfer.pending
  description: The crypto leg is in flight.
- event: virtualAccount.cryptoTransfer.settled
  description: The crypto leg was delivered.
- event: virtualAccount.cryptoTransfer.failed
  description: The crypto leg failed.
- event: virtualAccount.fiatTransfer.initiated
  description: The fiat leg was initiated toward the destination account.
- event: virtualAccount.fiatTransfer.pending
  description: The fiat leg is in flight.
- event: virtualAccount.fiatTransfer.settled
  description: The fiat leg was delivered.
- event: virtualAccount.fiatTransfer.failed
  description: The fiat leg failed.
- event: depositAddress.active
  description: The inlet address is provisioned and monitoring; `depositInstructions` is populated.
- event: depositAddress.frozen
  description: Deposits are held pending review.
- event: depositAddress.closed
  description: The address reached end of life.
- event: depositAddress.failed
  description: Provisioning failed.
- event: depositAddress.statusChanged
  description: The address's status changed.
- event: deposit_address.crypto_deposit.pending
  description: An inbound onchain deposit was detected.
- event: deposit_address.crypto_deposit.settled
  description: The inbound deposit settled.
- event: deposit_address.crypto_deposit.failed
  description: The inbound deposit failed.
- event: deposit_address.crypto_deposit.needs_attribution
  description: The deposit came from an unrecognized sender and is held for sender attribution.
- event: deposit_address.ach_payout.initiated
  description: ACH payout leg initiated.
- event: deposit_address.wire_payout.initiated
  description: Domestic wire payout leg initiated.
- event: deposit_address.intl_wire_payout.initiated
  description: International wire payout leg initiated.
- event: deposit_address.crypto_payout.initiated
  description: Crypto payout leg initiated.
- event: externalAccount.created
  description: The account was registered and is being validated.
- event: externalAccount.verified
  description: Validation passed; the account is usable on quotes.
- event: externalAccount.declined
  description: Validation failed.
- event: externalAccount.deleted
  description: The account was removed.
- event: externalAccount.statusChanged
  description: The account's status changed. A transition to `invalid` always fires this event.
- event: counterparty.statusChanged
  description: A counterparty's status changed.
- event: endorsement.updated
  description: A customer endorsement changed state.
- event: endorsement.active
  description: An endorsement became active; the customer can use the operations it gates.
- event: wallet.provisioned
  description: A custodial wallet's onchain address was provisioned.
- event: webhook.test
  description: A test delivery sent via POST /webhooks/{webhookId}/test, delivered regardless of subscriptions.
delivery:
  signature: Webhook-Signature header containing HMAC‑SHA256 (hex) of `<t>.<raw request body>` keyed with the one‑time signingKey
  retries: At‑least‑once delivery; any non‑2xx, timeout, or network error triggers retry
  content_type: application/json
note: Signature verification must use the raw request body and constant‑time comparison; deliveries include `id` for deduplication and `sequence`
  for best‑effort ordering. The webhook timeout defaults to 5000 ms (hard cap 10000 ms). 15 extracted row(s) were dropped because their quote
  was not on the page.
docs: https://docs.polygon.technology/payments/guides/receiving-webhooks.md

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/polygon-technology-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.