IoT Platform charges messaging fees. The messaging fee is calculated based on the number of messages and has no minimum charge.

Billing items

For more information about billing items, see the following table. For billable operations, see the appendix in this documentation.

Item Description
Messaging fee

(Device)

Messages sent from devices by calling the Pub operation
Requests sent from devices by calling the RPC operation
RRPC responses sent from devices to the server
Messages received by devices by calling the Sub operation
Messages sent and received by devices by calling TSL model related operations
Messaging fee

(Server)

Messages sent from the server by calling the Pub and PubBroadcast operations
RPC responses sent from the server to devices
Messages sent from the server by calling the RRPC operation
Messages sent from the server by calling sub-device related operations
Messages sent from the server by calling device shadow related operations
Messages sent from the server by calling TSL model related operations
Free messages
  • Connect
  • Connect Ack
  • Disconnect
  • PingReq
  • PingResp
  • Publish ACK
  • Subscribe
  • Subscribe ACK
  • Unsubscribe
  • Unsubscribe Ack
  • Messages forwarded by the rules engine
    Note You can use the rules engine to forward messages for free. However, fees are charged when you transfer data to other cloud services.

Billing method

Tiered pricing

Messages N (per Month) Unit price (USD/1,000,000 Messages)
N ≤ 100,000,000 0.5
100,000,000 < N ≤ 1,000,000,000 0.4
1,000,000,000 < N 0.3

Billing details

  • Fees are calculated based on the number of messages. For more information about billing items, see the preceding table.
  • The first 1 million messages are free of charge for each month. The free quota takes effect at 00:00:00 on the first day of each month. Unused quota cannot be carried over to the next month. The fees are calculated when the number of messages exceeds 1 million for each month.

How to count messages

  • If a message is less than or equal to 512 bytes in size, the message is counted as one billable message.
  • If a message is more than 512 bytes in size, the message is counted as two or more billable messages.
  • To calculate the number of billable messages, divide the message size into bytes by 512, and round the resulting value up to the nearest integer.

Billing dates

  • The messaging fee is calculated and charged on a daily basis.
  • Fees are rounded up to the nearest cent.
Note This document is for reference only. Refer to your bill for accurate information.

Appendix: Billable operations

Table 1. Billable operations (Device)
MQTT Publish IOT_CMP_OTA_Start
IOT_CMP_OTA_Get_Config
IOT_CMP_OTA_Request_Image
IOT_CMP_Send
IOT_MQTT_Publish
IOT_OTA_ReportVersion
IOT_OTA_RequestImage
IOT_OTA_ReportProgress
IOT_OTA_GetConfig
IOT_Shadow_Construct
IOT_Shadow_RegisterAttribute
IOT_Shadow_Push
IOT_Shadow_Push_Async
IOT_Shadow_Pull
IOT_Subdevice_Register
IOT_Subdevice_Unregister
IOT_Subdevice_Login
IOT_Subdevice_Logout
IOT_Gateway_Get_TOPO
IOT_Gateway_Get_Config
IOT_Gateway_Publish_Found_List
IOT_Gateway_Publish
IOT_Gateway_RRPC_Response
linkkit_answer_service
linkkit_invoke_raw_service
linkkit_trigger_event
linkkit_invoke_fota_service
linkkit_invoke_cota_get_config
linkkit_invoke_cota_service
CoAP Send IOT_CoAP_SendMessage
HTTP Send IOT_HTTP_SendMessage
You can call these operations for free. However, you may be charged for receiving messages. IOT_CMP_Register
IOT_MQTT_Subscribe
IOT_Gateway_Subscribe
IOT_Gateway_RRPC_Register
Table 2. Billable operations (server)
API Description
Pub Publish messages.
PubBroadcast Publish broadcast messages.
RRpc Use RRPC method to send requests to devices.
DeleteDevice When you delete a sub-device, a message of /sys/{productKey}/{deviceName}/thing/deleteis triggered.
DisableThing When you disable a sub-device, a message of /sys/${productKey}/${deviceName}/thing/disable is triggered.
EnableThing When you enable a sub-device, a message of /sys/${productKey}/${deviceName}/thing/enable is triggered.
NotifyAddThingTopo When you add a topological relationship, a message of /sys/${productKey}/${deviceName}/thing/topo/add/notify is triggered.
UpdateDeviceShadow Update the shadow information of a device.
InvokeThingService When you invoke a service provided by a device, a message of /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identitier} is triggered.
InvokeThingsService When you invoke multiple services provided by multiple devices, multiple messages of /sys/{productKey}/{deviceName}/thing/service/{tsl.service.identitier} are triggered.
SetDeviceProperty When you set properties for a device, a message of /sys/${productKey}/${deviceName}/thing/service/property/set is triggered.
SetDevicesProperty When you set properties for multiple devices, multiple messages of /sys/{productKey}/{deviceName}/thing/service/property/set are triggered.