Open Hand History
  • Overview
  • Guiding Principles
  • JSON Object
  • Storage Format
  • Standardized Hand History JSON
    • The Specification
    • spec_version
    • site_name
    • network_name
    • internal_version
    • tournament
    • tournament_info
    • game_number
    • start_date_utc
    • table_name
    • table_handle
    • table_skin
    • game_type
    • bet_limit
    • table_size
    • currency
    • dealer_seat
    • small_blind_amount
    • big_blind_amount
    • ante_amount
    • hero_player_id
    • flags
    • players
    • rounds
    • pots
    • tournament_bounties
  • Bet Limit Object
    • <bet_limit_obj>
      • bet_cap
      • bet_type
  • Player Object
    • <player_obj>
      • id
      • seat
      • name
      • display
      • starting_stack
      • player_bounty
      • is_sitting_out
  • Round Object
    • <round_obj>
      • id
      • street
      • cards
      • actions
  • Action Object
    • <action_obj>
      • action_number
      • player_id
      • action
      • amount
      • is_allin
      • cards
  • Pot Object
    • <pot_obj>
      • number
      • amount
      • rake
      • jackpot
      • player_wins
  • Player Wins Object
    • <player_wins>
      • player_id
      • win_amount
      • cashout_amount
      • cashout_fee
      • bonus_amount
  • Tournament Info Object
    • <tournament_info_obj>
      • tournament_number
      • name
      • start_date_utc
      • currency
      • buyin_amount
      • bounty_fee_amount
      • fee_amount
      • initial_stack
      • type
      • flags
      • speed
  • Tournament Bounty Object
    • <tournament_bounty_obj>
      • player_id
      • bounty_won
      • defeated_player_id
  • Speed Object
    • <speed_obj>
      • type
      • round_time
  • String Formats
    • version_string
    • card_string
  • Examples
    • Holdem cash hand (iPoker)
    • Holdem cash hand (PokerStars)
    • Omaha cash hand (WPN)
    • Omaha hi/lo cash hand (PokerStars)
    • Holdem cash hand (888)
    • Holdem tournament hand (888)
    • Holdem tournament hand (PokerStars)
    • Holdem tournament hand (iPoker)
  • Contact Us
    • Change Request Process
    • Support
  • CHANGE LOG
    • Change Log
Powered by GitBook
On this page

Was this helpful?

Storage Format

How is the JSON stored on the users computer.

PreviousJSON ObjectNextThe Specification

Last updated 5 years ago

Was this helpful?

File and File Name Format:

  • All hand histories MUST be stored in plain text files.

  • All hand histories files MUST have an .OHH file extension.

  • Filenames MUST use only ASCII characters.

Other than the above requirements, hand history filenames can be named anything. We recommend including at least the table name in the filename.

Required Fields

All fields are required unless otherwise stated in the specification.

Hand History Grouping per File

Hand histories are self contained and theoretically can be one hand history per file or a million hand histories per file. However, for efficiency and portability we recommend that there is one file for each table session which contains all of the hand histories played during that table session within a single file.

Since each hand history is a self-contained JSON object, to include multiple hand histories in a single file, each MUST be separated by one blank line such as:

{"ohh": <standardized_hand_history_object_1>}

{"ohh": <standardized_hand_history_object_2>}

{"ohh": <standardized_hand_history_object_3>}

The resulting .OHH file will not be a valid JSON structure and will instead be several JSON objects; however, this trade-off allows writers to stream the hands to the end of the hand history file upon completion of the hand without re-parsing and/or re-saving previous hands.

If hand histories are being provided to a user at a later date, it is acceptable to group all hand histories by date played into a single file so long as each hand history object is separated by one blank line.

hand history JSON object