ShippingRateHandle in draftOrderCalculate returns a JWT instead of the handle

Hello,

I used to get available shipping rates handles from draftOrderCalculate, but it’s suddenly started to return a JWT in the “handle” field.

Example request

mutation CalculateDraftOrder($input: DraftOrderInput!) {
  draftOrderCalculate(input: $input) {
    calculatedDraftOrder {
      availableShippingRates {
        handle
        title
        price {
          amount
        }
      }
...

results in:

{
  "data": {
    "draftOrderCalculate": {
      "calculatedDraftOrder": {
        "availableShippingRates": [
          {
            "handle": "eyJhbGciOiJIUzI1NiJ9.eyJ0aXRsZSI6InNoaXBwaW5nLXRlc3QiLCJjb2RlIjoic2hpcHBpbmctdGVzdCIsInNvdXJjZSI6InNob3BpZnkiLCJwcmljZSI6IjAuMCIsImN1cnJlbmN5IjoiRVVSIiwicHJpY2VfcHJlc2VudG1lbnQiOiIwLjAiLCJjdXJyZW5jeV9wcmVzZW50bWVudCI6IkVVUiIsImVzdGltYXRlZF9kZWxpdmVyeV90aW1lX3JhbmdlIjpudWxsLCJncm91cF9pZCI6bnVsbH0.2SuHhYPQWGa8vUNXUDrGyLGMYAs_c93asswCSckdiF4",
            "title": "shipping-test",
            "price": {
              "amount": "0.0"
            }
          },
...

This JWT resolve as:

{
  "title": "shipping-test",
  "code": "shipping-test",
  "source": "shopify",
  "price": "0.0",
  "currency": "EUR",
  "price_presentment": "0.0",
  "currency_presentment": "EUR",
  "estimated_delivery_time_range": null,
  "group_id": null
}

… instead of just getting the handle string as usual, which should be “human readable” (cf doc).

I have no clue what happened. I tried with differents api version (23/24/25). It was not the case around 1 month ago, and I can’t find any changes related to this anywhere.

Thanks in advance