Abstract
Back from the ancient days of human civilization, games were fun! Nowadays, games are still enjoyable, and when players can earn real rewards through their skills, they become even more engaging!
What if we could harness the power of blockchain to ensure transparency in games?
It sounds intriguing, but currently, many people are unfamiliar with playing in the decentralized world of blockchain. One of the challenges of Web3 applications is onboarding players to the nature of blockchain, which requires a wallet and some gas fees for transactions to be processed on the chain. It can be daunting for newcomers to figure out how to obtain a crypto wallet, provide gas fee coins, and send transactions. Palgam recognizes that to attract the next wave of players, the player experience must closely resemble that of current Web2 games. To simplify onboarding, when a player makes their first deposit, Palgam creates a dedicated smart wallet for them using the PalgamAccountFactory.
So, let’s talk more about the smart wallet used in Palgam:
Palgam introduces a one-time smart wallet for each player to simplify onboarding and enhance security. This wallet is fully owned by the player, and deposited funds can only be transferred to the player’s EOA wallet.
Smart Wallet System
To simplify onboarding and ensure seamless gameplay, Palgam introduces a one-time smart wallet for each player upon their first deposit. Using the PalgamAccountFactory, the Palgam server detects the deposit and triggers a blockchain transaction that:
Creates a player-owned smart wallet – fully controlled by the player, ensuring funds cannot be transferred to any address other than the player’s EOA.
Handles gas fees automatically – a small portion of the deposited USDT is swapped into POL to cover blockchain transaction fees.
Transfers remaining funds – the remaining USDT, along with the swapped POL, is sent directly to the player’s EOA wallet.
After this initial transfer, the player provides an approval transaction to the Palgam gateway contract, enabling it to interact with the player’s funds only with the player’s explicit signature. Once approved, the player no longer uses the smart wallet, as all future transactions occur directly from their EOA through the gateway contract.
This system ensures a frictionless experience, allowing players to enter game tables without needing native POL for gas while keeping all funds secure and under player control. All operations occur on the Polygon PoS network using the USDT ERC20 token, combining decentralization, security, and convenience for the player.
Blockchain Network and Gas Fees
Palgam uses the Polygon PoS network for all relevant blockchain transactions. Network gas fees are paid in POL, the native token of the Polygon network (formerly known as MATIC). Throughout this document, “POL” refers to this gas token.
Role of the Palgam Server and Administrators
Palgam’s backend server and administrators help operate the platform, but they do not hold player funds and cannot move them without the player’s signature. Their role is limited to the following:
Relaying transactions – the server detects deposits, submits player-signed transactions to the blockchain and pays the related gas where described in this document. It cannot change the amount, the recipient or any other detail the player has signed, and each signature can be used only once and only before its deadline.
Game results – in 1-to-1 tables, the winner is determined by the game result in the app and submitted to the table contract. In tournaments, the Tournament Admin verifies the final results and submits the winners’ wallet addresses after the tournament ends; the platform service fee and the reward distribution are defined in each tournament’s rules and disclosed to participants before registration.
Refunds – if a game or tournament cannot be completed, Palgam can initiate a refund that returns the locked funds to the players, as described in the refund sections below.
Configuration – admins can set table and tournament parameters, enable or disable bonus types, and adjust the 1-to-1 table commission and Partner commission percentages only within the ranges stated in this document. Tournament platform service fees are set for each tournament and disclosed before registration.
Bonus Pool – admins can withdraw only the tokens in the Bonus Pool that are not allocated to active bonuses, as described in the Bonus Management System section.
Palgam cannot withdraw funds from a player’s wallet without the player’s signature, and Palgam does not have access to withdraw any funds from the Referral Pool contract.
Flow of Player Onboarding to Palgam
In Palgam, each player is assigned an EOA (Externally Owned Account) wallet that is securely generated on their device through the Unity app. A corresponding smart contract wallet address can also be precomputed and displayed to the player for their initial deposit. The player onboarding process is illustrated in the diagram below:

The above diagram shows the big picture of the whole process, but there are some steps that we need to know about. As the player starts their onboarding journey in Palgam, two main steps can occur:
1. Player Registration Process
Scenario 1: The player has native POL in their EOA wallet
Upon registration, an approval operation is conducted to allow the gateway contract to deduct table fees from the player.
Scenario 2: The player does not have native POL in their EOA wallet
A smart wallet address is precomputed and displayed to the player.
The player must deposit USDT into this precomputed smart wallet address, which is fully owned by the player.
After depositing USDT, the backend system automatically detects the transaction, and the player receives a “Deposit in Progress” notification, indicating that the backend has acknowledged the transfer.
Once the smart wallet is funded, a portion of the player’s USDT is automatically swapped to POL and sent to their main wallet, which is generated during player registration. The remaining USDT is also transferred to their main wallet.
2. Final Approval and Activation
Once the USDT and POL are transferred to the player’s EOA wallet, the EOA wallet approves the gateway contract.
If the player already has POL in their balance, the process differs slightly. The updated flow is illustrated in the diagram below:

Flow of Withdrawal Process
Withdrawals follow a similar process to deposits, with players specifying the chain to which they wish to transfer their funds.
Player wants to withdraw to the Polygon PoS chain:
The player initiates a funds transfer transaction from their main wallet inside the app to any wallet address they choose (without any limitation).
A Palgam withdrawal fee of 0.01 USDT (one cent) applies to each eligible withdrawal transaction, subject to the applicable withdrawal rules. The network gas fee for the transaction is charged in addition to this fee.
In this case, there are two different scenarios, which are best understood through the diagram below:

During the withdrawal process, if the player intends to withdraw their entire balance, the gas fee and the Palgam withdrawal fee are deducted from the amount being transferred from the player’s main wallet. If the player intends to withdraw only part of their balance, the gas fee and the Palgam withdrawal fee are deducted from the balance remaining in their wallet, provided that the remaining balance is sufficient to cover the transfer amount plus these fees.
The corresponding withdrawal function facilitates secure, permissioned token transfers while ensuring the integrity and authenticity of transactions through cryptographic signature verification. It supports meta-transactions: Palgam’s backend submits a transfer that the player has signed, so the player does not need to send the transaction or hold gas themselves. The backend cannot change any detail of the signed transfer.
function transferFromUser(TransferDataStructure calldata _transferData) external
The mechanism implemented in the MetaTransfers contract prevents replay attacks through signature verification and the signature deadline. Each withdrawal request can therefore be executed only once, based on the player’s signed transfer data, including the from and to addresses, the withdrawal amount, the player’s nonce and the applicable deadline.
Skill-Based Tables Management System
Palgam generally offers two types of games: free games and USDT games. Free games involve no on-chain transactions and operate like normal Web2 games. Free tables allow players to enter a game without needing any funds. These tables do not include any commission, and consequently there are no winnings for the table winner.
Beyond free games, Palgam offers the following types of USDT tables:
1-to-1 tables
Tournament tables
In 1-to-1 tables, players can play with their friends or with random opponents. In friendly tables, players can choose the table amount themselves.
For skill-based tables, due to block gas limits and the desired speed of joining players to a game, the following strategy has been devised:
Pre-generated table contracts: these contracts are cloned from the main implementation. The pre-generated table contract instances are ready to be used by joining players and isolate the amount for each game in that specific contract.
1-to-1 Games Process
The process of entering a game begins with selecting an available (open) table. Each player is provided with the address of their opponent, the table’s nonce and the table’s smart contract address. Each player must then sign a combination of these details, along with the amount and a signature deadline:

Once this data is signed, the player submits the generated signature to Palgam’s backend service. The smart contract then verifies each player’s signature. Signatures are valid only once and have a maximum expiration time of 2.78 hours, after which they become invalid. Additionally, each signature can be used for only one game and is marked as used in the signature history.
Each game table has a nonce, similar to externally owned accounts (EOAs). This nonce increments with each game session, either after a winner is determined or when a refund is issued. The nonce mechanism ensures that funds cannot be withdrawn multiple times within the same deadline interval, preventing unauthorized withdrawals or transactions exceeding the intended amount.
Joining players: Player A requests to join a game table, and the system reserves a table and searches for an opponent. Once opponent B is found, both players exchange the necessary data to generate their respective signatures. These signatures are then sent to the server, where a check is performed to verify whether the transaction can proceed. If no errors are detected, the transaction is submitted. Once it is mined, players are redirected to the game screen to begin the match. At most one of the two players can play with their bonus balance.
Determining the winner: the winner is determined by the game result in the app. If one of the players leaves the game voluntarily, gets disconnected from the internet or runs out of time, the player who stays in the game is declared the winner. After the winner is determined, payments are made and the table parameters are reset. Payments include:
Commission for Palgam (and for the winner’s referrer, if one exists)
Gas costs of the table
The winner’s winning amount
Commission: when a winner is announced, the commission is transferred to the Palgam commission wallet. If the winning player has a referrer (and the player is not using a bonus balance), a portion of this commission is transferred to the referrer’s account.
By default, Palgam’s commission is 3%, but it can range between 2% and 10%. For example, at a $10 skill-based table with a 3% commission, the total commission would be $0.30. If the winner has a referrer with a 25% referral commission rate, Palgam’s share would be $0.225 and the referrer’s share would be $0.075.
If any player participates using their bonus balance, Palgam’s commission is transferred to the Bonus Pool instead.
Gas costs: the amount of gas consumed for executing the joining transaction and the set-winner transaction is stored in the table. After the game finishes, the total gas cost of the game (gas price × pre-calculated gas usage × POL price taken from oracles) is deducted from the table’s balance and sent to Palgam’s gas wallet. The remaining amount is sent to the winner’s main wallet.
Winning amount: if the winner is playing with their main balance, the remaining balance of the table is transferred to the winner’s main wallet. If the winner is playing with their bonus balance, the winning amount is transferred to the Bonus Pool and added to their bonus balance.
Refunding process: if any issue arises during a game and the players’ funds remain locked in the table with no way to complete the game due to unforeseen circumstances, Palgam and the players can initiate a refund. A refund can be requested two days after the players’ initial joining time. This policy ensures that players are not left without recourse in situations beyond their control, providing a fair and transparent mechanism for reclaiming their tokens.
Tournaments Process
The process of entering a tournament begins with selecting an available (open) tournament table. Each player is provided with the table’s nonce and the tournament table’s smart contract address. Players must then sign a combination of these details, along with the tournament entry fee and a deadline:
Palgam offers tournaments for each game through the Tournament Management System, which allows admins to create new pre-generated tournaments and define the essential parameters for each one. During tournaments, opponents are matched randomly. Entry fees are debited from players’ main balances upon tournament registration, and the platform service fee for each tournament is set out in that tournament’s rules. The process is as follows:
Setting the tournament data: the Tournament Admin sets tournament-related parameters such as the entry fee, the required number of players and the start time (if applicable). A tournament contract instance is then ready for players to join. Each tournament operates within its own isolated smart contract clone, ensuring the secure collection of entry fees.
Joining players: players can participate in a tournament by submitting a request within the app. When an open tournament is found, the player can join the tournament table.
During this process, the entry fee is deducted from the player’s main balance and transferred to the smart contract associated with the tournament. This function is only available for open tournaments, and only the required number of players can join, to ensure the tournament progresses smoothly.
Tournament Fees and Settlement
Palgam provides a blockchain-based technological infrastructure designed to facilitate the organization, hosting, and management of skill-based competitive tournaments.
These services include tournament infrastructure, participant management, competition administration, marketing and promotional activities, user acquisition, player community development, technical maintenance and support, result verification, and automated reward distribution.
Each tournament operates under predefined competition rules, participation requirements, platform service fees, and reward distribution criteria, which are disclosed to participants before registration.
Upon tournament completion, the authorized Tournament Administrator verifies the final results and submits the eligible winners’ wallet addresses to the smart contract.
Following this submission, the smart contract automatically executes the applicable tournament settlement procedures, including the processing of platform service fees and the distribution of rewards to eligible winners based on the verified competition results and predefined tournament conditions.
All settlement operations are executed in accordance with the applicable smart contract logic and the conditions established for each tournament.
Palgam is committed to providing a transparent, reliable, and efficient technological environment for skill-based competitions through blockchain-based automation and predefined operational rules.
The collected entry fees are considered payments for access to Palgam’s competitive gameplay services, not pooled bets or gambling stakes.
All gas costs incurred during the entire tournament, including all function calls mentioned above, are covered by Palgam. Players do not pay any gas fees for tournament function calls.
Refunding process: if any issue arises during a tournament, such as players’ funds remaining locked and the tournament being impossible to complete due to unforeseen circumstances, Palgam can initiate a refund. Refund requests can be submitted before the tournament reaches completion.
This policy ensures that players are not left without recourse in situations beyond their control, providing a fair and transparent mechanism for reclaiming their tokens.
Bonus Management System
In Palgam, players can receive bonuses under various circumstances, such as completing 20 free games (if enabled by Palgam), registering in the app with a referral code (if enabled by Palgam), or during special events and promotions.
The Palgam Bonus Admin is responsible for distributing bonuses to players, either manually or automatically (for example, when a player registers with a referral code). Each type of bonus can be activated or deactivated individually.
For instance, if the referral bonus is deactivated, players who register using a referral code will no longer receive that specific bonus. Once a player has received a bonus, it cannot be cancelled or withdrawn, and Palgam cannot retract bonuses that have already been distributed.
While the Palgam Referral Admin has the authority to enable or disable bonus distribution, they cannot revoke or alter bonuses that have already been granted.
If a player receives multiple bonuses within the same period, the newer bonus is queued until the status of the older bonus is settled.
Bonus balances are kept separate from players’ main balances, and each bonus is valued at $1. Players have a two-week deadline to use their bonus balance. If their bonus balance falls below $1, the bonus is lost.
Players can use bonuses to participate in 1-to-1 tables. If the total amount a player plays with bonuses exceeds $100 within the two-week period, their bonus balance is automatically transferred to their main balance. If the two-week period elapses first, the player loses their bonus balance.
The Bonus Pool smart contract manages the balance of distributed bonuses. Palgam can transfer tokens to this smart contract address, effectively creating the Palgam bonus distribution pool.
When a player receives a bonus, their balance is updated within this contract. Admins can withdraw non-active balances from this smart contract, meaning tokens that are not allocated to bonuses. Palgam can also withdraw the amounts of bonuses that were issued but not used within their two-week period; in other words, if some players receive bonuses but do not use them, Palgam can reclaim the corresponding tokens.
Each player in the app can view the bonuses they have received and use them to enter games. When a player chooses to play with their bonus, the corresponding amount is deducted from the Bonus Pool (by updating their bonus balance) and transferred to the game table.
If a player with a bonus wins, the amount is transferred to the Bonus Pool and their bonus balance is updated. If their opponent wins, the amount is transferred from the game table to the opponent’s main balance.
Two players with bonuses cannot play against each other; at least one of them must enter the game using their main balance. Players also cannot use their bonus balance in friendly games or to enter tournaments.
The Palgam commission earned from games involving a player with a bonus is transferred to the Bonus Pool contract rather than to the Palgam commission wallet.
Finally, if a player who wants to withdraw their bonus balance has a low POL balance, a small amount of their bonus balance is automatically swapped from USDT to POL, and the remaining USDT is sent to the player’s main wallet.
Referral Management System
Each player in the app is assigned a referral code, which they can share with others. When others enter the app using this referral code, they become subset players of that referrer. Upon registration, each player’s referrer address is set in the Referral Pool smart contract. Referrers are called Palgam Partners and can earn a commission percentage from their subsets’ winnings. The initial commission percentage for Partners is 25%. This means that when a subset player wins, 25% of Palgam’s commission from that game is transferred to the referral balance of the winner’s referrer. In simpler terms, 25% of the app’s profit from that particular game is allocated to that Partner’s referral balance. The accumulated referral balance is stored in the Referral Pool contract. Subset players playing with a bonus balance are not counted for referral commission payments.
Players can view the people who joined the app using their referral code in the “Subsets” section. Partners cannot transfer their referral balance to their main balance until the following conditions are met:
A minimum of 5 registrations using their referral code.
Each subset player has won at least one skill-based USDT game.
The total winnings of all subset players have reached $1,000.
The minimum withdrawal amount for the accumulated referral balance is $2. A withdrawal of the referral balance can be initiated either by the Palgam Referral Admin or by the Partner themselves. The gas cost of this transaction is deducted from the withdrawal amount. Palgam does not have access to withdraw any funds from the Referral Pool contract.
If the total winnings of a Partner’s subsets reach $100,000, their commission percentage increases from 25% to 30%. If they reach $200,000, it increases to 35%, and if they reach $500,000, it increases to the maximum of 40%.
Palgam admin has the authority to adjust the Partner commission percentage within the range of 25% to 40%. However, once a Partner meets the criteria for a higher commission percentage, as described above, Palgam admin cannot set their commission percentage below that level.
Finally, if a Partner who wants to withdraw their referral balance has a low POL balance, a small amount of their referral balance is swapped from USDT to POL after the withdrawal transaction, and the remaining USDT is sent to the Partner’s main wallet.
Palgam Governance System
The Palgam Governance System is designed to ensure long-term security, transparency and community-driven control over the platform’s core smart contract infrastructure. At the foundation of this system are two essential contracts, the Referral Storage Contract and the Bonus Storage Contract, which securely store all users’ referral and bonus histories.
These two contracts are isolated from the main operational logic to ensure data integrity and reliability. In the event of bugs, vulnerabilities or logic contract upgrades, all user historical data remains intact within these storage contracts. The system architecture allows newly deployed contracts to connect seamlessly to these storage layers, ensuring full data continuity.
Contract Upgrade Philosophy
Palgam contracts are non-upgradable by design. We deliberately avoided upgradable proxy architectures to enhance system reliability, transparency and user trust. This means that every contract in the Palgam ecosystem is immutable after deployment.
If a patch or upgrade is required, new contracts are deployed in full, and the previous contract addresses are replaced. The governance mechanism exists solely to re-link the Referral Storage and Bonus Storage contracts to the upgraded system, ensuring that all historical data and user records remain accessible in the new version.
Governance Mechanism
To achieve decentralized decision-making in the contract update process, Palgam introduces a community-based governance model. This mechanism empowers users, specifically those with active referrals, to participate in determining which new contracts should be recognized as valid successors during system upgrades.
Unlike traditional DAO frameworks, Palgam does not issue or rely on a dedicated governance token. Instead, voting power is derived directly from the economic contribution and engagement of referral participants, aligning the interests of the Palgam platform and its community Partners.
Voting Power Model
Voting power is calculated based on each member’s referral subset performance, according to the following logic:
Eligibility threshold – users must have total subset winnings exceeding 1,000 USDT to qualify for voting power.
Power calculation – for every 1,000 USDT of referred subset winnings, the user gains 1 voting power unit. Example: 5,000 USDT in subset winnings = 5 voting power units.
Dynamic adjustment – the system continuously monitors changes in subset winnings and automatically mints or burns voting power to reflect the updated performance.
Delegation requirement – users must delegate their voting power to participate in governance proposals, voting for or against contract upgrade actions.
Fairness limitations – to prevent disproportionate influence, users with total subset winnings below 1,000 USDT or above 100,000 USDT are excluded from voting power calculations.
System Objective
The purpose of this governance model is not to modify Palgam’s immutable contracts, but to authorize the reconnection of the existing storage contracts (Bonus and Referral) to new logic contracts after an upgrade. Through this mechanism, Palgam ensures full data persistence, trustless integrity and community involvement in the system’s evolution, without compromising the immutability of its core architecture.


