I tested using your method and was able to successfully retrieve the star balance, but the redemption times out - possibly due to protocol mismatch. Could you please share if you have any updated strategies?
The following is the log:
[Armory batch open] Request openCount(stars)=400
[Armory batch open] Reusing existing login session
[Armory] getArmoryBalance source: xpShop (type_id 6), redeemable_balance=400
[Armory batch open] balanceBefore=400 openCount=400, 4 stars per item → redeem count=100
[Armory batch open] Redeem 1/100 defindex=4028
Armory: Sending GC UseItem(1025) defindex=4028 payloadLen=3 payloadHex=08bc1f
Armory: Timeout (no GC messages received in 30s, GC may not be responding to 1025)
[Armory batch open] 1025 timeout, trying 9219...
Armory: Sending GC 9219 ClientRedeemFreeReward defindex=4028 genTime=1773404500 balance=400
Armory: 9219 timeout (0 GC messages in 30s)
[Armory batch open] 9219 timeout, trying 9209...
Armory: Sending GC 9209 ClientRedeemMissionReward defindex=4028 balance=400 expectedCost=4
Armory: 9209 timeout
[Armory batch open] Timeout 202, 0 items opened balanceAfter=400