IoT Platform charges you for message communication. Messaging fees are calculated based on the number of messages.

Billable items

The following table describes specific billable items. For information about billable operations, see Appendix: Billable operations.

Item Description
Messaging fees

(devices)

Messages that are sent from devices by calling the Pub operation.
Requests that are sent from devices by calling the RPC operation.
RRPC responses that are sent from devices to the server.
Messages that are received by devices by calling the Sub operation.
Messages that are sent or received by devices by calling TSL-related operations.
Messaging fees

(servers)

Messages that are sent from servers by calling the Pub and PubBroadcast operations.
Messages that are pushed from IoT Platform to servers by using AMQP server-side subscriptions.
RPC responses that are sent from servers to devices.
Messages that are sent from the server by calling the RRPC operation.
Messages that are sent from servers by calling sub-device related operations.
Messages that are sent from servers by calling device shadow-related operations.
Messages that are sent from servers by calling TSL-related operations.
Free messages
  • Connect
  • Connect ACK
  • Disconnect
  • PingReq
  • PingResp
  • Publish ACK
  • Subscribe
  • Subscribe ACK
  • Unsubscribe
  • Unsubscribe ACK
  • Messages that are forwarded by the rules engine
    Note You can use the rules engine to forward messages for free. However, you are charged if you forward data to other cloud services.

Billing methods

Tiered pricing is used.

Number of messages (N) per month Unit price (USD per million messages)
N ≤ 0.1 billion 0.5
0.1 billion < N ≤ 1 billion 0.4
1 billion < N 0.3
Note IoT Platform provides a free monthly quota of 1 million minutes for the first two months after you activate IoT Platform. When IoT Platform calculates monthly device access fees in the first two months, 1 million minutes are reduced from the actual number of minutes that are used for connections.

Billing units:

  • Fees are calculated based on the number of messages. For information about billable items, see the preceding table.
  • If the number of messages is less than 1 million, fees are calculated based on the actual number of messages.

Number of messages:

  • If a message is at most 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 result up to the nearest integer.

Billing cycles:

  • Messaging fees are calculated on a daily basis.
  • The fees that are displayed in bills are accurate to two decimal places.
Note This topic is for reference only. To obtain actual messaging fees, view your bills.

Appendix: Billable operations

Table 1. Billable operations (devices)
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 (servers)
Operation Description
Pub Publishes a message to a specified topic.
PubBroadcast Broadcasts a message.
RRpc Sends an RRPC message.
DeleteDevice Sends a message to the /sys/{productKey}/{deviceName}/thing/delete topic when you delete a sub-device.
DisableThing Sends a message to the /sys/${productKey}/${deviceName}/thing/disable topic when you disable a sub-device.
EnableThing Sends a message to the /sys/${productKey}/${deviceName}/thing/enable topic when you enable a sub-device.
NotifyAddThingTopo Sends a message to the /sys/${productKey}/${deviceName}/thing/topo/add/notify topic when you add a topological relationship.
UpdateDeviceShadow Modifies the shadow information of a device.
InvokeThingService Sends a message to the /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identitier} topic when you call a device service.
InvokeThingsService Sends a message to the /sys/{productKey}/{deviceName}/thing/service/{tsl.service.identitier} topic when you call multiple device services.
SetDeviceProperty Sends a message to the /sys/${productKey}/${deviceName}/thing/service/property/set topic when you set a device property.
SetDevicesProperty Sends a message to the /sys/{productKey}/{deviceName}/thing/service/property/set topic when you set multiple device properties.