

# FAQs on supported protocols
<a name="cbor-faq"></a>

 The Amazon Compute Optimizer and Amazon Cost Optimization Hub services are adding SDK support for the [ Smithy RPC v2 CBOR ](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) protocol in addition to the existing [Amazon JSON ](https://smithy.io/2.0/aws/protocols/aws-json-1_0-protocol.html) protocol. The Smithy RPC v2 CBOR protocol is more performant than Amazon JSON for most workloads. Amazon SDKs will prioritize the protocol that is the most performant for each language. 

## What are the Amazon JSON and Smithy RPC v2 CBOR protocols, and how do they differ?
<a name="cbor-faq-what-are-protocols"></a>

 A wire protocol acts as a mediator between a client and the service. The Amazon SDK handles the serialization (converting an object to the wire format) and deserialization (converting the wire format back to an object) between the client and server transparently for both protocols. 

 **Amazon JSON** - JSON is one of the most widely used and accepted data formats for communication between systems. This service uses Amazon JSON as a medium to communicate between an Amazon SDK client and the server. An HTTP request for a service API operation accepts input in the form of JSON, the operation is executed, and the response is returned to the SDK client in the form of JSON. 

 **Smithy RPC v2 CBOR** - Smithy RPC v2 CBOR (Concise Binary Object Representation) is a protocol developed by Amazon for more efficient data transmission. It is a data format designed to keep message sizes compact and to allow the format to evolve without requiring version negotiation between systems. The key difference from Amazon JSON is that Amazon JSON uses human-readable text (like `{"name": "John"}`), while Smithy RPC v2 CBOR uses a binary format (sequences of 1s and 0s). This binary approach creates smaller data packages that travel faster over the network and reduces serialization time since computers process binary data directly. 

## How do I get started with the Smithy RPC v2 CBOR protocol?
<a name="cbor-faq-getting-started"></a>

 To get started, use the latest Amazon SDK/CLI version to use the Smithy RPC v2 CBOR protocol for this service. The SDK will automatically use the Smithy RPC v2 CBOR protocol when available. Upgrade your Amazon SDK to the specified version or any subsequent version. 

 Starting 2026-04-16, the following Amazon SDKs will use the Smithy RPC v2 CBOR protocol, while the other SDKs will continue using the Amazon JSON protocol: 
+ Amazon SDK for C\+\+
+ Amazon SDK for Go V2
+ Amazon SDK for Java 2.x
+ Amazon SDK for .NET v4
+ Amazon Tools for PowerShell v5
+ Amazon SDK for Swift
+ Amazon SDK for Kotlin

## What are the risks of enabling the Smithy RPC v2 CBOR protocol?
<a name="cbor-faq-risks"></a>

 The added support of Smithy RPC v2 CBOR in the SDKs is expected to be fully transparent and effortless for customers. However, if you are using a custom implementation of the Amazon SDK, or a combination of custom clients and the Amazon SDK, that depends on Amazon JSON-specific serialization behavior, it may be incompatible with the Smithy RPC v2 CBOR protocol. 

## What if my solution does not support Smithy RPC v2 CBOR?
<a name="cbor-faq-compatibility-issues"></a>

 To use the Amazon JSON protocol, downgrade your SDK to a version released before 2026-04-16. 

## What Amazon Regions support the Smithy RPC v2 CBOR protocol?
<a name="cbor-faq-region-support"></a>

 The Smithy RPC v2 CBOR protocol is supported in all [Amazon Regions ](https://docs.amazonaws.cn/general/latest/gr/rande.html) where this service is available. 

## What latency improvements can I expect when upgrading to SDK versions that support Smithy RPC v2 CBOR?
<a name="cbor-faq-performance-improvements"></a>

 Smithy RPC v2 CBOR provides up to 13% lower latency and up to 15% reduction in payload size compared to Amazon JSON. The binary encoding eliminates the overhead of JSON text parsing and string escaping, which reduces both network transfer time and serialization cost. 

## Will the Amazon JSON protocol be deprecated?
<a name="cbor-faq-json-deprecation"></a>

 Amazon JSON protocol will continue to be supported through older versions of SDKs. Also, some language-specific SDKs will continue using Amazon JSON as it is more performant than Smithy RPC v2 CBOR due to the available JSON implementation for the language being faster than its CBOR implementation. 

## Where can I find more information about Smithy RPC v2 CBOR?
<a name="cbor-faq-more-information"></a>

 You can find more information about the Amazon JSON protocol at [Amazon JSON 1.0 protocol ](https://smithy.io/2.0/aws/protocols/aws-json-1_0-protocol.html) and [Amazon JSON 1.1 protocol ](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html) in the Smithy documentation, and about Smithy RPC v2 CBOR at [ Smithy RPC v2 CBOR protocol ](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) in the Smithy documentation. 