COLLECTION_CREATED
Delivered immediately after a collection is created. Nothing has been paid yet — this is your confirmation that the address and payment link are live.
Delivered to the collection's merchantCallbackUrl, falling back to your
business webhook URL.
Payload
{
"body": {
"eventType": "COLLECTION_CREATED",
"collection": {
"id": "9cddd3ad-c2a8-463c-a703-158b900beea8",
"business_id": "b7b93a40-4e18-4e97-9c5f-8a7a4fd0df92",
"network": "MATIC_MAINNET",
"token": "USDT",
"address": "0x3761f3504104f4faa8959963a5d8dce89989d45b",
"token_amount": "2500.000000000000000000",
"token_amount_requested": "2500.000000000000000000",
"token_amount_received": null,
"token_to_usd": "1.00000000",
"fee_in_usd": "0.00000000",
"status": "PENDING",
"transaction_hash": null,
"number_of_confirmations": null,
"confirmation_threshold": 10,
"merchant_redirect_url": "https://example.com/thanks",
"merchant_callback_url": "https://example.com/webhooks/knit",
"payment_link_url": "https://checkout.collection.useknit.io/9cddd3ad-c2a8-463c-a703-158b900beea8",
"expires_at": "2024-08-27T14:02:10.000000Z",
"created_at": "2024-08-27T13:32:10.000000Z",
"updated_at": "2024-08-27T13:32:10.000000Z"
}
}
}Collection payloads use snake_case keys — token_amount, not
tokenAmount. This differs from the camelCase you get back from
GET /api/v1/collections.
Handling
Treat this as an acknowledgement, not a payment. Do not release goods or credit
a customer here — wait for
COLLECTION_SUCCESSFUL.
Because a collection expires 30 minutes after creation, this is a good moment to start your own expiry timer.
See also
- Create a collection
- Webhooks overview — signature verification and retries