# Table of Contents - [Overview | Documentation](#overview-documentation) - [Technical Vision | Documentation](#technical-vision-documentation) - [Deposit | Documentation](#deposit-documentation) - [Mechanism | Documentation](#mechanism-documentation) - [Calculator | Documentation](#calculator-documentation) - [Redeem | Documentation](#redeem-documentation) - [CLI | Documentation](#cli-documentation) - [Program | Documentation](#program-documentation) - [Invite Staker | Documentation](#invite-staker-documentation) - [Onboarding | Documentation](#onboarding-documentation) - [Supported Validators | Documentation](#supported-validators-documentation) - [Creating a Pye Account | Documentation](#creating-a-pye-account-documentation) - [Security | Documentation](#security-documentation) - [Validator Dashboard | Documentation](#validator-dashboard-documentation) - [Tutorials | Documentation](#tutorials-documentation) - [Deployments | Documentation](#deployments-documentation) - [Overview | Documentation](#overview-documentation) - [Deposit | Documentation](#deposit-documentation) - [Program | Documentation](#program-documentation) - [CLI | Documentation](#cli-documentation) - [Onboarding | Documentation](#onboarding-documentation) - [Security | Documentation](#security-documentation) --- # Overview | Documentation Pye is a protocol for managing and trading stake accounts on Solana. Pye allows validators to issue and manage stake accounts with custom commercial terms (eg. fixed-yield, variable yield), while providing stakers with a venue to trade them. ### [](https://docs.pye.fi/#get-familiar-with-pye) Get Familiar with Pye [](https://docs.pye.fi/validator-operators/onboarding#why-validators-use-pye) #### [](https://docs.pye.fi/#undefined) **Pye Accounts** Benefits for Validators [](https://docs.pye.fi/technical-specification/program#anatomy) #### [](https://docs.pye.fi/#undefined-1) **Architecture** High-level design [](https://docs.pye.fi/validator-operators/supported-validators) #### [](https://docs.pye.fi/#undefined-2) **Supported Validators** Explore all stake providers [](https://docs.pye.fi/staker-guides/deposit) #### [](https://docs.pye.fi/#undefined-3) **User Guides** How to deposit/redeem [](https://discord.com/invite/zKtmnne8c7) #### [](https://docs.pye.fi/#undefined-4) **Support** Get help from our team [](https://docs.pye.fi/resources/security) #### [](https://docs.pye.fi/#undefined-5) **Security** Audits & bounties * * * ### [](https://docs.pye.fi/#validators) Validators #### [](https://docs.pye.fi/#undefined-6) Onboarding Guide for new validators #### [](https://docs.pye.fi/#undefined-7) CLI Developer guide #### [](https://docs.pye.fi/#undefined-8) FAQ Resources & tools * * * [NextTechnical Vision](https://docs.pye.fi/introduction/technical-vision) Last updated 13 days ago --- # Technical Vision | Documentation [](https://docs.pye.fi/introduction/technical-vision#background) Background -------------------------------------------------------------------------------- Our team spent a long time talking to validators on Solana and discovered Solana has a hidden yield curve. Validators had been sharing more MEV and block rewards in exchange for longer duration lockups. Pye's mission is to bring this behavior onchain and build a transparent market where validators and stakers can transact. #### [](https://docs.pye.fi/introduction/technical-vision#benefits) Benefits: * **Stakers:** Access to the best yield across all validators. * **Validators:** Manage staker relationships, attract TVL, predictable revenue. * **Solana**: Increase decentralization, yield discovery, levels the playing field for validators. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FJLietlY4Dq2wbNliFcD6%252FScreenshot%25202025-10-06%2520at%25202.20.06%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D85dc7409-7793-4981-8fa0-1a28e0bea64a&width=768&dpr=4&quality=100&sign=55fe5959&sv=2) [](https://docs.pye.fi/introduction/technical-vision#primitive) Primitive ------------------------------------------------------------------------------ Pye was built on the insight that validators are willing to share more rewards (inflation, MEV, priority fees) with their delegators in exchange for longer lockups. Our vision is to provide the Solana ecosystem with a drop-in replacement for Stake Accounts that grant validators granular control over their relationship with stakers. Along the way, we aim to pave the road for validator-centric DeFi ecosystem, where financial products such as yield trading, loans, and enhanced yield strategies are made available directly from the validator layer. [PreviousOverview](https://docs.pye.fi/) [NextProgram](https://docs.pye.fi/technical-specification/program) Last updated 13 days ago --- # Deposit | Documentation This guide explains how to deposit SOL into a Pye lockup, review your position, and confirm that your tokens are allocated correctly. Important * Deposits can only be made while the deposit window is open (between “Deposits Open” and “Deposits Close” times shown in the Overview). * After the window closes, the “Issuance Closed” message will appear, and no new deposits will be accepted. * Ensure you always verify validator performance metrics (skip rate, uptime, voting rate) as they may affect yield quality. STEP 1: Navigate to Lockup Page[](https://docs.pye.fi/staker-guides/deposit#step-1-navigate-to-lockup-page) * Open [app.pye.fi](https://app.pye.fi/) . * Select the lockup you want to participate in. For example: [https://app.pye.fi/lockups/G1FBFpkSg7mQtYBJhGQ4L1WK3PAkr976YHFUDzhZp3UQ](https://app.pye.fi/lockups/G1FBFpkSg7mQtYBJhGQ4L1WK3PAkr976YHFUDzhZp3UQ) . * You will see the Lockup Overview Screen, including details like: * TVL (Total Value Locked) * ROI and APY estimates * Deposit window (open/close times) * Maturity date * Validator performance metrics * Reward rate breakdown (inflation, MEV, block reward ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FiCBPB6wKBS4oyQmgKAS7%252FScreenshot%25202025-09-15%2520at%25203.42.11%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D82932642-51c2-489a-adab-3ea8ef44f33a&width=768&dpr=4&quality=100&sign=3d2e100c&sv=2) STEP 2: Input Amount[](https://docs.pye.fi/staker-guides/deposit#step-2-input-amount) In the **Deposit** box (right-hand panel): * Select **SOL** as the deposit token. * Input the amount of SOL you want to deposit. * Alternatively, click **MAX** to use your full available balance. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FFbmVMktsCmbTPyAwTxqj%252FScreenshot%25202025-09-15%2520at%25203.41.15%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D78a66465-0874-4c71-b051-34aef8cc90b2&width=768&dpr=4&quality=100&sign=564d1106&sv=2) Step 3: Review Summary[](https://docs.pye.fi/staker-guides/deposit#step-3-review-summary) Before confirming, carefully check the Summary section: * **Your Deposit**: The total SOL you are contributing. * **Fees**: Any protocol or transaction fees deducted. * **pSOL Size**: The amount of principal tokens you will receive. * **ySOL Size**: The amount of yield tokens you will receive. * **APY**: The estimated annualized yield for this lockup. * **Maturity**: The date your principal becomes redeemable ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FuAOtSAXLGqkrE2Dowyx4%252FScreenshot%25202025-09-15%2520at%25203.41.15%25E2%2580%25AFPM%25202.png%3Falt%3Dmedia%26token%3Dec0c089e-2de5-456e-8fa8-dbf94d6681ba&width=768&dpr=4&quality=100&sign=88b6ffa7&sv=2) STEP 4: Confirm and Execute Transaction[](https://docs.pye.fi/staker-guides/deposit#step-4-confirm-and-execute-transaction) * Click **Deposit**. * Your wallet will prompt you to approve the transaction. * Review gas fees and confirm. * Once confirmed, the transaction will be processed on Solana. STEP 5: Verify Your Position[](https://docs.pye.fi/staker-guides/deposit#step-5-verify-your-position) After a successful deposit, your position will appear in the Your Position panel (bottom right). * **Principal**: Represents your locked deposit, redeemable 1:1 for SOL at maturity. * **Yield**: Represents the yield component, redeemable for the staking rewards generated by your deposit. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252Fc5cZExHaPNecYaGplgxv%252FScreenshot%25202025-09-15%2520at%25203.52.02%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Dcf7a3e02-8ee5-4203-9e6e-bb3546c58102&width=768&dpr=4&quality=100&sign=3a140c57&sv=2) [PreviousMechanism](https://docs.pye.fi/technical-specification/markdown) [NextRedeem](https://docs.pye.fi/staker-guides/redeem) Last updated 1 month ago --- # Mechanism | Documentation [](https://docs.pye.fi/technical-specification/markdown#overview) Overview ------------------------------------------------------------------------------- Pye uses a yield splitting mechanism to separate staking capital into principal and yield tokens. Although this design is similar to the one used by fixed-yield protocols (ie. Pendle, Exponent), we do not employ this mechanism for the purpose of price discovery for points and speculative value of yield. The primary inteion behind the yield separation of our tokens is to allow users to trade principal and yield independently. As a matter of fact, unlike, price discovery protocols, are PTs are 1:1 redeemable for SOL and do not accrue fixed yield. [](https://docs.pye.fi/technical-specification/markdown#principal-tokens) Principal Tokens ----------------------------------------------------------------------------------------------- A principal token (PT) is an SPL token that represents the principal component of a fixed-term lockup. At maturity, it is redeemable 1:1 for the original deposit. PTs do not generate any yield. All yield produced by the principal is distributed to YT token holders. ### [](https://docs.pye.fi/technical-specification/markdown#minting) Minting When a user stakes with Pye, they are issued Principal Tokens (PT) and Yield Tokens (YT) representing their principal and future yield, respectively. To calculate the amount of PT tokens that will be issued we use the following formula: NPT​\=P⋅1N\_{PT}​=P⋅1NPT​​\=P⋅1 where: * NPT​N\_{PT}​ NPT​​ is the number principal tokens to mint, * PPP is the principal amount in native units (eg. SOL), As the formula suggests, PTs are minted 1:1 to the number of tokens deposited as defined by the constant `1`. ### [](https://docs.pye.fi/technical-specification/markdown#redeeming) Redeeming At maturity, PT token holders can redeem their tokens for the underlying principal pro rata. To calculate the repayment we use: RedeemPrincipal(p)\=pNPT​⋅PRedeemPrincipal(p)= \\frac{p}{N\_{PT}}​ \\cdot PRedeemPrincipal(p)\=NPT​p​​⋅P where: * ppp is the number of PT the holder redeems, * PPP is the total principal backing the pool, * NPTN\_{PT}NPT​​ is the total supply of PTs outstanding. [](https://docs.pye.fi/technical-specification/markdown#reward-accrual) Reward Accrual ------------------------------------------------------------------------------------------- After each Solana epoch, staking rewards are automatically added to the stake account, increasing the number of SOL it contains. While the principal tokens (PTs) remain fixed and redeemable 1:1, the yield tokens (YTs) represent the incremental value that accrues from this compounding process. We can formalize the initial value (backing) to be: S0\=PS\_0=PS0​\=P where: * s0s\_0s0​ is the initial deposit * PPP is the principal deposit amount in SOL. At the end of each epoch ttt, the stake account grows by the effective staking reward rate rtr\_trt​​. The value after ttt epochs is: St\=St−1⋅(1+rt),              t\=1,2,…,TS\_t=S\_{t−1}⋅(1+r\_t), \\;\\;\\;\\;\\;\\;\\; t=1,2,…,TSt​\=St−1​⋅(1+rt​),t\=1,2,…,T After TTT epochs (maturity), the stake account balance is: ST\=S0⋅∏t\=1T(1+rt)S\_T = S\_0 \\cdot \\prod\_{t=1}^{T} (1 + r\_t)ST​\=S0​⋅t\=1∏T​(1+rt​) where: * S0​\=PS\_0​=PS0​​\=P = initial deposit * rtr\_trt​​ already accounts for validator commission, inflation rate, MEV, etc. The yield is the difference between the maturity value and the initial deposit: Y\=ST−PY = S\_T - PY\=ST​−P Therefore: * PT holders redeem their tokens for exactly PPP units of SOL, independent of yield. * YT holders redeem their tokens for the residual yield YYY, distributed pro rata to the number of YT tokens they hold. [](https://docs.pye.fi/technical-specification/markdown#yield-tokens) Yield Tokens --------------------------------------------------------------------------------------- A yield token (YT) is an SPL token that represents the yield component of a fixed-term bond. Upon maturity, the holder of the YT can redeem the token for the underlying yield. `1 YT` is equal to the yield generated by `1 PT` until maturity. For example, say Alice stakes 100 SOL into Pye for a period of 3 months starting in September 2025. She receives 2 tokens: * `100 PT-SEP25-NOV25` * `100 YT-SEP25-NOV25` The yield component (`100 YT-SEP25-NOV25`) will receive all the yield generated by the principal component (`100 PT-SEP25-NOV25`) throughout those 3 months. Alice can redeem her 100 YT for the underlying yield at maturity. ### [](https://docs.pye.fi/technical-specification/markdown#minting-1) Minting To calculate the number of YT tokens that will be issued upon deposit, we use the following formula: NYT​\=P⋅T−tT−tnN\_{YT}​=P⋅ \\frac{T−t}{T−t\_n}NYT​​\=P⋅T−tn​T−t​ where: * PPP is the principal amount in native units, * tot\_oto​​ is the issue date of the bond, * tnt\_ntn​​ is any date before maturity * TTT is the maturity date of the bond Unlike principal tokens, YTs are not minted 1:1 to the deposit. The number of YT tokens minted are relative to the total lockup period T−t0T−t\_0T−t0​​. Here are some scenarios: * User stakes on the issuance date of the bond, where T−tn​\=T−t0T−t\_n​=T−t\_0T−tn​​\=T−t0​​ , and yield tokens are minted 1:1 to principal PPP, * User stakes during the middle of the term, where T−tn​T−t0​T−t\_n​>T−t\_0​T−tn​​\>T−t0​​, and more yield tokens are minted, proportional to time remaining until issuance starts. ### [](https://docs.pye.fi/technical-specification/markdown#redeeming-1) Redeeming At maturity, YT token holders can redeem their tokens for the underlying yield pro rata. * The total yield accrued at maturity is Y\=ST−PY = S\_T - PY\=ST​−P. * Let NYTN\_{YT}NYT​ represents the total supply of YT tokens outstanding for that maturity. * If a holder redeems yyy units of YT tokens, their proportional share is: Redeemable Yield(y)\=YNYT⋅(ST−P)Redeemable Yield(y) = \\frac{Y}{N\_{YT}} \\cdot (S\_T-P)Redeemable Yield(y)\=NYT​Y​⋅(ST​−P) where: * yyy is the number of YT tokens redeemed by the holder, * NYTN\_{YT}NYT​ is the total YT tokens outstanding, * ST\=S0⋅∏t\=1T(1+rt)S\_T = S\_0 \\cdot \\prod\_{t=1}^{T} (1 + r\_t)ST​\=S0​⋅∏t\=1T​(1+rt​) is value of the stake account at maturity * PPP is the original deposit amount. [PreviousProgram](https://docs.pye.fi/technical-specification/program) [NextDeposit](https://docs.pye.fi/staker-guides/deposit) Last updated 1 month ago --- # Calculator | Documentation The calculator helps Solana validators estimate their total profits and staker returns under different lockup terms and commission structures using real Solana economic parameters. This tool allows validators to model: * Commission splits on inflation, MEV tips, and block rewards * Lockup durations and delegated stake size * Validator and staker profit projections over time ### [](https://docs.pye.fi/validator-guides/calculator#how-to-use) **How to Use** 1. **Start with your current validator stats,** set the delegated stake, number of leader slots, and your commission structure. 2. **Adjust lockup duration,** to explore how longer commitments impact yield. 3. **Review “Lockup Simulation Results”,** to see both validator and staker profits. 4. **Use the chart,** to compare your lockup rewards against baseline native staking. 5. **Optimize commissions,** to balance validator profitability with competitive staker returns. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FHdBfA6Gf6odXfXrrc9f5%252FScreenshot%25202025-10-06%2520at%25202.12.13%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Da1253da9-6c33-4320-b691-b5137691f5c7&width=768&dpr=4&quality=100&sign=237b9433&sv=2) ### [](https://docs.pye.fi/validator-guides/calculator#how-it-works) How It Works #### [](https://docs.pye.fi/validator-guides/calculator#lockup-commission) Lockup Commission This section defines the commercial terms between the **validator** and **stakers** for a specific lockup. Parameters: * **Duration:** The term length of the staking lockup (e.g., 12 or 24 months). Longer lockups typically yield higher cumulative rewards. * **Delegated Stake:** The total amount of SOL delegated to this validator under the lockup. Example: `10,000 SOL` * **Inflation Commission:** Percentage of inflation rewards the validator keeps. Example: If 5%, the validator earns 5% of the inflation-based rewards. * **MEV Tips Commission:** Percentage of MEV tip rewards the validator keeps. Example: If 10%, the validator takes 10% of MEV revenue. * **Block Reward Commission:** Percentage of block rewards retained by the validator. Example: If 20%, the validator keeps 20% of the block rewards. Use this section to model different commission splits and see how they affect validator and staker returns. #### [](https://docs.pye.fi/validator-guides/calculator#solana-economics) Solana Economics This section controls the **network-wide variables** used in the simulation. These values update automatically from Solana’s current network data but can also be adjusted manually for scenario testing. Parameters**:** * **SOL Price:** The current SOL/USD exchange rate. * **Leader Slots per Epoch:** The expected number of slots this validator produces each epoch. * **Epochs per Year:** The number of epochs in a typical year (≈182). * **Inflation Rate:** The current Solana inflation percentage (≈5%). * **Block Rewards:** Average SOL earned per produced block. * **MEV Tips per Block:** Average MEV reward per block. Adjusting these parameters lets you simulate how changes in SOL price or MEV intensity affect profitability. #### [](https://docs.pye.fi/validator-guides/calculator#simulation-results-and-projection) Simulation Results & Projection This graph visualizes the growth of staking returns over time. * **Native Staking:** The baseline yield from normal (non-lockup) Solana staking. * **Lockup Rewards:** The projected performance using your custom lockup terms and commissions. The gap between “Native Staking” and “Lockup Rewards” represents the **added value** you and your stakers capture through customized lockups. [PreviousCLI](https://docs.pye.fi/validator-guides/cli) [NextTutorials](https://docs.pye.fi/validator-guides/tutorials) Last updated 13 days ago --- # Redeem | Documentation This guide explains how to redeem your principal and yield at the end of lockup, and confirm receipt of SOL in your wallet. Important * Redemption is only possible once the lockup has **reached maturity**. Attempting to redeem early will result in **0 SOL** received. * Ensure your wallet is connected with the same account that made the original deposit or purchase if acquired via Pye's trading platform. * Validator performance during the lockup (skip rate, uptime) may affect the final yield amount. STEP 1: Navigate to Lockup Page[](https://docs.pye.fi/staker-guides/redeem#step-1-navigate-to-lockup-page) Navigate to the lockup page: 1. Open [app.pye.fi](https://app.pye.fi/) . 2. Select the lockup where you previously deposited. For example: [https://app.pye.fi/lockups/DrNcCoTrPTf7VxVDfxfQpQRw5jdjaYFw88vqkLJqL7oJ](https://app.pye.fi/lockups/DrNcCoTrPTf7VxVDfxfQpQRw5jdjaYFw88vqkLJqL7oJ) 1. You will see the **Lockup Detail Page**, which includes: * Maturity date (must have passed to redeem) * Validator performance metrics * Lockup ROI chart ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252Fs13QUtrUaBmNpPEz31xu%252FScreenshot%25202025-09-15%2520at%25204.24.01%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D516bd01f-eb07-4ecc-bf4a-f7827c0a0993&width=768&dpr=4&quality=100&sign=528940fa&sv=2) STEP 2: Switch to Redeem Tab[](https://docs.pye.fi/staker-guides/redeem#step-2-switch-to-redeem-tab) * On the right-hand panel, click **Redeem**. * You will see two sliders: * **Principal**: Your original deposit, redeemable 1:1 in SOL. * **Yield**: The staking rewards earned during the lockup. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252F0gnPxxKa4pqE2YK1tdtA%252FScreenshot%25202025-09-15%2520at%25204.10.14%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D3f78baa9-bdbb-4395-99ba-199261cecc76&width=768&dpr=4&quality=100&sign=3582558a&sv=2) STEP 3: Select Positions to Redeem[](https://docs.pye.fi/staker-guides/redeem#step-3-select-positions-to-redeem) * Adjust the sliders to choose how much of each position you want to redeem. * Slide to **100%** if you want to redeem your entire position. * Partial redemption is also supported (e.g., redeem yield while holding principal). * The **Summary** box will update to show: * **pSOL Size** and **ySOL Size** being redeemed. * **Maturity Date** (confirmation that the lockup has ended). * **You will receive**: The amount of SOL that will be credited to your wallet. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252F6GfylTydWbnxB5NpUxGh%252FScreenshot%25202025-09-15%2520at%25204.10.50%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Dd875a3b0-8734-4527-8a64-fbd9e68ce5cb&width=768&dpr=4&quality=100&sign=6579095&sv=2) STEP 4: Confirm and Execute Redemption[](https://docs.pye.fi/staker-guides/redeem#step-4-confirm-and-execute-redemption) 1. Click **Redeem**. 2. Your wallet will prompt you to approve the redemption transaction. * Review gas fees and confirm. 3. Once confirmed, the Solana network will process the transaction. STEP 5: Verify Receipt[](https://docs.pye.fi/staker-guides/redeem#step-5-verify-receipt) * After redemption, SOL will be credited to your wallet balance. * The **Your Position** panel will update to reflect the remaining balance (if any). * Example: If you redeemed 100% of both pSOL and ySOL, your position will display **0**. * If you redeemed partially, your unclaimed tokens will still appear. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FvfnhMHHceKbRyLTEcfr2%252FScreenshot%25202025-09-15%2520at%25204.13.43%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Dacbf6d6e-215e-4625-a572-86d80f53dc8f&width=768&dpr=4&quality=100&sign=26e7e2fa&sv=2) [PreviousDeposit](https://docs.pye.fi/staker-guides/deposit) [NextCLI](https://docs.pye.fi/validator-guides/cli) Last updated 1 month ago --- # CLI | Documentation The Pye CLI automates reward calculation and distribution for validator-issued Pye Accounts. It is designed to run continuously on a small server, monitoring for epoch changes and executing payouts when required. Github Repo: [https://github.com/pyefi/pye-cli](https://github.com/pyefi/pye-cli) ### [](https://docs.pye.fi/validator-guides/cli#requirements) Requirements * **Server**: A small, long-running machine (e.g. `t3.nano` or `t3.micro` EC2 instance). > ⚠️ Running multiple instances simultaneously is **not supported**. Deploy a single dedicated instance per validator. * **Keypair**: A filesystem keypair with sufficient SOL to cover transaction fees and distributions. The required SOL balance depends on the validator’s stake size and expected epoch rewards. * **Dependencies**: Rust toolchain and build utilities. ### [](https://docs.pye.fi/validator-guides/cli#installation) Installation From a fresh Ubuntu host: Copy # Update system packages sudo apt-get update sudo apt-get install -y build-essential curl # Install Rust toolchain curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source $HOME/.cargo/env # Clone and build the CLI git clone https://github.com/pyefi/pye-cli cd pye-cli cargo build --release The compiled binary will be located at: Copy target/release/pye-cli ### [](https://docs.pye.fi/validator-guides/cli#running-as-a-service) Running as a Service We recommend running the CLI as a persistent `systemd` service. Example unit file (`/etc/systemd/system/pye-cli.service`): Copy [Unit] Description=Pye CLI After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=YOUR_USER # Environment variables Environment=RPC=https://api.mainnet-beta.solana.com Environment=PAYER=/home/ubuntu/keys/payer.json Environment=VOTE_PUBKEY=YOUR_VOTE_ACCOUNT_PUBKEY Environment=ISSUERS=ISSUER_KEY1,ISSUER_KEY2 Environment=CONCURRENCY=50 Environment=RUST_LOG=info ExecStart=/home/ubuntu/pye-cli/target/release/pye-cli validator-pye-account-manager [Install] WantedBy=multi-user.target > For multiple issuers, provide a comma-separated list in `ISSUERS`. Enable and start: Copy sudo systemctl daemon-reload sudo systemctl enable pye-cli sudo systemctl start pye-cli ### [](https://docs.pye.fi/validator-guides/cli#cli-usage) CLI Usage Run with: Copy pye-cli validator-pye-account-manager [OPTIONS] --vote-pubkey --payer #### [](https://docs.pye.fi/validator-guides/cli#common-options) Common Options Flag Description `-r, --rpc ` RPC endpoint. Default: `https://api.mainnet-beta.solana.com`. `--program-id ` Pye program ID. Default: `PYEQZ2qYHPQapnw8Ms8MSPMNzoq59NHHfNwAtuV26wx`. `-v, --vote-pubkey ` Validator’s vote account pubkey. `-i, --issuers ` Restrict pye\_account payments to specific issuers (comma-delimited). `-p, --payer ` Path to payer keypair JSON file. `--concurrency ` Max concurrent RPC requests. Default: `50`. `--dry-run` Calculate rewards without transferring funds. `--cycle-secs ` Interval (seconds) between epoch checks. Default: `60`. `--block-retry-delay ` Retry delay (seconds) for `get_block` calls. Default: `1800`. `-h, --help` Show help. ### [](https://docs.pye.fi/validator-guides/cli#notes) Notes * The CLI automatically calculates and distributes excess rewards for all Lockups associated with the validator. * Use `--dry-run` for testing without sending transactions. * Ensure your payer key has enough SOL to cover transfers and fees. [PreviousRedeem](https://docs.pye.fi/staker-guides/redeem) [NextCalculator](https://docs.pye.fi/validator-guides/calculator) Last updated 5 days ago --- # Program | Documentation [](https://docs.pye.fi/technical-specification/program#pye-accounts) Pye Accounts -------------------------------------------------------------------------------------- Pye Accounts are a new staking product that extend Solana’s native stake accounts with additional data structures to support: * Custom Reward Commissions * Stake Account trading This upgrade comes with additional improvements that allow stake accounts to become composable with DeFi applications. [](https://docs.pye.fi/technical-specification/program#anatomy) Anatomy ---------------------------------------------------------------------------- ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FByrVx1U7a99rYLHUHcLD%252Fimage.webp%3Falt%3Dmedia%26token%3D7ad94a8e-8c65-4c77-9a5e-845da42c5103&width=768&dpr=4&quality=100&sign=ca00b249&sv=2) When a validator issues a Pye Account: 1. **Stake Account Creation**: A new stake account is created and delegated to the validator. 2. **Timelock Applied**: The stake account is wrapped in a time-based lock, preventing early withdrawal until a defined maturity timestamp. 3. **Commission Structure**: The Pye Account includes a data structure that specifies how staking rewards are split between validator and the staker for that maturity. 4. **Tokens**: The lockup is tokenized into two components: * **Principal Token**: Redeemable for the original staked SOL at maturity. * **Yield Token**: Redeemable for the staking yield accrued over the lockup period [](https://docs.pye.fi/technical-specification/program#key-features) Key Features -------------------------------------------------------------------------------------- #### [](https://docs.pye.fi/technical-specification/program#timelock) **Timelock** Prevents stakers from withdrawing until maturity is met. The Pye timelock is different than the native `lockup authority` that exists in stake accounts. Pye uses a custom timelock instruction in order to allow previously delegated stake accounts to be merged into the Pye Account as a valid form of deposit. Otherwise, if the Pye Account were to use the native `timelock authority` it'd limited to only accepting deposits from stake accounts with the same authorities and lockup. Upon deposit the Pye Account becomes the stake and withdraw authority. This allows the program to timelock the stake and allow for depositing/withdrawing stake during the lifecycle of the lockup. #### [](https://docs.pye.fi/technical-specification/program#custom-reward-commissions) Custom Reward Commissions Today, validators are only able to charge their stakers a flat commission. This is done directly at the vote account layer, where they can set the `commission` parameter - which represents the percentage of reward kept by the validator. At the epoch boundary, this commission is paid out to the vote account and the remainder is distributed pro rata to all delegating stake accounts. Depending on the validator's setup, MEV tips can be routed as well through platforms like Jito and Paladin. Pye is introducing custom commission structures to stake accounts, allowing validators to set custom commissions to each of Solana's staking reward streams: * **Inflation**: Programmatic emissions coming from Solana's [inflation schedule](https://docs.anza.xyz/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards) . * **MEV**: Tip payments from [Jito](https://jito-foundation.gitbook.io/mev/mev-payment-and-distribution/tip-payment-program) . * **Block Rewards**: Fees users pays validators for block inclusion, also referred to as [Priority Fees](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0096-reward-collected-priority-fee-in-entirety.md) . Copy #[derive(AnchorDeserialize, AnchorSerialize, Clone, Default, Debug)] pub struct RewardCommissions { pub inflation_bps: u16, pub mev_tips_bps: u16, pub block_rewards_bps: u16, pub padding: [u8; 2], } Through a combination of on-chain data (e.g., `RewardCommissions`) and off-chain indexing (via the Pye CLI), validators can automate accounting operations and payments, ensuring they meet the commercial terms of their Pye Accounts. With Pye’s latest protocol upgrade (v2.2), validators can also issue fixed-yield stake accounts. For example, assume there are 185 epochs in a year and a validator commits to pay a given staker a fixed 10% APY through a Pye Accounts. If the staker delegates 100 SOL to the account, the validator is obligated to pay `0.054` SOL each epoch, which compounds to the agreed 10% APY. In conclusion, Pye Accounts enable validators to issue both fixed- and variable-yield stake accounts. The performance of variable-yield accounts depends on the validator’s commission structure (`RewardCommissions`) and Solana’s underlying economic activity (e.g., MEV, priority fees). Fixed-yield accounts, by contrast, require the validator to make the same predetermined payment every epoch, regardless of network conditions. **SPL Token Program** When stakers deposit funds into a Pye Account, the program generates two tokens: * **Principal Token:** Redeemable for the locked principal at maturity. Receives no yield. * **Yield Token:** Redeemable for the yield generated by the principal token. `1 YT` is equal to the yield generated by `1 PT` until maturity. Both principal and yield tokens are SPL tokens, designed to be composable across AMMs, orderbooks and lending protocols. [](https://docs.pye.fi/technical-specification/program#version-history) Version History -------------------------------------------------------------------------------------------- \*Note: `SA` means Stake Account Feature SA V1 V2 Description Deposit SOL Staker can deposit native SOL. Deposit Stake Account Stakers can deposit existing stake accounts. Flat Commission Validator charges flat commission Inflation Commission % of inflation validator charges. MEV Commission % of MEV rewards validator charges. Block Reward Commission % of block rewards validator charges. Fixed Yield Stakers earn a fixed APY. DeFi Composability SPL token representation of the stake account. [PreviousTechnical Vision](https://docs.pye.fi/introduction/technical-vision) [NextMechanism](https://docs.pye.fi/technical-specification/markdown) Last updated 3 days ago --- # Invite Staker | Documentation This guide is currently being worked on. Please check back later for the full documentation. [PreviousCreating a Pye Account](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account) [NextValidator Dashboard](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard) Last updated 1 month ago --- # Onboarding | Documentation Welcome to Pye Validator Onboarding! This guide will walk you through the onboarding process, system requirements, and how to begin issuing lockups and managing staking operations through Pye Accounts. ### [](https://docs.pye.fi/validator-operators/onboarding#why-validators-use-pye) Why Validators Use Pye Pye provides validators with **Upgraded Stake Accounts** that: 1. Provide real-time performance and node data for better operational insights (inflation, MEV, and block rewards). 2. Encode commercial terms directly on-chain (flat, variable, or cluster-median-based commissions). 3. Automate accounting and reward distribution This infrastructure is currently free - no subscription or fees required. ### [](https://docs.pye.fi/validator-operators/onboarding#requirements) Requirements Running the Pye CLI requires minimal compute resources. We recommend validator oeprators to run the Pye CLI in seperate server than where your valdiator node is running from. **Recommended setup:** * Equivalent to an **AWS EC2 T2 instance** (2 vCPUs, 4 GB RAM). * Stable internet connection. The build process may require some compile time depending on your environment, but running the CLI itself is lightweight and does not interfere with validator operations. 1 ### [](https://docs.pye.fi/validator-operators/onboarding#register-your-validator) Register Your Validator Fill out the onboarding form provided by the Pye team: [https://forms.gle/Rj6HXkkfr5qJBR8G7](https://forms.gle/Rj6HXkkfr5qJBR8G7) You’ll need to submit: * Validator name * Vote account public key * Wallet address to be authorized as the issuer * A high-resolution logo (square or round) Once submitted, the Pye team will review your application. 2 ### [](https://docs.pye.fi/validator-operators/onboarding#approval-from-pye) Approval from Pye After review, the Pye team will: * Whitelist your validator in the backend. * Create SPL token logos representing your validator’s stake accounts. * Confirm your issuer keys, ticker, and other configuration details. You’ll also receive an invite to the Validator Discord: [https://discord.gg/yrmK7vUMbj](https://discord.gg/yrmK7vUMbj) ) The Discord is where: * The Pye team provides support and troubleshooting. * Validators receive regular updates and product announcements. 3 ### [](https://docs.pye.fi/validator-operators/onboarding#access-the-app) Access the App Once approved, visit [**app.pye.fi**](https://app.pye.fi/) to access your **Validator Dashboard**. From here, you can: * View total stake and issued lockups. * Create new lockups. * Monitor validator performance and rewards. 4 ### [](https://docs.pye.fi/validator-operators/onboarding#run-the-pilot-2-epochs) Run the Pilot (2 Epochs) All new validators are required to complete a short pilot. This ensures that: * The CLI and issuer keys are configured correctly. * Mock issuances and accounting processes work as expected. * Your team fully understands how to use Pye before production. The pilot typically runs for **2 epochs** in a production environment with a small SOL deposit. 5 ### [](https://docs.pye.fi/validator-operators/onboarding#issue-pye-accounts) Issue Pye Accounts After successful pilot completion, you can begin issuing production lockups. Refer to the Creating a New Lockup Guide for detailed instructions. At this stage, your validator can: * Offer fixed-term lockups to delegators. * Bring commercial relationships fully on-chain. * Automate accounting, reward sharing, and distributions. All Pye services are completely free, including: * Access to real-time node and reward data. * On-chain commercial lockups. * Automated accounting and reward distribution tools. Pye’s mission is to help validators operate more efficiently, transparently, and profitably, while strengthening the economic layer of Solana’s validator network. Although we have plans of monetizing this infrastructure we are currently offering these services as is for free. [PreviousValidator Dashboard](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard) [NextSupported Validators](https://docs.pye.fi/validator-operators/supported-validators) Last updated 5 days ago --- # Supported Validators | Documentation Validator SYMBOL Vote Account Anagram ANA 4AUED4uj6nSTuANzaAUnGBPJQRmhpDYDwoWJNkoUUBBW Kairos Research KAIROS Hx4UJCvf8amGeuW9fPFfTckRoznDHxPSYiU9HuUSZKLT SEC SEC3 EnRcbgr5r7EUS2P35szncy6TW6eWA9UQiU3yQRCDbh2P Tiny Dancer TINY 4AUED4uj6nSTuANzaAUnGBPJQRmhpDYDwoWJNkoUUBBW Exo Technologies EXO 6q1VNp8Vy2Go12vb8CwbjUqqj2SXr2JYftJRWs71sW23 StakeCraft CRAFT BDn3HiXMTym7ZQofWFxDb7ZGQX6GomQzJYKfytTAqd5g Sentinel SENT CiTYUYPAPHdcri5yEfsmqVcs54J6j8X1QaiFLgYqMVe Sec3 SEC3 EnRcbgr5r7EUS2P35szncy6TW6eWA9UQiU3yQRCDbh2P Lantern LANTERN FACqsS19VScz8oo2YhdMg35EsAy6xsCZ9Y58eJXGv8QJ Alchemy ALCHEMY JEJzKYzyYJJjtn6Yb1P7r6YV75TdSNmmJT49sgDoHvmk Phase Labs PHASE phz34EcgWRCT9otPzRS2JtSzVHxQJk4SovqJvV1TQk8 THW THW THWfRpcJSC7oDrNMSCcixTZmCHVBTEVQL4qnd1UTD1x Everstake EVER 9QU2QSxhb24FUX3Tu2FpczXjpK3VYrvRudywSZaM29mF Vybe Network VYBE 6oscGUEkXE8fyWoC4czRKbM1cuLkJNtgRsX1Un6w88Vf Solstice SOLS 4vqwZsEEEsKtSqqEWbLyFAciWg66jGLP9zrbcZ1Hsrxb [PreviousOnboarding](https://docs.pye.fi/validator-operators/onboarding) [NextSecurity](https://docs.pye.fi/resources/security) Last updated 13 days ago --- # Creating a Pye Account | Documentation This guide is intended for validators who are issuing Pye Accounts. Access to this page is restricted: your connected wallet must be approved as an `authorized issuer` affiliated with your validator organization. If you have not yet completed the approval process, please refer to the [Validator Onboarding section](https://docs.pye.fi/validator-operators/onboarding) for detailed instructions on how to register your validator, complete issuer verification, and gain access to issuance tools. STEP 1: Lockup Parameters[](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account#step-1-lockup-parameters) * Go to [https://app.pye.fi/](https://app.pye.fi/) * Navigate to the `/Create Lockup` tab * Input the following parameters: * **Deposits Start**: Date/time when stakers can begin depositing SOL or stake. * **Deposits End:** Date/time when stakers may no longer deposit. * **Lockup Duration**: Date/time when the lockup ends (eg. 3m, 1yr into the future), also referred to as "maturity". ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252Fq4zwgThyAOsUlhBd8n9m%252FScreenshot%25202025-09-12%2520at%25202.47.51%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D4326f72d-93ff-4320-bddf-4591ff70670c&width=768&dpr=4&quality=100&sign=77fb8500&sv=2) STEP 2: Commission Structure[](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account#step-2-commission-structure) Pye allows validators to set custom commission for each reward source: * **Inflation Commission**: The % of inflation the validator keeps. * **MEV Commission:** The % of MEV the validator keeps. * **Block Rewards Commission:** The % of block rewards the validator keeps. For more information visit our [technical specification section](https://docs.pye.fi/technical-specification/program) . ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FSom5ZAqSJE4a4c3lzs2e%252FScreenshot%25202025-09-12%2520at%25202.48.24%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Dcb9c2343-f095-4c7f-88cd-71aa2e4e8820&width=768&dpr=4&quality=100&sign=f8b91547&sv=2) STEP 3: Review Token Details[](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account#step-3-review-token-details) * The symbol and metadata URI are autogenerated and obtained when a validator is onboarded. * Please review the symbols for both the PT and YT tokens and make sure the dates are correct. Note: Stake Accounts get tokenized via the issuance of SPL tokens representing the principal and yield of the account. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FVI6PxXHtly0maKl8Q6Cw%252FScreenshot%25202025-09-12%2520at%25202.48.43%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D666370ab-b6d8-483b-95cb-2d38db226505&width=768&dpr=4&quality=100&sign=b7be6e0d&sv=2) Step 4: Sign TX in wallet[](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account#step-4-sign-tx-in-wallet) * Confirm your transaction in the notification window of your wallet ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FknldTIPAmfO3nuXkJJOt%252FScreenshot%25202025-09-12%2520at%25202.51.53%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D61c0b7db-6553-4b1c-8afc-967a2a6cd70a&width=768&dpr=4&quality=100&sign=5ae45e40&sv=2) Step 5: Visit new Pye Account[](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account#step-5-visit-new-pye-account) Congratulations, you have now issued a Pye Account. To share the Pye Account with your staker for deposit. * Click on the "View Lockup" button ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FtoMVOKCOuzME6uY420ft%252FScreenshot%25202025-09-12%2520at%25202.52.22%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D1bfa1350-4509-4836-8cd6-af18fe5efd11&width=768&dpr=4&quality=100&sign=f74ae274&sv=2) [PreviousTutorials](https://docs.pye.fi/validator-guides/tutorials) [NextInvite Staker](https://docs.pye.fi/validator-guides/tutorials/invite-staker) Last updated 1 month ago --- # Security | Documentation #### [](https://docs.pye.fi/resources/security#audits) Security Reviews Pye programs undergo 3rd-party audits before deployment. Audits reports are organized in the repository according to auditor and date of review. Auditor Version Date Type PDF Zellic Pye V1 January 23, 2025 Security Review [Zellic Report](https://github.com/pyefi/security/blob/master/security_audits/zellic_january_2025_core_v1.pdf) Sec3 Pye V1 March 19, 2025 Security Review [Sec3 Report](https://github.com/pyefi/security/blob/master/security_audits/sec3_march_2025_core_v1.pdf) Neodyme Pye V2 June 5, 2025 Security Review [Neodyme Report](https://github.com/pyefi/security/blob/master/security_audits/neodyme_june_2025_core_v2.pdf) Sec3 Pye V2 September 2025 Security Review WIP For any other security-related inquiries, reach out to our team: Email: [security@pye.fi](mailto:security@pye.fi) [PreviousSupported Validators](https://docs.pye.fi/validator-operators/supported-validators) [NextDeployments](https://docs.pye.fi/resources/deployments) Last updated 13 days ago --- # Validator Dashboard | Documentation The **Validator Dashboard** provides a complete view of your validator’s staking activity and lockups issuance through Pye. This page is only accessible to wallets that are authorized as issuers. ⚠️ **Best Practices for Validators** * Regularly check your **issuer keys,** only use trusted wallets for creating new lockups. * Use **private lockups** for agreements thats require custom structures. * Monitor **capacity and TVL** and consider opening new lockups when current ones are near full. ### [](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard#usage) Usage As a validator, the dashboard helps you: * Track the **scale of deposits** you are attracting through Pye. * Monitor **active lockup states** (open, closed, matured). * Verify that your **issuer wallets** are correctly set up for new lockup creation. * Provide **transparent performance metrics** (APY, reward sources, capacity) to depositors. * Manage both **public** offerings (open to all stakers) and **private deals** (customized issuance). STEP 1: Key Metrics[](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard#step-1-key-metrics) At the top of the dashboard, you will find key validator statistics: * **Validator Stake (Total)** Displays the total SOL delegated to your validator, including both Pye-issued and non-Pye stake. Example: `122,424.12 SOL ($36.88M)` * **SOL Staked via Pye** Shows the portion of your total stake that entered through Pye-issued lockups. Example: `40,222.81 SOL ($12.42M)` * **Unique Depositors** The number of distinct wallet addresses that have deposited into your validator’s lockups. * **Active Lockups** The number of currently active lockups (both public and private) under your validator. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FKf7f29xUtCSwbFCpHd3G%252FScreenshot%25202025-09-18%2520at%25204.45.18%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D0d595468-1cda-4012-9af0-f04987915561&width=768&dpr=4&quality=100&sign=fdae642c&sv=2) STEP 2: Validator Overview[](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard#step-2-validator-overview) This section contains the technical identifiers used to issue and verify lockups: * **Identity** The identity key of your validator node. * **Vote Account** The validator vote account tied to consensus and reward collection. * **Website** Public-facing link provided by the validator (optional). * **Issuer Keys** The wallet addresses authorized to issue new lockups (lockups) under your validator. These are the accounts that sign new issuance transactions. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252Fmb6vAVlJl4vRc8XvdvOm%252FScreenshot%25202025-09-18%2520at%25204.45.18%25E2%2580%25AFPM%25202.png%3Falt%3Dmedia%26token%3D84a670b4-5dbf-4d1f-bad0-74ac44d8898b&width=768&dpr=4&quality=100&sign=f4e76147&sv=2) STEP 3: Lockup Table[](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard#step-3-lockup-table) The dashboard separates lockups into three categories: * **Public Lockup** Lockups that are open to all depositors on app.pye.fi. * **Private Lockup** Lockups restricted to specific whitelisted wallets (e.g., OTC agreements or custom terms). * **Expired Lockup** Lockups that have matured and are no longer accepting deposits. These remain viewable for record-keeping and settlement tracking. ### [](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard#lockup-table-in-depth) Lockup Table in-Depth Each /lockup is shown in a structured table. The columns include: * **Product** The term length of the lockup (e.g., 3 Months, 6 Months, 12 Months). * **Status** The current state of the lockup: * _Deposits Open_ → Active and accepting deposits. * _Deposits Closed_ → Not accepting new deposits, but still active until maturity. * _Matured_ → Ready for redemption by stakers. * **Maturity** The date at which principal can be redeemed by depositors. * **Capacity (SOL)** The total deposit capacity for the lockup versus current deposits. Example: `282 / 1000` → 282 SOL deposited out of 1000 maximum. * **TVL (Total Value Locked)** The dollar value of deposits currently held in the lockup. * Commission Structure Breakdown of the validator’s reward sources allocated to this lockup: * **Inflation** → Base staking rewards. * **MEV** → Priority fees and validator-extracted value. * **Block** → Block production rewards. * **Proj. APY** The projected annual percentage yield for depositors, based on the reward split and validator performance. [PreviousInvite Staker](https://docs.pye.fi/validator-guides/tutorials/invite-staker) [NextOnboarding](https://docs.pye.fi/validator-operators/onboarding) Last updated 1 month ago --- # Tutorials | Documentation [Creating a Pye Account](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account) [Invite Staker](https://docs.pye.fi/validator-guides/tutorials/invite-staker) [Validator Dashboard](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard) [PreviousCalculator](https://docs.pye.fi/validator-guides/calculator) [NextCreating a Pye Account](https://docs.pye.fi/validator-guides/tutorials/creating-a-pye-account) --- # Deployments | Documentation ### [](https://docs.pye.fi/resources/deployments#pye-core-v2) Pye Core V2 * Mainnet: `PYEQZ2qYHPQapnw8Ms8MSPMNzoq59NHHfNwAtuV26wx` * Devnet: `HHkTguPKLkV5LtYZGhU96GoRm61iqSQaRkbZe7PYfbb2` [PreviousSecurity](https://docs.pye.fi/resources/security) Last updated 1 month ago --- # Overview | Documentation Pye is a protocol for managing and trading stake accounts on Solana. Pye allows validators to issue and manage stake accounts with custom commercial terms (eg. fixed-yield, variable yield), while providing stakers with a venue to trade them. ### [](https://docs.pye.fi/introduction#get-familiar-with-pye) Get Familiar with Pye [](https://docs.pye.fi/validator-operators/onboarding#why-validators-use-pye) #### [](https://docs.pye.fi/introduction#undefined) **Pye Accounts** Benefits for Validators [](https://docs.pye.fi/technical-specification/program#anatomy) #### [](https://docs.pye.fi/introduction#undefined-1) **Architecture** High-level design [](https://docs.pye.fi/validator-operators/supported-validators) #### [](https://docs.pye.fi/introduction#undefined-2) **Supported Validators** Explore all stake providers [](https://docs.pye.fi/staker-guides/deposit) #### [](https://docs.pye.fi/introduction#undefined-3) **User Guides** How to deposit/redeem [](https://discord.com/invite/zKtmnne8c7) #### [](https://docs.pye.fi/introduction#undefined-4) **Support** Get help from our team [](https://docs.pye.fi/resources/security) #### [](https://docs.pye.fi/introduction#undefined-5) **Security** Audits & bounties * * * ### [](https://docs.pye.fi/introduction#validators) Validators #### [](https://docs.pye.fi/introduction#undefined-6) Onboarding Guide for new validators #### [](https://docs.pye.fi/introduction#undefined-7) CLI Developer guide #### [](https://docs.pye.fi/introduction#undefined-8) FAQ Resources & tools * * * [NextTechnical Vision](https://docs.pye.fi/introduction/technical-vision) Last updated 13 days ago --- # Deposit | Documentation This guide explains how to deposit SOL into a Pye lockup, review your position, and confirm that your tokens are allocated correctly. Important * Deposits can only be made while the deposit window is open (between “Deposits Open” and “Deposits Close” times shown in the Overview). * After the window closes, the “Issuance Closed” message will appear, and no new deposits will be accepted. * Ensure you always verify validator performance metrics (skip rate, uptime, voting rate) as they may affect yield quality. STEP 1: Navigate to Lockup Page[](https://docs.pye.fi/staker-guides#step-1-navigate-to-lockup-page) * Open [app.pye.fi](https://app.pye.fi/) . * Select the lockup you want to participate in. For example: [https://app.pye.fi/lockups/G1FBFpkSg7mQtYBJhGQ4L1WK3PAkr976YHFUDzhZp3UQ](https://app.pye.fi/lockups/G1FBFpkSg7mQtYBJhGQ4L1WK3PAkr976YHFUDzhZp3UQ) . * You will see the Lockup Overview Screen, including details like: * TVL (Total Value Locked) * ROI and APY estimates * Deposit window (open/close times) * Maturity date * Validator performance metrics * Reward rate breakdown (inflation, MEV, block reward ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FiCBPB6wKBS4oyQmgKAS7%252FScreenshot%25202025-09-15%2520at%25203.42.11%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D82932642-51c2-489a-adab-3ea8ef44f33a&width=768&dpr=4&quality=100&sign=3d2e100c&sv=2) STEP 2: Input Amount[](https://docs.pye.fi/staker-guides#step-2-input-amount) In the **Deposit** box (right-hand panel): * Select **SOL** as the deposit token. * Input the amount of SOL you want to deposit. * Alternatively, click **MAX** to use your full available balance. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FFbmVMktsCmbTPyAwTxqj%252FScreenshot%25202025-09-15%2520at%25203.41.15%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3D78a66465-0874-4c71-b051-34aef8cc90b2&width=768&dpr=4&quality=100&sign=564d1106&sv=2) Step 3: Review Summary[](https://docs.pye.fi/staker-guides#step-3-review-summary) Before confirming, carefully check the Summary section: * **Your Deposit**: The total SOL you are contributing. * **Fees**: Any protocol or transaction fees deducted. * **pSOL Size**: The amount of principal tokens you will receive. * **ySOL Size**: The amount of yield tokens you will receive. * **APY**: The estimated annualized yield for this lockup. * **Maturity**: The date your principal becomes redeemable ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FuAOtSAXLGqkrE2Dowyx4%252FScreenshot%25202025-09-15%2520at%25203.41.15%25E2%2580%25AFPM%25202.png%3Falt%3Dmedia%26token%3Dec0c089e-2de5-456e-8fa8-dbf94d6681ba&width=768&dpr=4&quality=100&sign=88b6ffa7&sv=2) STEP 4: Confirm and Execute Transaction[](https://docs.pye.fi/staker-guides#step-4-confirm-and-execute-transaction) * Click **Deposit**. * Your wallet will prompt you to approve the transaction. * Review gas fees and confirm. * Once confirmed, the transaction will be processed on Solana. STEP 5: Verify Your Position[](https://docs.pye.fi/staker-guides#step-5-verify-your-position) After a successful deposit, your position will appear in the Your Position panel (bottom right). * **Principal**: Represents your locked deposit, redeemable 1:1 for SOL at maturity. * **Yield**: Represents the yield component, redeemable for the staking rewards generated by your deposit. ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252Fc5cZExHaPNecYaGplgxv%252FScreenshot%25202025-09-15%2520at%25203.52.02%25E2%2580%25AFPM.png%3Falt%3Dmedia%26token%3Dcf7a3e02-8ee5-4203-9e6e-bb3546c58102&width=768&dpr=4&quality=100&sign=3a140c57&sv=2) [PreviousMechanism](https://docs.pye.fi/technical-specification/markdown) [NextRedeem](https://docs.pye.fi/staker-guides/redeem) Last updated 1 month ago --- # Program | Documentation [](https://docs.pye.fi/technical-specification#pye-accounts) Pye Accounts ------------------------------------------------------------------------------ Pye Accounts are a new staking product that extend Solana’s native stake accounts with additional data structures to support: * Custom Reward Commissions * Stake Account trading This upgrade comes with additional improvements that allow stake accounts to become composable with DeFi applications. [](https://docs.pye.fi/technical-specification#anatomy) Anatomy -------------------------------------------------------------------- ![](https://docs.pye.fi/~gitbook/image?url=https%3A%2F%2F2321334025-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F5lTatvA4IeM96Of7y3KG%252Fuploads%252FByrVx1U7a99rYLHUHcLD%252Fimage.webp%3Falt%3Dmedia%26token%3D7ad94a8e-8c65-4c77-9a5e-845da42c5103&width=768&dpr=4&quality=100&sign=ca00b249&sv=2) When a validator issues a Pye Account: 1. **Stake Account Creation**: A new stake account is created and delegated to the validator. 2. **Timelock Applied**: The stake account is wrapped in a time-based lock, preventing early withdrawal until a defined maturity timestamp. 3. **Commission Structure**: The Pye Account includes a data structure that specifies how staking rewards are split between validator and the staker for that maturity. 4. **Tokens**: The lockup is tokenized into two components: * **Principal Token**: Redeemable for the original staked SOL at maturity. * **Yield Token**: Redeemable for the staking yield accrued over the lockup period [](https://docs.pye.fi/technical-specification#key-features) Key Features ------------------------------------------------------------------------------ #### [](https://docs.pye.fi/technical-specification#timelock) **Timelock** Prevents stakers from withdrawing until maturity is met. The Pye timelock is different than the native `lockup authority` that exists in stake accounts. Pye uses a custom timelock instruction in order to allow previously delegated stake accounts to be merged into the Pye Account as a valid form of deposit. Otherwise, if the Pye Account were to use the native `timelock authority` it'd limited to only accepting deposits from stake accounts with the same authorities and lockup. Upon deposit the Pye Account becomes the stake and withdraw authority. This allows the program to timelock the stake and allow for depositing/withdrawing stake during the lifecycle of the lockup. #### [](https://docs.pye.fi/technical-specification#custom-reward-commissions) Custom Reward Commissions Today, validators are only able to charge their stakers a flat commission. This is done directly at the vote account layer, where they can set the `commission` parameter - which represents the percentage of reward kept by the validator. At the epoch boundary, this commission is paid out to the vote account and the remainder is distributed pro rata to all delegating stake accounts. Depending on the validator's setup, MEV tips can be routed as well through platforms like Jito and Paladin. Pye is introducing custom commission structures to stake accounts, allowing validators to set custom commissions to each of Solana's staking reward streams: * **Inflation**: Programmatic emissions coming from Solana's [inflation schedule](https://docs.anza.xyz/implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards) . * **MEV**: Tip payments from [Jito](https://jito-foundation.gitbook.io/mev/mev-payment-and-distribution/tip-payment-program) . * **Block Rewards**: Fees users pays validators for block inclusion, also referred to as [Priority Fees](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0096-reward-collected-priority-fee-in-entirety.md) . Copy #[derive(AnchorDeserialize, AnchorSerialize, Clone, Default, Debug)] pub struct RewardCommissions { pub inflation_bps: u16, pub mev_tips_bps: u16, pub block_rewards_bps: u16, pub padding: [u8; 2], } Through a combination of on-chain data (e.g., `RewardCommissions`) and off-chain indexing (via the Pye CLI), validators can automate accounting operations and payments, ensuring they meet the commercial terms of their Pye Accounts. With Pye’s latest protocol upgrade (v2.2), validators can also issue fixed-yield stake accounts. For example, assume there are 185 epochs in a year and a validator commits to pay a given staker a fixed 10% APY through a Pye Accounts. If the staker delegates 100 SOL to the account, the validator is obligated to pay `0.054` SOL each epoch, which compounds to the agreed 10% APY. In conclusion, Pye Accounts enable validators to issue both fixed- and variable-yield stake accounts. The performance of variable-yield accounts depends on the validator’s commission structure (`RewardCommissions`) and Solana’s underlying economic activity (e.g., MEV, priority fees). Fixed-yield accounts, by contrast, require the validator to make the same predetermined payment every epoch, regardless of network conditions. **SPL Token Program** When stakers deposit funds into a Pye Account, the program generates two tokens: * **Principal Token:** Redeemable for the locked principal at maturity. Receives no yield. * **Yield Token:** Redeemable for the yield generated by the principal token. `1 YT` is equal to the yield generated by `1 PT` until maturity. Both principal and yield tokens are SPL tokens, designed to be composable across AMMs, orderbooks and lending protocols. [](https://docs.pye.fi/technical-specification#version-history) Version History ------------------------------------------------------------------------------------ \*Note: `SA` means Stake Account Feature SA V1 V2 Description Deposit SOL Staker can deposit native SOL. Deposit Stake Account Stakers can deposit existing stake accounts. Flat Commission Validator charges flat commission Inflation Commission % of inflation validator charges. MEV Commission % of MEV rewards validator charges. Block Reward Commission % of block rewards validator charges. Fixed Yield Stakers earn a fixed APY. DeFi Composability SPL token representation of the stake account. [PreviousTechnical Vision](https://docs.pye.fi/introduction/technical-vision) [NextMechanism](https://docs.pye.fi/technical-specification/markdown) Last updated 3 days ago --- # CLI | Documentation The Pye CLI automates reward calculation and distribution for validator-issued Pye Accounts. It is designed to run continuously on a small server, monitoring for epoch changes and executing payouts when required. Github Repo: [https://github.com/pyefi/pye-cli](https://github.com/pyefi/pye-cli) ### [](https://docs.pye.fi/validator-guides#requirements) Requirements * **Server**: A small, long-running machine (e.g. `t3.nano` or `t3.micro` EC2 instance). > ⚠️ Running multiple instances simultaneously is **not supported**. Deploy a single dedicated instance per validator. * **Keypair**: A filesystem keypair with sufficient SOL to cover transaction fees and distributions. The required SOL balance depends on the validator’s stake size and expected epoch rewards. * **Dependencies**: Rust toolchain and build utilities. ### [](https://docs.pye.fi/validator-guides#installation) Installation From a fresh Ubuntu host: Copy # Update system packages sudo apt-get update sudo apt-get install -y build-essential curl # Install Rust toolchain curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source $HOME/.cargo/env # Clone and build the CLI git clone https://github.com/pyefi/pye-cli cd pye-cli cargo build --release The compiled binary will be located at: Copy target/release/pye-cli ### [](https://docs.pye.fi/validator-guides#running-as-a-service) Running as a Service We recommend running the CLI as a persistent `systemd` service. Example unit file (`/etc/systemd/system/pye-cli.service`): Copy [Unit] Description=Pye CLI After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=YOUR_USER # Environment variables Environment=RPC=https://api.mainnet-beta.solana.com Environment=PAYER=/home/ubuntu/keys/payer.json Environment=VOTE_PUBKEY=YOUR_VOTE_ACCOUNT_PUBKEY Environment=ISSUERS=ISSUER_KEY1,ISSUER_KEY2 Environment=CONCURRENCY=50 Environment=RUST_LOG=info ExecStart=/home/ubuntu/pye-cli/target/release/pye-cli validator-pye-account-manager [Install] WantedBy=multi-user.target > For multiple issuers, provide a comma-separated list in `ISSUERS`. Enable and start: Copy sudo systemctl daemon-reload sudo systemctl enable pye-cli sudo systemctl start pye-cli ### [](https://docs.pye.fi/validator-guides#cli-usage) CLI Usage Run with: Copy pye-cli validator-pye-account-manager [OPTIONS] --vote-pubkey --payer #### [](https://docs.pye.fi/validator-guides#common-options) Common Options Flag Description `-r, --rpc ` RPC endpoint. Default: `https://api.mainnet-beta.solana.com`. `--program-id ` Pye program ID. Default: `PYEQZ2qYHPQapnw8Ms8MSPMNzoq59NHHfNwAtuV26wx`. `-v, --vote-pubkey ` Validator’s vote account pubkey. `-i, --issuers ` Restrict pye\_account payments to specific issuers (comma-delimited). `-p, --payer ` Path to payer keypair JSON file. `--concurrency ` Max concurrent RPC requests. Default: `50`. `--dry-run` Calculate rewards without transferring funds. `--cycle-secs ` Interval (seconds) between epoch checks. Default: `60`. `--block-retry-delay ` Retry delay (seconds) for `get_block` calls. Default: `1800`. `-h, --help` Show help. ### [](https://docs.pye.fi/validator-guides#notes) Notes * The CLI automatically calculates and distributes excess rewards for all Lockups associated with the validator. * Use `--dry-run` for testing without sending transactions. * Ensure your payer key has enough SOL to cover transfers and fees. [PreviousRedeem](https://docs.pye.fi/staker-guides/redeem) [NextCalculator](https://docs.pye.fi/validator-guides/calculator) Last updated 5 days ago --- # Onboarding | Documentation Welcome to Pye Validator Onboarding! This guide will walk you through the onboarding process, system requirements, and how to begin issuing lockups and managing staking operations through Pye Accounts. ### [](https://docs.pye.fi/validator-operators#why-validators-use-pye) Why Validators Use Pye Pye provides validators with **Upgraded Stake Accounts** that: 1. Provide real-time performance and node data for better operational insights (inflation, MEV, and block rewards). 2. Encode commercial terms directly on-chain (flat, variable, or cluster-median-based commissions). 3. Automate accounting and reward distribution This infrastructure is currently free - no subscription or fees required. ### [](https://docs.pye.fi/validator-operators#requirements) Requirements Running the Pye CLI requires minimal compute resources. We recommend validator oeprators to run the Pye CLI in seperate server than where your valdiator node is running from. **Recommended setup:** * Equivalent to an **AWS EC2 T2 instance** (2 vCPUs, 4 GB RAM). * Stable internet connection. The build process may require some compile time depending on your environment, but running the CLI itself is lightweight and does not interfere with validator operations. 1 ### [](https://docs.pye.fi/validator-operators#register-your-validator) Register Your Validator Fill out the onboarding form provided by the Pye team: [https://forms.gle/Rj6HXkkfr5qJBR8G7](https://forms.gle/Rj6HXkkfr5qJBR8G7) You’ll need to submit: * Validator name * Vote account public key * Wallet address to be authorized as the issuer * A high-resolution logo (square or round) Once submitted, the Pye team will review your application. 2 ### [](https://docs.pye.fi/validator-operators#approval-from-pye) Approval from Pye After review, the Pye team will: * Whitelist your validator in the backend. * Create SPL token logos representing your validator’s stake accounts. * Confirm your issuer keys, ticker, and other configuration details. You’ll also receive an invite to the Validator Discord: [https://discord.gg/yrmK7vUMbj](https://discord.gg/yrmK7vUMbj) ) The Discord is where: * The Pye team provides support and troubleshooting. * Validators receive regular updates and product announcements. 3 ### [](https://docs.pye.fi/validator-operators#access-the-app) Access the App Once approved, visit [**app.pye.fi**](https://app.pye.fi/) to access your **Validator Dashboard**. From here, you can: * View total stake and issued lockups. * Create new lockups. * Monitor validator performance and rewards. 4 ### [](https://docs.pye.fi/validator-operators#run-the-pilot-2-epochs) Run the Pilot (2 Epochs) All new validators are required to complete a short pilot. This ensures that: * The CLI and issuer keys are configured correctly. * Mock issuances and accounting processes work as expected. * Your team fully understands how to use Pye before production. The pilot typically runs for **2 epochs** in a production environment with a small SOL deposit. 5 ### [](https://docs.pye.fi/validator-operators#issue-pye-accounts) Issue Pye Accounts After successful pilot completion, you can begin issuing production lockups. Refer to the Creating a New Lockup Guide for detailed instructions. At this stage, your validator can: * Offer fixed-term lockups to delegators. * Bring commercial relationships fully on-chain. * Automate accounting, reward sharing, and distributions. All Pye services are completely free, including: * Access to real-time node and reward data. * On-chain commercial lockups. * Automated accounting and reward distribution tools. Pye’s mission is to help validators operate more efficiently, transparently, and profitably, while strengthening the economic layer of Solana’s validator network. Although we have plans of monetizing this infrastructure we are currently offering these services as is for free. [PreviousValidator Dashboard](https://docs.pye.fi/validator-guides/tutorials/validator-dashboard) [NextSupported Validators](https://docs.pye.fi/validator-operators/supported-validators) Last updated 5 days ago --- # Security | Documentation #### [](https://docs.pye.fi/resources#audits) Security Reviews Pye programs undergo 3rd-party audits before deployment. Audits reports are organized in the repository according to auditor and date of review. Auditor Version Date Type PDF Zellic Pye V1 January 23, 2025 Security Review [Zellic Report](https://github.com/pyefi/security/blob/master/security_audits/zellic_january_2025_core_v1.pdf) Sec3 Pye V1 March 19, 2025 Security Review [Sec3 Report](https://github.com/pyefi/security/blob/master/security_audits/sec3_march_2025_core_v1.pdf) Neodyme Pye V2 June 5, 2025 Security Review [Neodyme Report](https://github.com/pyefi/security/blob/master/security_audits/neodyme_june_2025_core_v2.pdf) Sec3 Pye V2 September 2025 Security Review WIP For any other security-related inquiries, reach out to our team: Email: [security@pye.fi](mailto:security@pye.fi) [PreviousSupported Validators](https://docs.pye.fi/validator-operators/supported-validators) [NextDeployments](https://docs.pye.fi/resources/deployments) Last updated 13 days ago ---