Skip to main content

Webhook Events

Every webhook delivery follows a generic structure. The data field changes depending on the event category.

More Events Coming Soon

We are actively adding new event categories. This page will be updated as they become available.

Generic Structure

{
"id": "whd_<unique_id>",
"event": "<category>.<action>",
"timestamp": "ISO 8601 timestamp",
"data": {
"uid": "user_<id>",
...
}
}
FieldTypeDescription
idstringUnique delivery ID (format: whd_*)
eventstringEvent type in <category>.<action> format
timestampstringISO 8601 timestamp of when the event occurred
dataobjectEvent-specific payload; always includes uid

The data object always contains a uid field identifying the user. The remaining fields depend on the event category — see below.


Integration Events

Triggered when a user's wallet or exchange connection changes. The data fields match the response format of the Integrations API.

Events

EventDescription
integration.createdA user connected a new wallet or exchange
integration.updatedAn existing integration was updated or synced
integration.deletedA user removed a wallet or exchange connection
integration.failedAn integration sync encountered an error

Example Payload

{
"id": "whd_abc123def456",
"event": "integration.created",
"timestamp": "2025-02-19T12:00:00.000Z",
"data": {
"uid": "user_123",
"provider": "binance",
"providerPublicName": "Binance",
"publicAddress": null,
"walletId": "wallet_abc123",
"logoUrl": "https://storage.googleapis.com/kryptos-public/logos/binance.png",
"isContract": false,
"alias": "Main Trading Account",
"status": "active",
"addedOn": 1640995200000,
"lastSyncedAt": 1672531200000,
"category": "exchange",
"type": "api",
"totalTransactions": 0
}
}

Data Fields

FieldTypeDescription
uidstringThe user ID associated with the integration
providerstringProvider identifier (e.g., binance, ethereum)
providerPublicNamestringHuman-readable provider name
publicAddressstringWallet address (for blockchain wallets), null otherwise
walletIdstringUnique wallet/integration identifier
logoUrlstringProvider logo URL
isContractbooleanWhether the address is a smart contract
aliasstringUser-defined alias for the integration
statusstringIntegration status: QUEUED, ONGOING, COMPLETED, FAILED
addedOnnumberTimestamp when integration was added (ms)
lastSyncedAtnumberTimestamp of last successful sync (ms)
categorystringCategory: exchange, wallet, blockchain, unknown
typestringIntegration type: api or csv
totalTransactionsnumberTotal number of transactions from this integration

Integration Categories

CategoryDescription
exchangeCentralized exchanges (Binance, Coinbase, Kraken)
walletSoftware/hardware wallets (MetaMask, Ledger)
blockchainDirect blockchain connections (Ethereum, Bitcoin)
unknownUnclassified integrations

Integration Types

TypeDescription
apiConnected via API keys or OAuth
csvImported via CSV file upload