All contracts emit events that can be tracked in real-time.
Main Liquidity Administrator Events
Payer 1 Events
Track Events: Go to any contract on Arbiscan → "Events" tab → See real-time activity
🧪 For Developers
GitHub Repository
Full code available at:
🔗 https://github.com/poolpays/poolpays-contracts
Contents:
Run Locally
🔐 Audits
Current Status
Audit Firm
Status
Report
Internal Review
✅ Complete
Public on GitHub
Community Audit
✅ Ongoing
Open-source code
External Audit
🔄 Planned
See below
Planned Audits
Firm
Timeline
Focus
CertiK
Q1 2026
Full protocol audit
Trail of Bits
Q2 2026
Security assessment
OpenZeppelin
Under Discussion
Contract verification
📖 Contract Documentation
Complete Technical Specs
For detailed function documentation, parameter descriptions, and integration guides:
📚 Technical Documentation
🔧 Integration Guide
📊 Event Specification
❓ FAQ
Can contracts be upgraded?
No. Admin keys are permanently renounced. Contracts are immutable forever.
What if a bug is found?
Since contracts are immutable, bugs cannot be patched. This is why extensive testing and future audits are critical. However, fund segregation limits damage scope.
How do I verify renunciation?
Check contract on Arbiscan
Look for owner() function
Should return 0x0000000000000000000000000000000000000000
Verify renunciation TX in contract history
Can gaming apps access LP funds?
Absolutely not. Payer 1 (LP funds) and Payer 2 (gaming funds) have zero code paths between them. Mathematical impossibility.
// ❌ Should NOT exist:
function pause() onlyOwner { ... }
function setFee(uint256 newFee) onlyOwner { ... }
function updateLogic(address newImplementation) onlyOwner { ... }
// ✅ Should exist:
function renounceOwnership() {
owner = address(0);
// Makes it impossible to regain control
}