Overview
TheInitialState object is a snapshot of your ESOP at the beginning of a simulation. It contains all the necessary data about your participants, trust assets, and ESOP loans.
Source of Truth: Your TPA’s annual report, census data, trust statements, and loan documents.
Complete Field Reference
Below is a detailed walkthrough of each field in theInitialState object.
census_year
- Type:
integer - Required: Yes
- Description: The year of the census data.
- Example:
2024
participants
- Type:
arrayof objects - Required: Yes
- Description: An array of all current ESOP participants. Each object in the array represents one participant.
Participant Object Fields
Participant Object Fields
id:string(Required) - A unique identifier for the employee.age:integer(Required) - The participant’s age.service_years:integer(Required) - The participant’s years of service for vesting purposes.compensation:number(Required) - The participant’s annual compensation.allocated_shares:number(Required) - The number of shares allocated to the participant’s account.vested_percentage:number(Optional) - The participant’s current vested percentage. If not provided, it will be calculated based on thevesting_schedule.cash_balance:number(Optional) - The cash balance in the participant’s account.
trust_cash
- Type:
object - Required: Yes
- Description: The cash balances in the ESOP trust, segregated by source.
`participant_cash_accounts`
`participant_cash_accounts`
- Type:
number - Description: Cash that has been segregated for participants who have terminated but have not yet been paid out.
`unallocated_company_contributions`
`unallocated_company_contributions`
- Type:
number - Description: Cash from company contributions that has not yet been used.
`unallocated_forfeiture_cash`
`unallocated_forfeiture_cash`
- Type:
number - Description: Cash from forfeited (unvested) shares of terminated participants.
esop_loans
- Type:
arrayof objects - Required: No
- Description: An array of all outstanding ESOP loans.
Loan Object Fields
Loan Object Fields
loan_id:string(Required) - A unique identifier for the loan.principal_balance:number(Required) - The outstanding principal balance.interest_rate:number(Required) - The annual interest rate.years_remaining:integer(Required) - The number of years left on the loan.suspense_shares:number(Required) - The number of shares held as collateral for this loan.
.png?fit=max&auto=format&n=_b1oFDtC7brS6c3Z&q=85&s=d3ec56559a51e770e67aa19d77e1da67)
.png?fit=max&auto=format&n=AWN49C5ILGJ2VJNX&q=85&s=9e43d95342e1c0ca7d9eadaa6d3acb0d)