{"openapi":"3.1.0","security":[{"X-API-Key":[]}],"info":{"title":"Blockchain Notifications","version":"3.7.3"},"servers":[{"url":"https://api.tatum.io"}],"paths":{"/v4/subscription":{"post":{"description":"<p style='display: none'>/v4/subscription</p>\n<p><b>50 credits per sent Notification + 50 credits per day per alert</b></p>\n\n<p>Create and manage blockchain event notification alerts. This endpoint allows you to receive real-time webhook alerts for address activity, token transfers, and native currency transactions across supported blockchains.</p>\n\n<p><b>Tip:</b> Notifications are formatted using <b>Templates</b>. We recommend using the <b>enriched</b> template because it provides clean, human-readable enhanced data with token metadata. Learn more:  \n👉 <a href=\"https://docs.tatum.io/reference/createnotificationtemplate\">Learn more</a></p>\n\n<p><b>Supported Notification Types:</b></p>\n<ul>\n  <li><b>ADDRESS_EVENT</b> – Triggered for any address-level transaction or event.</li>\n  <li><b>INCOMING_FUNGIBLE_TX / OUTGOING_FUNGIBLE_TX</b> – Detects ERC20 or equivalent token transfers.</li>\n  <li><b>INCOMING_NATIVE_TX / OUTGOING_NATIVE_TX</b> – Detects native currency transfers (ETH, MATIC, etc.).</li>\n</ul>\n\n<p>For more alert types &amp; chain support, see:\n👉 <a href=\"https://docs.tatum.io/reference/notifications-supported-chains\">Alerts Overview</a></p>\n\n<p><b>Restrictions</b></p>\n<p>Each alert must be unique within your API key based on the following fields. If a matching alert already exists, creation will be rejected:</p>\n<ul>\n  <li><b>Address alerts</b> (ADDRESS_EVENT, INCOMING/OUTGOING_NATIVE_TX, etc.) – unique by <code>type + chain + address + url</code></li>\n  <li><b>Contract log alerts</b> (CONTRACT_ADDRESS_LOG_EVENT) – unique by <code>type + chain + contractAddress + event + url</code></li>\n  <li><b>Block alerts</b> (FAILED_TXS_PER_BLOCK) – unique by <code>type + chain + url</code></li>\n</ul>\n<p>To monitor the same address with different configurations (e.g. different conditions or finality), use a different webhook URL for each alert.</p>\n\n<p><b>Webhook Response Format</b></p>\n<p><i>Recommended Default: <code>templateId = \"enriched\"</code></i></p>\n\n<p>If you do not specify a custom template, the response will use the legacy format. However, the <b>enriched</b> template is recommended because it provides structured, human-readable fields and token metadata.</p>\n\n<p>To learn about legacy format, custom templates, or <code>enriched_with_raw_data</code>, visit:  \n👉 <a href=\"https://docs.tatum.io/reference/createnotificationtemplate\">Learn more</a></p>\n\n<p><b>Example: Enriched Template Webhook Payload</b></p>\n<pre>\n  {\n    \"data\": {\n      \"kind\": \"transfer\",\n      \"blockHash\": \"0x1234567890abcdef...\",\n      \"blockNumber\": 18500000,\n      \"blockTimestamp\": 1699123456,\n      \"txId\": \"0xabcdef1234567890...\",\n      \"currency\": \"ETH\",\n      \"txTimestamp\": 1699123456,\n      \"from\": \"0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6\",\n      \"to\": \"0x8ba1f109551bD432803012645Hac136c\",\n      \"value\": \"1000000000000000000\",\n\n      \"contractAddress\": \"0xA0b86a33E6441b8c4C8C0C8C0C8C0C8C0C8C0C8C0C\",\n      \"tokenId\": \"12345\",\n\n      \"additionalData\": {\n        \"gasUsed\": \"21000\",\n        \"gasPrice\": \"20000000000\"\n      },\n\n      \"tokenMetadata\": {\n        \"type\": \"nft\",\n        \"decimals\": 0,\n        \"symbol\": \"NFT\",\n        \"name\": \"My NFT\",\n        \"uri\": \"https://api.example.com/metadata/12345\"\n      },\n\n      \"subscriptionId\": \"64f1a2b3c4d5e6f7g8h9i0j1\",\n      \"subscriptionType\": \"ADDRESS_EVENT\"\n    },\n    \"location\": \"...\",\n    \"scheme\": \"...\"\n  }\n</pre>\n","operationId":"createSubscriptionV4","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateAddressEventSubscriptionV4"},{"$ref":"#/components/schemas/CreateIncomingNativeSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingNativeSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingFailedSubscriptionV4"},{"$ref":"#/components/schemas/CreatePaidFeeSubscriptionV4"},{"$ref":"#/components/schemas/CreateIncomingInternalSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingInternalSubscriptionV4"},{"$ref":"#/components/schemas/CreateIncomingFungibleSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingFungibleSubscriptionV4"},{"$ref":"#/components/schemas/CreateIncomingNftSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingNftSubscriptionV4"},{"$ref":"#/components/schemas/CreateIncomingMultitokenSubscriptionV4"},{"$ref":"#/components/schemas/CreateOutgoingMultitokenSubscriptionV4"},{"$ref":"#/components/schemas/CreateFailedTxsPerBlockSubscriptionV4"},{"$ref":"#/components/schemas/CreateContractAddressLogEventSubscriptionV4"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Id"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"description":"Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403SubscriptionType"},{"$ref":"#/components/schemas/Error403SubscriptionCurrency"},{"$ref":"#/components/schemas/Error403SubscriptionBalance"},{"$ref":"#/components/schemas/Error403SubscriptionInterval"},{"$ref":"#/components/schemas/Error403SubscriptionId"},{"$ref":"#/components/schemas/Error403SubscriptionPendingId"}]}}}},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Create an alert","tags":["Subscriptions"]},"get":{"description":"<p style=\"display: none\">/v4/subscription</p>\n<p>List all active alerts.</p>\n","operationId":"getSubscriptionsV4","parameters":[{"description":"Max number of items per page is 50.","in":"query","name":"pageSize","schema":{"type":"number","example":10,"maximum":50,"minimum":1},"required":true},{"description":"Offset to obtain next page of the data.","in":"query","name":"offset","schema":{"type":"number","example":0}},{"description":"Value for filtering by address","in":"query","name":"address","schema":{"type":"string"}},{"description":"Filter by alert type. Multiple values can be passed as a comma-separated list.","in":"query","name":"type","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionType"}},"example":["ADDRESS_EVENT","INCOMING_NATIVE_TX"]},{"description":"Filter by public chain name. Use chain names such as `ethereum-mainnet`, not currency symbols such as `ETH`. Multiple values can be passed as a comma-separated list.","in":"query","name":"chain","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","example":"ethereum-mainnet"}},"example":["ethereum-mainnet","bitcoin-mainnet"]},{"description":"Filter by alert status.","in":"query","name":"status","schema":{"type":"string","enum":["active","paused"],"example":"active"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SubscriptionV4"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"List all active alerts","tags":["Subscriptions"]},"put":{"deprecated":true,"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription</p>\n<p>Enable HMAC hash ID on the fired webhooks from Tatum API.\nIn order to make sure that a webhook is sent by us, we have the possibility to sign it with the HMAC Sha512 Hex algorithm.<br/>\nTo verify that a webhook is sent by us\n<ol>\n<li>Get a webhook <b>x-payload-hash</b> header value and payload as it is as a JSON file.</li>\n<li>Convert the HTTP webhook body to stringify JSON without any spaces. In JavaScript, you would do it like this <pre>JSON.stringify(req.body)</pre></li>\n<li>Perform calculations on your side to create a digest using Secret Key, webhook payload in bytes and HMAC SHA512 algorithm. JavaScript example:\n<pre>require('crypto').createHmac('sha512', hmacSecret).update(JSON.stringify(req.body)).digest('base64')</pre>.</li>\n<li>Compare x-payload-hash header value with calculated digest as a Base64 string.</li></p>\n","operationId":"enableWebHookHmac","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HmacWebHook"}}},"required":true},"responses":{"204":{"description":"OK"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Enable HMAC webhook digest","tags":["Notifications"]},"delete":{"deprecated":true,"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription</p>\n<p>Disable HMAC hash ID on the fired webhooks from Tatum API.</p>\n","operationId":"disableWebHookHmac","responses":{"204":{"description":"OK"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Disable HMAC webhook digest","tags":["Notifications"]}},"/v4/subscription/count":{"get":{"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription/count</p>\n<p>Count of alerts that were found from /v4/subscription</p>\n","operationId":"getSubscriptionsCount","parameters":[{"description":"Max number of items per page is 50.","in":"query","name":"pageSize","schema":{"type":"number","example":10,"maximum":50,"minimum":1},"required":true},{"description":"Offset to obtain next page of the data.","in":"query","name":"offset","schema":{"type":"number","example":0}},{"description":"Value for filtering by address","in":"query","name":"address","schema":{"type":"string"}},{"description":"Filter by alert type. Multiple values can be passed as a comma-separated list.","in":"query","name":"type","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionType"}},"example":["ADDRESS_EVENT","INCOMING_NATIVE_TX"]},{"description":"Filter by public chain name. Use chain names such as `ethereum-mainnet`, not currency symbols such as `ETH`. Multiple values can be passed as a comma-separated list.","in":"query","name":"chain","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","example":"ethereum-mainnet"}},"example":["ethereum-mainnet","bitcoin-mainnet"]},{"description":"Filter by alert status.","in":"query","name":"status","schema":{"type":"string","enum":["active","paused"],"example":"active"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitiesCount"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Count of alerts","tags":["Subscriptions"]}},"/v4/subscription/{id}":{"get":{"description":"<p style=\"display: none\">/v4/subscription/{id}</p>\n<p>Get alert by ID.</p>\n","operationId":"getSubscriptionV4","parameters":[{"description":"Alert ID","in":"path","name":"id","required":true,"schema":{"type":"string","example":"5e68c66581f2ee32bc354087"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionV4"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Get alert by ID","tags":["Subscriptions"]},"put":{"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription/{id}</p>\n<p>Update alert.</p>\n","operationId":"updateSubscription","parameters":[{"description":"Alert ID","in":"path","name":"id","required":true,"schema":{"type":"string","example":"5e68c66581f2ee32bc354087"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/NotificationUrl"},"mempool":{"description":"Flag indicating whether the alert should include mempool transactions. Only available on BTC blockchain.","type":"boolean"},"paused":{"description":"Flag indicating whether the alert should be paused or resumed.","type":"boolean"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Update alert","tags":["Subscriptions"]},"delete":{"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription/{id}</p>\n<p>Cancel existing alert.</p>\n","parameters":[{"description":"Alert ID","in":"path","name":"id","required":true,"schema":{"type":"string","example":"5e68c66581f2ee32bc354087"}}],"operationId":"deleteSubscription","responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Cancel existing alert","tags":["Subscriptions"]}},"/v4/subscription/batch":{"put":{"description":"<p style=\"display: none\">/v4/subscription/batch</p>\n<p>Update all alerts for specified chain.</p>\n","operationId":"updateSubscriptionsByChain","parameters":[{"description":"Chain","in":"query","name":"chain","schema":{"type":"string"},"example":"tron-mainnet","required":true},{"description":"Webhook URL","in":"query","name":"url","schema":{"type":"string","maxLength":500},"example":"https://dashboard.tatum.io/webhook-handler"},{"description":"Finality (only available on TRON and EVM for now)","in":"query","name":"finality","schema":{"type":"string","enum":["confirmed","final"]}}],"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Update alerts by chain","tags":["Subscriptions"]}},"/v4/subscription/webhook":{"get":{"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription/webhook</p>\n<p>List all webhooks.</p>\n","operationId":"getAllWebhooksV4","parameters":[{"description":"Max number of items per page is 50.","in":"query","name":"pageSize","schema":{"type":"number","example":10,"maximum":50,"minimum":1},"required":true},{"description":"Offset to obtain the next page of data.","in":"query","name":"offset","schema":{"type":"number","example":0}},{"description":"Direction of sorting","in":"query","name":"direction","schema":{"type":"string","enum":["asc","desc"],"example":"asc"}},{"description":"Flag indicating whether the webhook was successful or not","in":"query","name":"failed","schema":{"type":"boolean","example":false}},{"description":"Filter by alert ID.","in":"query","name":"subscriptionId","schema":{"type":"string","example":"507f1f77bcf86cd799439011"}},{"description":"Return webhooks created at or after this Unix timestamp in seconds.","in":"query","name":"from","schema":{"type":"number","example":1700000000}},{"description":"Return webhooks created at or before this Unix timestamp in seconds.","in":"query","name":"to","schema":{"type":"number","example":1700001000}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WebHookV4"},"type":"array"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"List all executed webhooks","tags":["Notifications"]}},"/v4/subscription/webhook/count":{"get":{"description":"> This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.\n\n<p style=\"display: none\">/v4/subscription/webhook/count</p>\n<p>Count of webhooks that were found from /v4/subscription/webhook</p>\n","operationId":"getAllWebhooksCount","parameters":[{"description":"Max number of items per page is 50.","in":"query","name":"pageSize","schema":{"type":"number","example":10,"maximum":50,"minimum":1},"required":true},{"description":"Offset to obtain the next page of data.","in":"query","name":"offset","schema":{"type":"number","example":0}},{"description":"Direction of sorting","in":"query","name":"direction","schema":{"type":"string","example":"asc","enum":["asc","desc"]}},{"description":"Flag indicating whether the webhook was successful or not","in":"query","name":"failed","schema":{"type":"boolean","example":false}},{"description":"Filter by alert ID.","in":"query","name":"subscriptionId","schema":{"type":"string","example":"507f1f77bcf86cd799439011"}},{"description":"Count webhooks created at or after this Unix timestamp in seconds.","in":"query","name":"from","schema":{"type":"number","example":1700000000}},{"description":"Count webhooks created at or before this Unix timestamp in seconds.","in":"query","name":"to","schema":{"type":"number","example":1700001000}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitiesCount"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Count of found entities for get webhook request","tags":["Notifications"]}},"/v4/subscription/webhook/{id}/retry":{"post":{"description":"<p style=\"display: none\">/v4/subscription/webhook/{id}/retry</p>\n<p>Retry a failed webhook by re-queueing it for delivery. Only webhooks in the failed state can be retried.</p>\n","operationId":"retryWebhookV4","parameters":[{"description":"Webhook ID from `webhook_processed`.","in":"path","name":"id","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"}}],"responses":{"204":{"description":"Webhook was queued for retry."},"400":{"description":"Invalid webhook ID or webhook is not in failed state."},"401":{"$ref":"#/components/responses/Error401"},"404":{"description":"Webhook was not found for the authenticated API key."},"409":{"description":"Webhook is already queued for retry."},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Retry a failed webhook","tags":["Notifications"]}},"/v4/subscription/template":{"post":{"description":"<p style=\"display: none\">/v4/subscription/template</p>\n<p>Create a custom notification template. Afterwards you can use its id as <code>templateId</code> when creating or updating alerts (only available on TRON and EVM for now).</p>\n","operationId":"createNotificationTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationTemplate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Id"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Create a notification template (V4)","tags":["Templates"]},"get":{"description":"<p style=\"display: none\">/v4/subscription/template</p>\n<p>List all custom templates.</p>\n","operationId":"getNotificationTemplates","parameters":[{"description":"Max number of items per page is 50.","in":"query","name":"pageSize","schema":{"type":"number","example":10,"maximum":50,"minimum":1},"required":true},{"description":"Offset to obtain next page of the data.","in":"query","name":"offset","schema":{"type":"number","example":0}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationTemplate"}}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"List all notification templates (V4)","tags":["Templates"]}},"/v4/subscription/template/default":{"get":{"description":"<p style=\"display: none\">/v4/subscription/template/default</p>\n<p>Get the default notification template for the current API key. This template is used for alerts that do not have an explicit <code>templateId</code> set.</p>\n","operationId":"getDefaultNotificationTemplate","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultNotificationTemplate"}}},"description":"OK"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Get the default notification template","tags":["Templates"]},"put":{"description":"<p style=\"display: none\">/v4/subscription/template/default</p>\n<p>Update the default notification template for the current API key. Accepts <code>enriched</code>, <code>enriched_with_raw_data</code>, or a custom template ID. Custom template must exist. Deprecated <code>legacy</code> is also accepted.</p>\n","operationId":"updateDefaultNotificationTemplate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDefaultNotificationTemplate"}}}},"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Update the default notification template","tags":["Templates"]}},"/v4/subscription/template/{id}":{"put":{"description":"<p style=\"display: none\">/v4/subscription/template/{id}</p>\n<p>Update notification template.</p>\n","operationId":"updateNotificationTemplate","parameters":[{"description":"Notification template ID","in":"path","name":"id","required":true,"schema":{"type":"string","example":"5e68c66581f2ee32bc354087"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationTemplate"}}}},"responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Update notification template (V4)","tags":["Templates"]},"delete":{"description":"<p style=\"display: none\">/v4/subscription/template/{id}</p>\n<p>Delete existing notification template and remove it from all alerts using it. If the template is used as the default for the account, the system default (<code>enriched</code>) will be set instead.</p>\n","parameters":[{"description":"Notification template ID","in":"path","name":"id","required":true,"schema":{"type":"string","example":"5e68c66581f2ee32bc354087"}}],"operationId":"deleteNotificationTemplate","responses":{"204":{"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Delete notification template (V4)","tags":["Templates"]}},"/v3/subscription":{"post":{"deprecated":true,"description":"> 📘 **Tip:** To create Notifications on the mainnet or testnet you can use your respective keys from the Dashboard.\n\n<p style=\"display: none\">/v3/subscription</p>\n<p><b>50 credits per sent Notification + 50 credits per day per alert</b></p>\n<p>For Free plans, there is a monthly limit of sent webhooks, which is <b>1000</b>.</p>\n<p>If the webhook is sent unsuccessfully, it will be retried. The number of retries depends on the plan. </p>\n<ul>\n  <li><b>Free Plan</b> - 3 retries</li>\n  <li><b>Paid plans</b> - 10 retries</li>\n</ul>\n<p>Create an alert as an HTTP web hook.</p>\n<p>The following alert types are available:</p>\n<ul>\n<li><b>ADDRESS_TRANSACTION</b> - Enable HTTP POST JSON notifications for any blockchain transaction (both incoming and outgoing) at a specified address. This notification applies to transactions in the native blockchain currency or with any type of blockchain tokens.<br/>\n- For <b>EVM-based blockchains</b> (ETH), this web hook might be first invoked when a transaction appears in the mempool. In that case the webhook has a field \"mempool\" set to \"true\". Then it is invoked again once the transaction is added to a block.<br/>\n- For the <b>other blockchains</b>, this webhook is invoked when a transaction is added to a block.<br/>\nFree community plans can monitor up to 10 addresses per plan.<br/>\n<p>The following table describes the availability of this notification type on different blockchains and the credit consumption:</p>\n<table>\n  <tr>\n    <th>Chain</th>\n    <th>Testnet/Mainnet</th>\n    <th>Token assets support</th>\n    <th>Plan limitation</th>\n  </tr>\n  <tr>\n    <td>Solana</td>\n    <td>Yes/Yes</td>\n    <td>SOL, SPL and NFTs</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Polygon</td>\n    <td>Yes/Yes</td>\n    <td>MATIC, ERC20, ERC721, ERC1155</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Bitcoin</td>\n    <td>Yes/Yes</td>\n    <td>BTC</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Litecoin</td>\n    <td>Yes/Yes</td>\n    <td>LTC</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Bitcoin Cash</td>\n    <td>Yes/Yes</td>\n    <td>BCH, only incoming transactions</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Dogecoin</td>\n    <td>Yes/Yes</td>\n    <td>DOGE, only incoming transactions</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n   <tr>\n    <td>Tron</td>\n    <td>Yes/Yes</td>\n    <td>Tron, TRC10/TRC20</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Binance Smart Chain</td>\n    <td>Yes/Yes</td>\n    <td>BSC, BEP20, ERC721, ERC1155</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>\n  <tr>\n    <td>Other chains</td>\n    <td>Yes/Yes</td>\n    <td>NATIVE, ERC20, ERC721, ERC1155</td>\n    <td>Free plans - 10 addresses across all blockchains, Paid plans - unlimited addresses across all blockchains</td>\n  </tr>     \n</table>\nThe request body of the POST request is a JSON object with the following structure:<br/>\n<pre>{\n  \"address\": \"FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ\", // the address on which the transaction occurs; for EVM-based chains, this is the sender's address\n  \"txId\": \"2rdy3YCZHSwvpWtuDom1d4Jjy5UU9STLxF3ffXau6GToReDkfw8wEgX541fvzvh6btVC5D8iNapcKTXfPsoDBk7A\", // the transaction ID\n  \"blockNumber\": 110827114, // the block number; does not appear if the transaction is in the mempool (for EVM-based blockchains)\n  \"asset\": \"3gUeeR3BfVhukYJMwtHownRtRkGcf1bvwiV8TbKMZBVz\", // the asset of the transaction: for token assets, this is the token address; for native blochckain assets, this is the name of the asset (for example, SOL)\n  \"amount\": \"1\", // the amount of the asset that was credited to (+) or debited from (-) the address; for EVM-based chains, when \"counterAddress\" is present, the amount is always positive\n  \"tokenId\": \"1\", // (ERC-721 / ERC-1155 only) the ID of the transferred token\n  \"type\": \"token\", // the type of the transaction; can be either \"native\" or \"token\"\n  \"mempool\": true, // (EVM-based blockchains only) if appears and set to \"true\", the transaction is in the mempool; if set to \"false\" or does not appear at all, the transaction has been added to a block\n  \"counterAddress\": undefined // an optional counter party address of the transaction; for EVM-based blockchains, this is the recipient's address // UTXO based chains return without this parameter, since UTXO is many-to-many by design.\n  \"addressesRiskRatio\": [ // (optional, subject to change; for Solana mainnet only) risk levels assigned to the addresses with which the address communicated within the transaction; the addresses are assessed using the AML/CFT solution by blockmate.io, see https://docs.blockmate.io/docs/risk-API/sources\n    {\"vTEfAhXTmvgFmepgfhzBbRrJ4EtUP9adbMJjpzLsDMk\": 0},\n    {\"zBbRrJ4EtUP9adbMJjpzLsDMkvTEfAhXTmvgFmepgfh\": 100}\n  ]\n}</pre></li>\n<li><b>CONTRACT_NFT_TXS_PER_BLOCK</b> - Enable HTTP POST JSON notifications for any event of minting, transferring, or burning an NFT that was emitted from any smart contract. This notification is fired as a batch notification per block: it includes all NFT minting, transferring, or burning events from all smart contracts that got recorded into a block.<br/>\nFree community plans can monitor 1 event across all blockchains per plan.<br/><br/>\nThe request body of the POST request is a JSON object with the following structure:<br/>\n<pre>{\n \"events\": [\n   {\n     \"timestamp\": 1661961758000,\n     \"from\": \"0x0000000000000000000000000000000000000000\",\n     \"to\": \"0xfa4e7035b34294407e5df1603215983d65e5a773\",\n     \"tokenId\": \"14671\",\n     \"txId\": \"0x916fcf878656f7a3772317697e6d2740ac8b1b7dbe6d029aa79592fd72f3fb0b\",\n     \"contractAddress\": \"0x55a2430e32dcebc3649120f26f917d1f0686f74c\",\n     \"type\": \"erc721\",\n     \"amount\": \"1\",\n     \"logIndex\": 578,\n     \"metadataURI\": \"https://graphigo.prd.galaxy.eco/metadata/0x55a2430e32dcebc3649120f26f917d1f0686f74c/14671.json\"\n   }\n ],\n \"blockNumber\": 32522207,\n \"chain\": \"polygon-mainnet\",\n \"subscriptionType\": \"CONTRACT_NFT_TXS_PER_BLOCK\"\n }</pre></li>\n<li><b>CONTRACT_MULTITOKEN_TXS_PER_BLOCK</b> - Enable HTTP POST JSON notifications for any event of minting, transferring, or burning a Multi-Token that was emitted from any smart contract. This notification is fired as a batch notification per block: it includes all Multi Token minting, transferring, or burning events from all smart contracts that got recorded into a block.<br/>\nFree community plans can monitor 1 event across all blockchains per plan.<br/><br/>\nThe request body of the POST request is a JSON object with the following structure:<br/>\n<pre>{\n \"events\": [\n   {\n     \"timestamp\": 1661961758000,\n     \"from\": \"0x85bd970cf0e49acd572f9c2d608713bc55b5ee0e\",\n     \"to\": \"0x9ab31230d5413e4af01af9bb697651a3c70c95c9\",\n     \"tokenId\": \"1450000023306\",\n     \"txId\": \"0x565b9ca6b7b5ff1b1ce0725acd785dbf5ff0930d5ff547bad044c0960291555f\",\n     \"contractAddress\": \"0xdb6290f355a528a7284bdd528b05a78fb05226ca\",\n     \"type\": \"erc1155\",\n     \"amount\": \"1\",\n     \"logIndex\": 571,\n     \"metadataURI\": \"https://touhao.bj.bcebos.com/nft/metadata/1450000023306.json\"\n   }\n ],\n \"blockNumber\": 32522207,\n \"chain\": \"polygon-mainnet\",\n \"subscriptionType\": \"CONTRACT_MULTITOKEN_TXS_PER_BLOCK\"\n}</pre></li>\n<li><b>CONTRACT_LOG_EVENT</b> - Enable HTTP POST JSON notifications for any event that was emitted from any smart contract. This notification is fired as a batch notification per block: it includes all events from all smart contracts that got recorded into a block.<br/>\nFree community plans can monitor 1 event across all blockchains per plan.<br/><br/>\nThe request body of the POST request is a JSON object with the following structure:<br/>\n<pre>{\n \"events\": [\n   {\n     \"txId\": \"0xc98307f09ed527d5cff8305e8f65226b790e3317ded10b9e58f6f07286dcf8f1\",\n     \"logIndex\": 326,\n     \"timestamp\": 1661774265000,\n     \"address\": \"0xc2132d05d31c914a87c6611c10748aeb04b58e8f\",\n     \"topic_0\": \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n     \"topic_1\": \"0x000000000000000000000000a91ab7d77892a559d2a95baaf1d748fc97c65d29\",\n     \"topic_2\": \"0x0000000000000000000000009b08288c3be4f62bbf8d1c20ac9c5e6f9467d8b7\",\n     \"topic_3\": null,\n     \"data\": \"0x0000000000000000000000000000000000000000000000000000000002c9e3e4\"\n   }\n ],\n \"blockNumber\": 32447538,\n \"chain\": \"polygon-amoy\",\n \"subscriptionType\": \"CONTRACT_LOG_EVENT\"\n}</pre></li>\n<li><b>ACCOUNT_INCOMING_BLOCKCHAIN_TRANSACTION</b> - Enable HTTP POST JSON notifications about incoming blockchain transactions on virtual accounts.\nThis web hook is invoked when an incoming transaction is reflected on the balance of the virtual account (the balance is credited with the transaction amount). This happens when the transaction has the sufficient number of blockchain confirmations: two confirmations for BTC, LTC, BCH, and DOGE, and one confirmation for the other blockchains.<br/>\nThe request body of the POST request is a JSON object with the following structure:\n<pre>{\n  \"date\": 1619176527481,\n  \"amount\": \"0.005\",\n  \"currency\": \"BTC\",\n  \"subscriptionType\":\"ACCOUNT_INCOMING_BLOCKCHAIN_TRANSACTION\",\n  \"accountId\": \"6082ab462936b4478117c6a0\",\n  \"reference: \"c9875708-4ba3-41c9-a4cd-271048b41b9a\", // the reference of the transaction in the virtual account\n  \"txId\": \"45af182a0ffab58e5ba32fee57b297b2260c6e23a1de5ddc76c7ee22d72dea99\",\n  \"blockHash\": \"45af182a0ffab58e5ba32fee57b297b2260c6e23a1de5ddc76c7ee22d72dea99\", // the hash of the block, might not be present every time\n  \"blockHeight\": 12345,\n  \"from\": \"SENDER_ADDRESS\", // might not be present every time; not present for UTXO-based blockchains\n  \"to\": \"RECIPIENT_ADDRESS_CONNECTED_TO_LEDGER_ACCOUNT\", // the blockchain address of the recipient\n  \"index\": 5 // for UTXO-based blockchains (BCH, BTC, DOGE, LTC), this is the index of the output in the transaction\n}</pre></li>\n<li><b>ACCOUNT_PENDING_BLOCKCHAIN_TRANSACTION</b> - Enable HTTP POST JSON notifications about incoming blockchain transactions on virtual accounts.<br />\nThis web hook is supported only for BCH, BTC, DOGE, ETH, and LTC accounts.<br />\n- For <b>BTC-based blockchains</b> (BCH, BTC, DOGE, and LTC), this web hook is invoked when an incoming transaction appears in a block for the first time. At that time, the transaction has one confirmation but this is not enough for the transaction to be reflected on the balance of the virtual account yet. Instead, a deposit corresponding to the pending transaction with a status of \"in progress\" appears on the virtual account. Once the transaction is added to the block, the deposit's status changes to \"done\", and the account balance gets updated.<br />\n- For <b>EVM-based blockchains</b> (ETH), this web hook is invoked when an incoming transaction appears in the mempool. The virtual account balance is not updated until the transaction is added to a block. Instead, a deposit corresponding to the pending transaction with a status of \"in progress\" appears on the virtual account. Once the transaction is added to the block, the deposit's status changes to \"done\", and the account balance gets updated.<br />\nThe request body of the POST request is a JSON object with the following structure:<br/>\n<pre>{\n  \"date\": 1619176527481,\n  \"amount\": \"0.005\",\n  \"currency\": \"BTC\",\n  \"accountId\": \"6082ab462936b4478117c6a0\",\n  \"reference: \"c9875708-4ba3-41c9-a4cd-271048b41b9a\", // the reference of the transaction in the virtual account\n  \"txId\": \"45af182a0ffab58e5ba32fee57b297b2260c6e23a1de5ddc76c7ee22d72dea99\",\n  \"blockHash\": \"45af182a0ffab58e5ba32fee57b297b2260c6e23a1de5ddc76c7ee22d72dea99\", // the hash of the block, might not be present every time; if set to \"null\", the transaction is in the mempool (for EVM-based blockchains)\n  \"blockHeight\": 12345, // if set to \"null\", the transaction is in the mempool (for EVM-based blockchains)\n  \"from\": \"SENDER_ADDRESS\", // might not be present every time; not present for UTXO-based blockchains (BCH, BTC, DOGE, LTC)\n  \"to\": \"RECIPIENT_ADDRESS_CONNECTED_TO_LEDGER_ACCOUNT\", // the blockchain address of the recipient\n  \"index\": 5 // for UTXO-based blockchains (BCH, BTC, DOGE, LTC), this is the index of the output in the transaction\n}</pre></li>\n<li><b>CUSTOMER_TRADE_MATCH</b> - Enable HTTP POST JSON notifications on closed trade, which occurs on any customer account.\nThis web hook will be invoked, when the open trade is filled and closed. Works also for the Trade Futures. If is triggered by the futures, bool field expiredWithoutMatch is present.\nRequest body of the POST request will be JSON object with attributes:<br/>\n<pre>{\n  \"created\": 1619176527481,\n  \"amount\": \"0.005\",\n  \"price\": \"0.02\",\n  \"type\": \"SELL\",\n  \"pair\": \"VC_CHF/VC_CHF3\",\n  \"id\": \"6082ab462936b4478117c6a0\", // id of the trade\n  \"currency1AccountId\": \"6082ab462936b4478117c6a0\",\n  \"currency2AccountId\": \"6082ab512936b4478117c6a2\",\n  \"fee\": null,\n  \"feeAccountId\": null,\n  \"isMaker\": true,\n  \"expiredWithoutMatch\": false\n}</pre></li>\n<li><b>CUSTOMER_PARTIAL_TRADE_MATCH</b> - Enable HTTP POST JSON notifications on partialy filled trade, which occurs on any customer account.\nThis web hook will be invoked, when the open trade is partialy filled.\nRequest body of the POST request will be JSON object with attributes:<br/>\n<pre>{\n  \"created\": 1619176527481,\n  \"amount\": \"0.005\",\n  \"orderAmount\": \"0.1\",\n  \"price\": \"0.02\",\n  \"type\": \"SELL\",\n  \"pair\": \"VC_CHF/VC_CHF3\",\n  \"id\": \"6082ab462936b4478117c6a0\", // id of the trade\n  \"currency1AccountId\": \"6082ab462936b4478117c6a0\",\n  \"currency2AccountId\": \"6082ab512936b4478117c6a2\",\n  \"fee\": null,\n  \"feeAccountId\": null,\n  \"isMaker\": true,\n  \"expiredWithoutMatch\": false\n}</pre></li>\n<li><b>TRANSACTION_IN_THE_BLOCK</b> - Enable HTTP POST JSON notifications on ledger => blockchain transaction, when transaction is included in the block.\nThis web hook will be invoked, when the outgoing transaction is included in the block.\nRequest body of the POST request will be JSON object with attributes:<br/>\n<pre>\n  {\n    \"txId\": \"0x026f4f05b972c09279111da13dfd20d8df04eff436d7f604cd97b9ffaa690567\",\n    \"reference\": \"90270634-5b07-4fad-b17b-f82899953533\",\n    \"accountId\": \"6086ed0744c45b24d4fbd039\",\n    \"currency\": \"BSC\",\n    \"withdrawalId\": \"608fe5b73a893234ba379ab2\",\n    \"address\": \"0x8ce4e40889a13971681391AAd29E88eFAF91f784\",\n    \"amount\": \"0.1\",\n    \"blockHeight\": 8517664\n  }</pre></li>\n<li><b>KMS_FAILED_TX</b> - Enable HTTP POST JSON notifications on error during KMS signature process.\nThis web hook will be invoked, when the Tatum KMS receives error during processing transactions.\nRequest body of the POST request will be JSON object with attributes:<br/>\n<pre>{\n  \"signatureId\": \"6082ab462936b4478117c6a0\",\n  \"error\": \"Error message from the KMS\"\n}</pre></li>\n<li><b>KMS_COMPLETED_TX</b> - Enable HTTP POST JSON notifications on successful completion of KMS signature process.\nThis web hook will be invoked, when the Tatum KMS successfully completes the signature during processing transactions.\nRequest body of the POST request will be JSON object with attributes:<br/>\n<pre>{\n  \"signatureId\": \"6082ab462936b4478117c6a0\",\n  \"txId\": \"0x7bb7d3b90567e89f999f2e3d263bc3738a018dbbcfa9f5397678cf17cdf0235f\"\n}</pre></li>\n</ul>\nIn case of unsuccesful web hook response status - other then 2xx - web hook is repeated 9 more times with exponential backoff.\nParameters are T = 15 * 2.7925^9, where 15 is interval in s, backoff rate is 2.7925 and 9 is current number of retries. Last web hook is fired after 24 hours approximatelly. After last failed attempt, web hook is deleted from our system. The 2xx response must be returned in 10 seconds after web hook is fired.<br/>\nResult of the operation is an alert ID, which can be used to cancel the alert or obtain additional data connected to it like reports.</p>\n","operationId":"createSubscription","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateAddressTransactionSubscription"},{"$ref":"#/components/schemas/CreateSubscriptionNftTransferEvent"},{"$ref":"#/components/schemas/CreateSubscriptionMultiTokenTransferEvent"},{"$ref":"#/components/schemas/CreateContractLogEventSubscription"},{"$ref":"#/components/schemas/CreateSubscriptionIncoming"},{"$ref":"#/components/schemas/CreateSubscriptionPending"},{"$ref":"#/components/schemas/CreateSubscriptionTradeMatch"},{"$ref":"#/components/schemas/CreateSubscriptionPartialTradeMatch"},{"$ref":"#/components/schemas/CreateSubscriptionKMSError"},{"$ref":"#/components/schemas/CreateSubscriptionKMSSuccess"},{"$ref":"#/components/schemas/CreateSubscriptionTxInTheBlock"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Id"}}},"description":"OK"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"description":"Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Error403SubscriptionType"},{"$ref":"#/components/schemas/Error403SubscriptionCurrency"},{"$ref":"#/components/schemas/Error403SubscriptionBalance"},{"$ref":"#/components/schemas/Error403SubscriptionInterval"},{"$ref":"#/components/schemas/Error403SubscriptionId"},{"$ref":"#/components/schemas/Error403SubscriptionPendingId"}]}}}},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"X-API-Key":[]}],"x-codeSamples":[],"summary":"Create an alert","tags":["Subscriptions"]}}},"components":{"securitySchemes":{"X-API-Key":{"type":"apiKey","name":"x-api-key","in":"header","description":"Your **API key** is used to identify your account & your plan, including the number of API calls per second and total monthly calls you have.\n\nEach key is for individual use only.\n\nIf you don't have a key already you can [Sign up for a Free Tatum account](https://co.tatum.io/signup) to get two keys (testnet and mainnet), allowing up to 5 API calls per second and 1,000,000 Credits.\n\nFor testing purposes, you can use the following key which only works inside docs and has limited functionality (e.g. you cannot create virtual accounts or notification subscriptions with it):\n* t-66a730ccccfd17001c479705-2f597d14ad7543f289a03418\n\nFor more details on limits and plans, [click here](https://docs.tatum.io/docs/plans-limits).\n"}},"responses":{"Error400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errorCode":{"example":"validation.failed","description":"validation.failed","type":"string"},"message":{"example":"Request validation failed. Please see data for additional information.","description":"Request validation failed. Please see data for additional information.","type":"string"},"statusCode":{"example":400,"description":"400","type":"number"},"data":{"type":"array","items":{"type":"object","required":["target"],"properties":{"target":{"type":"object","additionalProperties":true,"description":"Request object present in the body of the HTTP request","example":{"property":12345}},"value":{"type":"number","description":"Value of the target object which validation is wrong. Can be of any data type, example here is using type number.","example":12345},"property":{"type":"string","description":"Property name of the target object which validation is wrong","example":"property1"},"constraints":{"type":"object","additionalProperties":true,"description":"Object of failed constraints for the target object. Key is the constraint, value is detailed description of the failed constraint.","example":{"min":"property1 must not be less than 50000"}}}}}},"required":["errorCode","message","statusCode","data"],"type":"object"}}}},"Error401":{"description":"Unauthorized. Not valid or inactive subscription key present in the HTTP Header.","content":{"application/json":{"schema":{"oneOf":[{"properties":{"errorCode":{"example":"subscription.not.active","description":"subscription.not.active","type":"string"},"message":{"example":"Subscription not active anymore.","description":"Subscription not active anymore.","type":"string"},"statusCode":{"example":401,"description":"401","type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},{"properties":{"errorCode":{"example":"subscription.invalid","description":"subscription.invalid","type":"string"},"message":{"example":"Unable to find valid subscription for '${apiKey}'","description":"Unable to find valid subscription for '${apiKey}'","type":"string"},"statusCode":{"example":401,"description":"401","type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"}]}}}},"Error403":{"description":"Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.","content":{"application/json":{"schema":{"properties":{"message":{"example":"Forbidden","description":"Forbidden","type":"string"},"statusCode":{"example":403,"description":"403","type":"number"}},"required":["statusCode","message"],"type":"object"}}}},"Error500":{"description":"Internal server error. There was an error on the server during the processing of the request.","content":{"application/json":{"schema":{"properties":{"message":{"example":"Internal server error","description":"Internal server error","type":"string"},"statusCode":{"example":500,"description":"500","type":"number"}},"required":["statusCode","message"],"type":"object"}}}}},"schemas":{"EntitiesCount":{"type":"object","properties":{"total":{"description":"Total entities","example":20,"type":"number"}}},"Account":{"properties":{"id":{"description":"The ID of the virtual account","example":"5e68c66581f2ee32bc354087","type":"string"},"balance":{"properties":{"accountBalance":{"description":"All assets on the account, both available and blocked","example":"1000000","type":"string"},"availableBalance":{"description":"The account balance minus the blocked assets; use the available balance to determine how much a customer can send or withdraw from their virtual account","example":"1000000","type":"string"}},"type":"object","required":["accountBalance","availableBalance"]},"currency":{"description":"The currency of the virtual account","example":"BTC","type":"string"},"frozen":{"description":"If set to \"true\", the virtual account is frozen","example":false,"type":"boolean"},"active":{"description":"If set to \"true\", the virtual account is active","example":true,"type":"boolean"},"customerId":{"description":"The ID of the customer (newly created or existing one) associated with the virtual account","type":"string","example":"5e68c66581f2ee32bc354087"},"accountNumber":{"description":"The number associated with the virtual account in an external system","maxLength":50,"minLength":1,"example":"123456","type":"string"},"accountCode":{"description":"The code associated with the virtual account in an external system to designate the purpose of the account in bookkeeping","example":"03_ACC_01","type":"string"},"accountingCurrency":{"description":"The currency in which all the transactions for all accounts will be accounted","example":"EUR","type":"string"},"xpub":{"description":"The extended public key of the blockchain wallet associated with the virtual account; used to generate deposit addresses for the virtual account","example":"xpub6FB4LJzdKNkkpsjggFAGS2p34G48pqjtmSktmK2Ke3k1LKqm9ULsg8bGfDakYUrdhe2EHw5uGKX9DrMbrgYnVfDwrksT4ZVQ3vmgEruo3Ka","type":"string"}},"required":["id","active","frozen","currency","balance"],"type":"object"},"Transaction":{"properties":{"accountId":{"description":"Source account - source of transaction(s)","example":"5e6645712b55823de7ea82f1","type":"string"},"counterAccountId":{"description":"Counter account - transaction(s) destination account. In case of blockchain recipient, this is addess of blockchain account.","example":"5e6645712b55823de7ea82f1","type":"string"},"currency":{"description":"Transaction currency","example":"BTC","type":"string"},"amount":{"description":"Amount in account's currency","example":"0.1","type":"string"},"anonymous":{"description":"Whether the transaction is anonymous. If true, counter account owner does not see source account.","example":false,"type":"boolean"},"created":{"description":"Time in UTC of transaction.","example":1572031674384,"type":"number"},"marketValue":{"description":"FIAT value of transaction.","properties":{"amount":{"description":"Value of transaction in given base pair.","example":"1235.56","type":"string"},"currency":{"description":"Base pair.","example":"EUR","type":"string","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","ALGO","ADA","BAM","BAT","BBD","BCH","BDT","BGN","BHD","BIF","BMD","BNB","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DOGE","DZD","EGP","ERN","ETB","ETH","EUR","FJD","FKP","FREE","GMC","GMC_BSC","RMD","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LEO","LINK","LKR","LRD","LSL","LTC","LTL","LVL","LYD","MAD","MATIC","MDL","MGA","MKD","MKR","MMK","MMY","MNT","MOP","MRO","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PAX","PAXG","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TRON","TUSD","BUSD","TWD","TZS","UAH","UGX","UNI","USD","USDC","USDC_MATIC","USDC_MATIC_NATIVE","USDT","USDT_TRON","USDT_MATIC","UYU","UZS","VEF","VND","VUV","WBTC","WST","XAF","XAG","XAU","XCD","XCON","XDR","XOF","XPF","XRP","YER","ZAR","ZMK","ZMW","ZWL"]},"sourceDate":{"description":"Date of validity of rate in UTC.","example":1572031674384,"type":"number"},"source":{"description":"Source of base pair.","example":"fixer.io","type":"string"}},"type":"object","required":["amount","currency","sourceDate","source"]},"operationType":{"description":"Type of operation.","enum":["PAYMENT","WITHDRAWAL","BLOCKCHAIN_TRANSACTION","EXCHANGE","FAILED","DEPOSIT","MINT","REVOKE"],"example":"PAYMENT","type":"string"},"transactionType":{"description":"Type of payment.","enum":["FAILED","DEBIT_PAYMENT","CREDIT_PAYMENT","CREDIT_DEPOSIT","DEBIT_WITHDRAWAL","CANCEL_WITHDRAWAL","DEBIT_OUTGOING_PAYMENT","CREDIT_INCOMING_PAYMENT","EXCHANGE_BUY","EXCHANGE_SELL"],"example":"CREDIT_PAYMENT","type":"string"},"reference":{"description":"Transaction internal reference - unique identifier within Tatum ledger. In order of failure, use this value to search for problems.","example":"5e6be8e9e6aa436299950c41","type":"string"},"transactionCode":{"description":"For bookkeeping to distinct transaction purpose.","example":"1_01_EXTERNAL_CODE","type":"string"},"senderNote":{"description":"Note visible for sender.","example":"Sender note","type":"string"},"recipientNote":{"description":"Note visible for both sender and recipient.","example":"Private note","type":"string"},"paymentId":{"description":"Payment ID defined in payment order by sender.","example":"65426","type":"string"},"attr":{"example":"123","description":"Present only for operationType WITHDRAWAL and XLM / XRP based accounts it represents message or destinationTag of the recipient, if present.","type":"string"},"address":{"type":"string","description":"For operationType DEPOSIT it represents address, on which was deposit credited for the account.","example":"qrppgud79n5h5ehqt9s7x8uc82pcag82es0w9tada0"},"txId":{"type":"string","description":"For operationType DEPOSIT, BLOCKCHAIN_TRANSACTION it represents transaction id, for which deposit occured.","example":"c6c176e3f6705596d58963f0ca79b34ffa5b78874a65df9c974e22cf86a7ba67"}},"type":"object","required":["accountId","reference","anonymous","amount","marketValue","created","operationType","transactionType","currency"]},"Id":{"type":"object","properties":{"id":{"type":"string","description":"ID of the entity.","example":"5e68c66581f2ee32bc354087"}}},"SubscriptionV4":{"type":"object","required":["type","id"],"properties":{"type":{"$ref":"#/components/schemas/SubscriptionType"},"id":{"type":"string","description":"ID of the alert","example":"7c21ed165e294db78b95f0f1"},"timestamp":{"type":"number","description":"Alert creation time","example":1653320900353},"attr":{"$ref":"#/components/schemas/SubscriptionV4Attributes"},"note":{"type":"string","description":"Any other relevant information such as important updates"}}},"SubscriptionV4Attributes":{"type":"object","description":"Additional attributes based on the alert type.","additionalProperties":true,"properties":{"chain":{"$ref":"#/components/schemas/ChainId"}}},"SubscriptionType":{"type":"string","description":"Type of the alert.","example":"ADDRESS_EVENT","enum":["ADDRESS_EVENT","CONTRACT_ADDRESS_LOG_EVENT","INCOMING_NATIVE_TX","OUTGOING_NATIVE_TX","OUTGOING_FAILED_TX","PAID_FEE","INCOMING_INTERNAL_TX","OUTGOING_INTERNAL_TX","INCOMING_FUNGIBLE_TX","OUTGOING_FUNGIBLE_TX","INCOMING_NFT_TX","OUTGOING_NFT_TX","INCOMING_MULTITOKEN_TX","OUTGOING_MULTITOKEN_TX","FAILED_TXS_PER_BLOCK"]},"ChainId":{"type":"string","description":"Tatum chain identifier.","example":"ethereum-mainnet","enum":["ethereum-sepolia","ethereum-mainnet","ethereum-hoodi","polygon-amoy","polygon-mainnet","kaia-mainnet","kaia-kairos","solana-devnet","solana-mainnet","celo-mainnet","celo-sepolia","lisk-mainnet","lisk-sepolia","algorand-testnet","algorand-mainnet","bitcoin-mainnet","bitcoin-testnet","bitcoin-testnet4","litecoin-mainnet","litecoin-testnet","kucoin-testnet","kucoin-mainnet","cardano-mainnet","cardano-preprod","vechain-testnet","vechain-mainnet","ripple-mainnet","ripple-testnet","xdc-mainnet","xdc-testnet","tron-mainnet","tron-shasta","bsc-mainnet","bsc-testnet","bitcoin-cash-mainnet","bitcoin-cash-testnet","stellar-mainnet","stellar-testnet","multiversx-mainnet","multiversx-testnet","dogecoin-mainnet","dogecoin-testnet","harmony-mainnet-s0","harmony-testnet-s0","eos-mainnet","eos-jungle","avalanche-mainnet","avalanche-testnet","fantom-mainnet","fantom-testnet","arbitrum-one-mainnet","arbitrum-one-sepolia","arbitrum-nova-mainnet","optimism-mainnet","optimism-testnet","near-mainnet","near-testnet","cronos-mainnet","cronos-testnet","rootstock-mainnet","rootstock-testnet","aurora-mainnet","aurora-testnet","gnosis-mainnet","gnosis-testnet","polkadot-mainnet","polkadot-westend","kusama-mainnet","oasis-mainnet","oasis-emerald","tezos-mainnet","tezos-ghostnet","zcash-mainnet","zcash-testnet","zilliqa-mainnet","zilliqa-testnet","ethereum-classic-mainnet","ethereum-classic-testnet","flare-mainnet","flare-coston","flare-coston2","flare-songbird","haqq-mainnet","haqq-testnet","chiliz-mainnet","chiliz-testnet","base-mainnet","base-sepolia","cosmos-mainnet","cosmos-testnet","iota-mainnet","iota-testnet","casper-mainnet","ton-mainnet","ton-testnet","zksync-mainnet","zksync-sepolia","berachain-mainnet","sonic-mainnet","sonic-blaze","sui-mainnet","sui-testnet","unichain-mainnet","unichain-sepolia","monad-testnet","mocachain-devnet"]},"Subscription":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ADDRESS_TRANSACTION","enum":["ACCOUNT_INCOMING_BLOCKCHAIN_TRANSACTION","ACCOUNT_PENDING_BLOCKCHAIN_TRANSACTION","KMS_FAILED_TX","KMS_COMPLETED_TX","CUSTOMER_TRADE_MATCH","CUSTOMER_PARTIAL_TRADE_MATCH","TRANSACTION_IN_THE_BLOCK","ADDRESS_TRANSACTION","CONTRACT_LOG_EVENT","CONTRACT_NFT_TXS_PER_BLOCK","CONTRACT_MULTITOKEN_TXS_PER_BLOCK"]},"id":{"type":"string","description":"ID of the alert","example":"7c21ed165e294db78b95f0f1"},"timestamp":{"type":"number","description":"Alert creation time","example":1653320900353},"chain":{"$ref":"#/components/schemas/ChainId"},"attr":{"type":"object","description":"Additional attributes based on the alert type"},"note":{"type":"string","description":"Any other relevant information such as important updates"}}},"WebHookV4":{"type":"object","required":["id","type","subscriptionId","url","data","failed","response"],"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/SubscriptionType"}],"description":"Type of the alert."},"id":{"type":"string","description":"ID of the WebHook","example":"7c21ed165e294db78b95f0f1"},"subscriptionId":{"type":"string","description":"ID of the alert","example":"7c21ed165e294db78b95f0f1"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"data":{"type":"object","description":"Data of webhook"},"nextTime":{"type":"number","description":"Next webhook execution try time","example":1653320900353},"timestamp":{"type":"number","description":"Webhook execution time","example":1653320900353},"retryCount":{"type":"number","description":"Number","example":3},"failed":{"type":"boolean","description":"Flag indicating whether this webhook was successful or not","example":false},"response":{"type":"object","description":"Response from the server in case the webhook was unsuccessful","required":["networkError"],"properties":{"code":{"type":"number","description":"HTTP Status","example":500},"data":{"type":"string","description":"Response from the server","example":"Internal server error"},"networkError":{"type":"boolean","description":"Flag indicating whether an error has been caused by the network","example":false}}},"note":{"type":"string","description":"Any other relevant information such as important updates"}}},"WebHook":{"type":"object","required":["id","type","subscriptionId","url","data","failed","response"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ADDRESS_TRANSACTION","enum":["INCOMING_BLOCKCHAIN_HOOK","ADDRESS_TRANSACTION","CONTRACT_LOG_EVENT","TRADE_MATCH","TRADE_PARTIAL_FILL","PENDING_BLOCKCHAIN_HOOK","TRANSACTION_IN_THE_BLOCK","KMS_FAILED_TX","KMS_COMPLETED_TX"]},"id":{"type":"string","description":"ID of the WebHook","example":"7c21ed165e294db78b95f0f1"},"subscriptionId":{"type":"string","description":"ID of the alert","example":"7c21ed165e294db78b95f0f1"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"data":{"type":"object","description":"Data of webhook"},"nextTime":{"type":"number","description":"Next webhook execution try time","example":1653320900353},"timestamp":{"type":"number","description":"Webhook execution time","example":1653320900353},"retryCount":{"type":"number","description":"Number","example":3},"failed":{"type":"boolean","description":"Flag indicating whether this webhook was successful or not","example":false},"response":{"type":"object","description":"Response from the server in case the webhook was unsuccessful","required":["networkError"],"properties":{"code":{"type":"number","description":"HTTP Status","example":500},"data":{"type":"string","description":"Response from the server","example":"Internal server error"},"networkError":{"type":"boolean","description":"Flag indicating whether an error has been caused by the network","example":false}}},"note":{"type":"string","description":"Any other relevant information such as important updates"}}},"CreateSubscriptionIncoming":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ACCOUNT_INCOMING_BLOCKCHAIN_TRANSACTION","enum":["ACCOUNT_INCOMING_BLOCKCHAIN_TRANSACTION"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["id","url"],"properties":{"id":{"description":"ID of the account, on which the webhook will be applied, when new incoming blockchain transaction will be credited.","example":"5e6be8e9e6aa436299950c41","maxLength":24,"minLength":24,"type":"string"},"url":null},"$ref":"#/components/schemas/NotificationUrl"}}},"Finality":{"type":"string","description":"Choose between speed (confirmed) and block confirmations on chain (final). Only available on TRON and EVM for now (v4).","example":"confirmed","enum":["confirmed","final"]},"TemplateId":{"type":"string","description":"Configure the response format. Only available on TRON and EVM for now (v4).","example":"enriched","enum":["enriched","enriched_with_raw_data","legacy","68b825be1aa0da023d4c9018 (custom template)"]},"NotificationCondition":{"type":"object","required":["field","operator","value"],"properties":{"field":{"type":"string","description":"Field to evaluate.","enum":["value","contractAddress","from","to","tokenId","tokenMetadata.type","tokenMetadata.symbol"]},"operator":{"type":"string","description":"Comparison operator.","enum":[">",">=","<","<=","==","!="]},"value":{"type":"string","description":"Value to compare against."}}},"NotificationConditions":{"type":"array","description":"List of conditions that must be met for the notification to be sent. Only available on TRON and EVM for now (v4).","items":{"$ref":"#/components/schemas/NotificationCondition"}},"StringNotificationTemplate":{"title":"String template","type":"object","required":["format","message"],"properties":{"format":{"type":"string","enum":["string"]},"message":{"type":"string","description":"Notification message utilizing available properties.","example":"{{from}} sent {{value}} {{tokenMetadata.symbol}} to {{to}}"}}},"JSONNotificationTemplate":{"title":"JSON template","type":"object","required":["format","keys"],"properties":{"format":{"type":"string","enum":["json"]},"keys":{"type":"object","description":"Mapping of available properties (values) to custom fields (keys).","additionalProperties":{"type":"string","enum":["kind","blockHash","blockNumber","blockTimestamp","txId","txTimestamp","from","to","value","currency","contractAddress","tokenId","logIndex","tokenMetadata","tokenMetadata.type","tokenMetadata.symbol","tokenMetadata.name","tokenMetadata.decimals","tokenMetadata.uri","subscriptionId","subscriptionType","type","address","counterAddress","amount","metadataURI","additionalData","topic_0","topic_1","topic_2","topic_3","data"]}}}},"CreateNotificationTemplate":{"type":"object","oneOf":[{"$ref":"#/components/schemas/StringNotificationTemplate"},{"$ref":"#/components/schemas/JSONNotificationTemplate"}]},"NotificationTemplate":{"type":"object","required":["id"],"allOf":[{"$ref":"#/components/schemas/CreateNotificationTemplate"},{"type":"object","properties":{"id":{"type":"string","description":"ID of the notification template","example":"7c21ed165e294db78b95f0f1"}}}]},"DefaultNotificationTemplate":{"type":"object","required":["templateId"],"properties":{"templateId":{"type":"string","description":"The resolved default template ID for the current API key.","example":"enriched"}}},"SetDefaultNotificationTemplate":{"type":"object","required":["templateId"],"properties":{"templateId":{"type":"string","description":"A built-in template name or a custom template ID.","example":"enriched"}}},"CreateAddressEventSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ADDRESS_EVENT","enum":["ADDRESS_EVENT"]},"attr":{"$ref":"#/components/schemas/AddressTransactionAttributesV4"},"mempool":{"type":"boolean","description":"Flag indicating whether the alert should include mempool transactions. Only available on BTC blockchain."},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateIncomingNativeSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"INCOMING_NATIVE_TX","enum":["INCOMING_NATIVE_TX"]},"attr":{"$ref":"#/components/schemas/NativeAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingNativeSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_NATIVE_TX","enum":["OUTGOING_NATIVE_TX"]},"attr":{"$ref":"#/components/schemas/NativeAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingFailedSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_FAILED_TX","enum":["OUTGOING_FAILED_TX"]},"attr":{"$ref":"#/components/schemas/FailedAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreatePaidFeeSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"PAID_FEE","enum":["PAID_FEE"]},"attr":{"$ref":"#/components/schemas/PaidFeeAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateIncomingInternalSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"INCOMING_INTERNAL_TX","enum":["INCOMING_INTERNAL_TX"]},"attr":{"$ref":"#/components/schemas/InternalAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingInternalSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_INTERNAL_TX","enum":["OUTGOING_INTERNAL_TX"]},"attr":{"$ref":"#/components/schemas/InternalAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateIncomingFungibleSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"INCOMING_FUNGIBLE_TX","enum":["INCOMING_FUNGIBLE_TX"]},"attr":{"$ref":"#/components/schemas/FungibleAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingFungibleSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_FUNGIBLE_TX","enum":["OUTGOING_FUNGIBLE_TX"]},"attr":{"$ref":"#/components/schemas/FungibleAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateIncomingNftSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"INCOMING_NFT_TX","enum":["INCOMING_NFT_TX"]},"attr":{"$ref":"#/components/schemas/NftAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingNftSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_NFT_TX","enum":["OUTGOING_NFT_TX"]},"attr":{"$ref":"#/components/schemas/NftAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateIncomingMultitokenSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"INCOMING_MULTITOKEN_TX","enum":["INCOMING_MULTITOKEN_TX"]},"attr":{"$ref":"#/components/schemas/MultiTokenAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateOutgoingMultitokenSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"OUTGOING_MULTITOKEN_TX","enum":["OUTGOING_MULTITOKEN_TX"]},"attr":{"$ref":"#/components/schemas/MultiTokenAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateFailedTxsPerBlockSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"FAILED_TXS_PER_BLOCK","enum":["FAILED_TXS_PER_BLOCK"]},"attr":{"$ref":"#/components/schemas/FailedTxsPerBlockAttributes"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateContractAddressLogEventSubscriptionV4":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CONTRACT_ADDRESS_LOG_EVENT"},"attr":{"$ref":"#/components/schemas/ContractAddressLogEventAttributesV4"},"finality":{"$ref":"#/components/schemas/Finality"},"templateId":{"$ref":"#/components/schemas/TemplateId"}}},"CreateSubscriptionMultiTokenTransferEvent":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CONTRACT_MULTITOKEN_TXS_PER_BLOCK","enum":["CONTRACT_MULTITOKEN_TXS_PER_BLOCK"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","url"],"properties":{"chain":{"$ref":"#/components/schemas/ContractLogEventSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionNftTransferEvent":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CONTRACT_NFT_TXS_PER_BLOCK","enum":["CONTRACT_NFT_TXS_PER_BLOCK"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","url"],"properties":{"chain":{"$ref":"#/components/schemas/ContractLogEventSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionTradeMatch":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CUSTOMER_TRADE_MATCH","enum":["CUSTOMER_TRADE_MATCH"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["id","url"],"properties":{"id":{"description":"ID of the customer, on which the webhook will be applied, when on any of his accounts trade will be matched and closed.","example":"5e6be8e9e6aa436299950c41","maxLength":24,"minLength":24,"type":"string"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionPartialTradeMatch":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CUSTOMER_PARTIAL_TRADE_MATCH","enum":["CUSTOMER_PARTIAL_TRADE_MATCH"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["id","url"],"properties":{"id":{"description":"ID of the customer, on which the webhook will be applied, when on any of his accounts trade will be matched and closed.","example":"5e6be8e9e6aa436299950c41","maxLength":24,"minLength":24,"type":"string"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionKMSError":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"KMS_FAILED_TX","enum":["KMS_FAILED_TX"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["url"],"properties":{"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionKMSSuccess":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"KMS_COMPLETED_TX","enum":["KMS_COMPLETED_TX"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["url"],"properties":{"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionTxInTheBlock":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"TRANSACTION_IN_THE_BLOCK","enum":["TRANSACTION_IN_THE_BLOCK"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["url"],"properties":{"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"CreateSubscriptionPending":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ACCOUNT_PENDING_BLOCKCHAIN_TRANSACTION","enum":["ACCOUNT_PENDING_BLOCKCHAIN_TRANSACTION"]},"attr":{"type":"object","description":"Additional attributes based on the alert type.","required":["id","url"],"properties":{"id":{"description":"ID of the account, on which the webhook will be applied, when new incoming pending blockchain transaction with 0 confirmations will be credited.","example":"5e6be8e9e6aa436299950c41","maxLength":24,"minLength":24,"type":"string"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}}}},"Error403SubscriptionNotExists":{"properties":{"errorCode":{"description":"subscription.not.exists","example":"subscription.not.exists","type":"string"},"message":{"description":"No such alert.","example":"No such alert.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionType":{"properties":{"errorCode":{"description":"subscription.type.invalid","example":"subscription.type.invalid","type":"string"},"message":{"description":"Invalid alert type.","example":"Invalid alert type.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionCurrency":{"properties":{"errorCode":{"description":"subscription.attr.currency.invalid","example":"subscription.attr.currency.invalid","type":"string"},"message":{"description":"Invalid alert attribute 'currency'.","example":"Invalid alert attribute 'currency'.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionInterval":{"properties":{"errorCode":{"description":"subscription.attr.interval.invalid","example":"subscription.attr.interval.invalid","type":"string"},"message":{"description":"Invalid alert attribute 'interval'.","example":"Invalid alert attribute 'interval'.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionBalance":{"properties":{"errorCode":{"description":"subscription.attr.balance.invalid","example":"subscription.attr.balance.invalid","type":"string"},"message":{"description":"Invalid alert attribute 'limit' or 'typeOfBalance'.","example":"Invalid alert attribute 'limit' or 'typeOfBalance'.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionId":{"properties":{"errorCode":{"description":"subscription.attr.incoming.invalid","example":"subscription.attr.incoming.invalid","type":"string"},"message":{"description":"Invalid alert attribute 'id' or 'url'.","example":"Invalid alert attribute 'id' or 'url'.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403SubscriptionPendingId":{"properties":{"errorCode":{"description":"subscription.attr.pending.invalid","example":"subscription.attr.pending.invalid","type":"string"},"message":{"description":"Invalid alert attribute 'id' or 'url'.","example":"Invalid alert attribute 'id' or 'url'.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"Error403ReportNotAvailable":{"properties":{"errorCode":{"description":"report.invalid","example":"report.invalid","type":"string"},"message":{"description":"Unsupported report type.","example":"Unsupported report type.","type":"string"},"statusCode":{"description":"403","example":403,"type":"number"}},"required":["errorCode","message","statusCode"],"type":"object"},"HmacWebHook":{"properties":{"hmacSecret":{"description":"Your HMAC secret password, which is used for signing the webhook payload.","example":"1f7f7c0c-3906-4aa1-9dfe-4b67c43918f6","type":"string","maxLength":100}},"required":["hmacSecret"],"type":"object"},"AddressTransactionAttributesV4":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/AddressEventSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"AddressTransactionAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/AddressEventSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}},"NativeAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/NativeSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"FailedAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/FailedSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"PaidFeeAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/PaidFeeSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"InternalAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/InternalSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"FungibleAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/FungibleSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"NftAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/NftSubscriptionCurrencies"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"MultiTokenAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/MultiTokenSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"FailedTxsPerBlockAttributes":{"type":"object","description":"Additional attributes based on the alert type.","required":["chain","address","url"],"properties":{"address":{"$ref":"#/components/schemas/SubscriptionAddress"},"chain":{"$ref":"#/components/schemas/FailedTxsPerBlockSubscriptionCurrencies"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"CreateAddressTransactionSubscription":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"ADDRESS_TRANSACTION","enum":["ADDRESS_TRANSACTION"]},"attr":{"$ref":"#/components/schemas/AddressTransactionAttributes"},"mempool":{"type":"boolean","description":"Flag indicating whether the alert should include mempool transactions. Only available on BTC blockchain."}}},"ContractLogEventAttributes":{"type":"object","description":"Attributes including chain, event, and url.","required":["chain","event","url"],"properties":{"chain":{"$ref":"#/components/schemas/ContractLogEventSubscriptionCurrencies"},"event":{"$ref":"#/components/schemas/ContractLogEventSubscriptionEvent"},"url":{"$ref":"#/components/schemas/NotificationUrl"}}},"ContractAddressLogEventAttributesV4":{"type":"object","description":"Attributes including chain, event, and url.","required":["chain","event","contractAddress","url"],"properties":{"chain":{"$ref":"#/components/schemas/ContractLogEventSubscriptionCurrenciesV4"},"contractAddress":{"$ref":"#/components/schemas/ContractAddressLogEventV4ContractAddress"},"event":{"$ref":"#/components/schemas/ContractLogEventSubscriptionEvent"},"url":{"$ref":"#/components/schemas/NotificationUrl"},"conditions":{"$ref":"#/components/schemas/NotificationConditions"}}},"CreateContractLogEventSubscription":{"type":"object","required":["type","attr"],"properties":{"type":{"type":"string","description":"Type of the alert.","example":"CONTRACT_LOG_EVENT"},"attr":{"$ref":"#/components/schemas/ContractLogEventAttributes"}}},"NotificationUrl":{"type":"string","description":"URL of the endpoint, where HTTP POST request will be sent.","example":"https://dashboard.tatum.io/webhook-handler","maxLength":500},"ContractLogEventSubscriptionEvent":{"type":"string","description":"Event to watch. In case of EVM chains it is usually a hash of the event signature. In case of Tezos it is a name of the event and max length is not enforced.","example":"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","maxLength":66},"ContractAddressLogEventV4ContractAddress":{"description":"Contract address on which event should be monitered.","example":"FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ","maxLength":128,"minLength":13,"type":"string"},"SubscriptionAddress":{"description":"Blockchain address to watch.","example":"FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ","maxLength":128,"minLength":13,"type":"string"},"AddressEventSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bch-mainnet","bch-testnet","bsc-mainnet","bsc-testnet","bitcoin-mainnet","bitcoin-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","doge-mainnet","doge-testnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","litecoin-core-mainnet","litecoin-core-testnet","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","ripple-mainnet","ripple-testnet","solana-devnet","solana-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"NativeSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","bitcoin-mainnet","bitcoin-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","doge-mainnet","doge-testnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","litecoin-core-mainnet","litecoin-core-testnet","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","ripple-mainnet","ripple-testnet","solana-devnet","solana-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"FailedSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"PaidFeeSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"ethereum-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","ripple-mainnet","ripple-testnet","solana-mainnet","solana-devnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"InternalSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"ethereum-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","base-mainnet","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","polygon-amoy","polygon-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"FungibleSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","ripple-mainnet","ripple-testnet","solana-devnet","solana-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"NftSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","solana-devnet","solana-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"MultiTokenSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"ethereum-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","unichain-mainnet"]},"FailedTxsPerBlockSubscriptionCurrencies":{"description":"Blockchain of the address.","example":"solana-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","solana-devnet","solana-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]},"ContractLogEventSubscriptionCurrencies":{"description":"The blockchain on which events should be monitored.","example":"polygon-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","avalanche-testnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","fantom-testnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","mocachain-devnet","monad-testnet","optimism-mainnet","optimism-testnet","polygon-amoy","polygon-mainnet","tezos-mainnet","tezos-testnet","unichain-mainnet"]},"ContractLogEventSubscriptionCurrenciesV4":{"description":"The blockchain on which events should be monitored.","example":"polygon-mainnet","type":"string","enum":["arb-one-mainnet","avalanche-mainnet","base-mainnet","base-sepolia","berachain-mainnet","bsc-mainnet","bsc-testnet","celo-mainnet","celo-testnet","chiliz-mainnet","cro-mainnet","ethereum-holesky","ethereum-mainnet","ethereum-sepolia","fantom-mainnet","flare-coston","flare-coston2","flare-mainnet","flare-songbird","kaia-mainnet","kaia-kairos","klaytn-baobab","klaytn-cypress","monad-testnet","optimism-mainnet","polygon-amoy","polygon-mainnet","tezos-mainnet","tezos-testnet","tron-mainnet","tron-testnet","unichain-mainnet"]}}}}