Jump to content
McKay Development

Recommended Posts

Posted

Hello everybody. Did you notice that valve just changed the representation of cs inspect links?

This is how it looks now:
steam://run/730//+csgo_econ_action_preview%2092826859045B28938A6E91B20991BA94A291AA016F546091D24895FAE5E29A90E5B003


Any ideas how to get asset id, server inspect id or owner id from it? Any ideas why they did that?

Posted (edited)

Hi,

My guess is that they changed it when they made listed items on the Community Market remain in your inventory. Since there were previously two inspect link structures, one for the market and one for the inventory, they seem to have merged them into one general inspect link structure ("masked" inspect link)

You can extract the asset ID from it (itemid), but I do not think the steamid ("ownerid") can be extracted from it.


You can decode from the "Item certificate" (here being: 92826859045B28938A6E91B20991BA94A291AA016F546091D24895FAE5E29A90E5B003)

To the protobuf (CEconItemPreviewDataBlock) and from there also the item details:

{
  "defindex": 508,
  "inventory": 119,
  "itemid": "50082457082",
  "origin": 8,
  "paintindex": 411,
  "paintseed": 986,
  "paintwear": 1045544595,
  "paintwear_float": 0.20482854545116425,
  "quality": 3,
  "rarity": 6
}

 

I "vibe-coded" also a repo for this: Repository


So in short the repo does this:

  1. Hex-decodes the certificate.
  2. Uses the first byte as the XOR key.
  3. XORs every byte with that key.
  4. Drops the leading `00` byte.
  5. Drops the trailing 4-byte trailer/checksum.
  6. Returns the remaining bytes as the protobuf payload.


Also i saw that, with this change, the market history (and trade history) no longer expose valid inspect links anymore only references to , at least for "skins"/non-common items.

Edited by GreenPerl
Posted

Hello,

I'm using a local decoder + your solution introduced on 3.3, but there are items that don't have float/wear.
For example, this protobuff: 657596FDE081DC647DE66145654D6355660DE6E5E5E5691561C1D44731

Is this a steam limitation(not sending the float) or something wrong?
I noticed that this tends to happen on freshly acquired items(trade offers) after the 7-day hold

Posted
On 3/19/2026 at 10:42 AM, Alberto said:

Hello,

I'm using a local decoder + your solution introduced on 3.3, but there are items that don't have float/wear.
For example, this protobuff: 657596FDE081DC647DE66145654D6355660DE6E5E5E5691561C1D44731

Is this a steam limitation(not sending the float) or something wrong?
I noticed that this tends to happen on freshly acquired items(trade offers) after the 7-day hold

That embedded inspect link simply doesn't have a wear value in it.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...