About the Benchmarks(Historic Prices) category

This is the place to dive into the Pyth Benchmarks, the ultimate tool to query historic price on-chain.

:speech_balloon: Drop your questions, share your use case, or show off what you’re building.

The Pyth team and community devs are here to help.

How can I use benchmark data on Solana?

for example, I’ve got:

curl -s https://hermes.pyth.network/v2/updates/price/1750677111\?ids\[\]\=67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb\&parsed\=false\&encoding\=base64 | jq .
{
  "binary": {
    "encoding": "base64",
    "data": [
      "UE5BVQEAAAADuAEAAAAEDQEyndMFmvirVBmWlxKbOzCuIj3krd3CYuUtAcG3sdirMG0zuxwwSlWn3GY3vUpQ6qbEfWBQPHdzbJXDW1QuChIXAAJ/eU/CKVm+pZiF4/6OD4SCZTRZ2yoIts/B75gFRBEI4X0KdS/b1cfc280lFZuRN3wg5RG77MMp338MjE3omXJ8AQO7ZeJxT5/Idb624bP5kt9E/ZSoPEP99h3O3GT2WY1s8wwOcqJxooOrAKlS/Zv94Ke2K7VePEzFCz3npbkIqjSPAAQu290JKf18/FJvRrLHBJJRn/uohRcokHfzADyI1snlpEjtSUHD9xZsEDjd/viAb6HSBJ7G19n20zylaOqC91CSAAbFHuV/NICc8afrT8gmGbCYhlyVqcg7ausfd5zjlv0QqkZXTWhZaPWrvOUBtxC2IVlzp4qK+WPoaXQMbtI6ITNyAQgbspi1l50TXm1qtNAWHnGQ1Ri+MUlFe4vgUW4DZUh3lFjJzTv4oTR/LcDVlvxWiyaHamthUBSnTkDYObxFt0apAQo2EynYlfMUNpyZnaN8a0VCyoXi+/K2yAJurJBW8pbslS1ypvccfyQpUp7lgeKVaO97LM89rMNHZOJjjYfkPoDnAAvwrFJOxhcWJaeiXBImtJQ9TdsTGQ/azx+hpoxPL7gLUByFUjOjsM6Z5HjUzpxU6kJ+eD7eiO5j7C2TpIw5XpzvAQzB5UUJo4tG9LMilQHXSDE7Wg0u4UkXHQ8FbzG0eh4n7y+8YPYgt3s9QU4JVRlFdrVUicPxlHIYD7zCgodCu1/+AA3e+SSX129g4VVwZov9/9tZNvJc7JzDehyP6VvIEnj+HBo8pKsbmUe2380GKn6yT/4WoktQIqkSHWz9ZN93tOF8AQ45FO1XAd/1koipxEml2KBGVmcK0iPc4w+DMiBrnESlXVipaIE10//S0DbeIXpPy4r70qQryOkSwWwAb3KT5pnEARDdvHh+xyE0W9S54HEcy00MYOKN6qq1W5+d68S/544CYUAbFIzxCMF5QyigdsIbdwiWrz3+l8fI7Z10cK7w0Yp4AREVo2D0fnEb/4TN9D3FjFywfksAeSpghIGV78drqO29JDDe5OnLeZNCKou177evZT915BSLo6k9dXS47LpnDRnAAGhZNncAAAAAABrhAfrtrFhR4yubI7X5QRqMK6xKrj7U3XuBHdGnLqSqcQAAAAAIX73vAUFVV1YAAAAAAA1tSdwAACcQFSTftowHFbiMFIL6P/N4hPz5AsgBAFUAZ76fUZuVzyQziAEFH5qAjv8KV4zLOI23O39v4d4Bn/sAAAADxaOIPwAAAAABpBh8////+AAAAABoWTZ3AAAAAGhZNnYAAAADxrcBAAAAAAABsZHcDP9liTH33XTb+qPm5d4lQNipr+liPZuNLIOjYkJkr80brAOL0ZxEk7b6tHKeksKIjAGExmIWVYUReyU+xlXnB7Tb19cL/7mHv/ZewojNSImYrrTMgG2ra1+IBqLHhGp6051IxOroJD00bAyJo1Bs13UyFA0hryD3j0A3/V/90pPNoG711oND7DcZMBowt//26K2dAwrcPXJnB8l3BcQrynhpiw5LyF9GLHg8//sUz2OzQbU+Ur5ZZ4PugNkbB4WwRE3FC5IHkC+QI+Hbec0T9LaTr+P4uNeZ8/1+UZkQhJo2UCUMkH6s5MXGvSVSkLfyUg=="
    ]
  }
}

this data is 1291 bytes, it excess solana transaction size (1232), so def I can’t put it in my tx. So what should I do to use it?

gm gm,

Sorry for the late response.

This is a good observation, indeed the data exceeds the transaction size and posting thus requires multiple transactions.

The sdk https://www.npmjs.com/package/@pythnetwork/pyth-solana-receiver can handle splitting up the payload in multiple transactions. Here is a benchmarks example using the sdk: