Agents & Affiliates

The Agents and Affiliates systems let you grow your player network through human networks. Agents are trusted operators who recruit and manage players under a commission hierarchy. Affiliates are marketers who earn rewards for referring new registrations.

Both systems must be enabled in Settings > Features before they appear in the navigation.

Agents

Navigate to Agents in the admin sidebar.

The Agent system supports a multi-level hierarchy of agents, each managing their own player base. Agents earn commissions from their players’ activity, and commissions can cascade up the hierarchy through configurable templates.

Agent Concepts

TermDescription
AgentA user account designated with agent status who manages assigned players
Role TierA named level in the hierarchy (e.g., Master Agent, Sub-Agent) with a set of permissions
Custom RoleA reusable permission set that can be assigned to individual agents for fine-grained overrides beyond their role tier
Commission TemplateA reusable configuration defining how agent earnings are calculated
SettlementA periodic calculation and payment of commissions owed to agents
HoldbackA percentage of each settlement withheld for a configurable period before release
Hierarchy TreeThe parent-child relationship structure of all agents
Agent BalanceA separate balance account that holds an agent’s earned commissions
Financial FreezeA flag that blocks all financial operations for an agent while keeping the account active

Viewing Agents

The Agents page shows a searchable, paginated list of all agents with their role tier, status, balance, and player count.

Filters:

  • Search — Username or email
  • All Role Tiers — Filter to a specific tier
  • All Statuses — Active, Suspended, Pending KYC, Closed
  • All Depths — Filter by how deep in the hierarchy the agent sits

Use Migrate Legacy Agents to create agent records for any legacy agents that are missing them.

Agent Statuses

StatusDescription
activeFully operational. Can manage players, earn commissions, and perform financial operations
suspendedTemporarily disabled. Cannot operate but retains hierarchy placement and data
pending_kycAwaiting identity verification before activation
closedPermanently deactivated. Retained for historical records

Change an agent’s status from the Agent Details modal or via the hierarchy status endpoint. All status changes are recorded in the agent audit log.

Creating an Agent

To designate a user as an agent:

  1. Go to Agents and click Add Agent.
  2. Search for the user. Only users who are not already agents are listed.
  3. Optionally assign a Parent Agent (to place them in the hierarchy), a Role Tier, and a Commission Template.
  4. Click Designate as Agent.

Agent Details

Click any agent row to open the Agent Details modal. This modal is divided into collapsible sections:

Overview

  • Username, email, and registration date
  • Agent status (Active, Suspended, Pending KYC, or Closed) and an action button to change it
  • Agent balance with a Freeze button to block financial operations
  • Stats: Total Players, Active Players, Total Transfers

Hierarchy Placement

Shows where this agent sits in the hierarchy:

  • Depth — How many levels below the root this agent is
  • Parent Agent — The agent above this one (if any)
  • Direct Sub-Agents — How many agents report to this one
  • Subtree Player Count — Total players in this agent’s entire downline

Actions:

  • Reassign — Move this agent under a different parent agent
  • Detach — Remove this agent from their parent, making them a root-level agent
  • Remove Agent Status — Revoke agent status entirely (only allowed if the agent has no assigned players and no sub-agents)

To reassign, select the new parent from the dropdown (the list excludes this agent and their own descendants to prevent circular references) and confirm.

Role and Permissions

Displays the agent’s assigned Role Tier and the permissions that tier grants. You can change the role tier using the dropdown. The effective permissions list updates to reflect the new tier immediately.

Optionally assign a Custom Role for fine-grained permission overrides beyond what the tier provides.

You can also set per-agent permission overrides that take precedence over both the role tier and custom role. Use this for one-off adjustments without creating a new custom role.

Commission Template

Shows the current commission template assigned to the agent. Use the dropdown to assign a different template. Commission templates control how the agent’s earnings are calculated (see Commission Templates below).

Assigned Players

Lists all players under this agent’s management with:

  • Username and email
  • Assigned date

Actions:

  • Add Player — Opens a search modal to find and assign a player to this agent
  • Remove Player — Unassign a player from this agent’s roster

Players can only be assigned to one agent at a time.

Adjust Balance

Credit or debit the agent’s balance manually:

  • Enter a positive number to credit, negative to debit
  • Provide a reason (required)
  • The projected balance is shown before confirming

Hierarchy Tree View

Navigate to Agents > Agent Hierarchy in the admin sidebar.

The hierarchy tree displays all agents in a visual tree structure. Each node shows:

  • Agent username and status
  • Role tier name
  • Player count
  • Agent balance

Agents without a parent appear at the root level. Agents deeper in the tree are connected by lines to their parent.

Hierarchy and Profit Settings

Navigate to Settings and open the Agents tab. See Settings – Agents Tab for the hierarchy, profit, transfer policy, and feature toggle settings.

Role Tiers

Navigate to Agents > Agent Role Tiers.

Role tiers define named levels in your agent hierarchy, each with a specific set of permissions. Common tiers include "Master Agent", "Sub-Agent", and "Club Agent", though you can create any tier structure.

Creating a Role Tier

  1. Click Create Role Tier.
  2. Enter a Name (e.g., "Master Agent") and optional Description.
  3. Set the Depth Level — the hierarchical position this tier is designed for (lower numbers = higher in hierarchy). This is metadata; an agent’s actual depth is determined by their position in the parent-child tree.
  4. Configure the Permissions — toggle each capability this tier grants (see Agent Permission Keys below).
  5. Optionally set Max Sub-Agents and Max Players limits for agents assigned to this tier.
  6. Save.

Editing and Deleting Role Tiers

Click the edit icon to update a tier’s name, depth, permissions, or limits. The edit panel shows how many agents are currently assigned to the tier.

Deleting a role tier is only possible if no agents are currently assigned to it.

Default Tier Permissions by Depth

The system provides recommended permission sets based on depth level:

DepthTypical NamePermissions
0Master AgentAll 32 permissions
1Regional AgentAll except wholesale purchase, manual adjustment, and export
2Sub-AgentPlayer management, basic finance, sub-agent lifecycle, own reports
3+AffiliateView-only access and basic player creation

These defaults are suggestions. You can configure any combination of permissions for any tier.

Custom Roles

Navigate to Agents > Custom Roles.

Custom roles provide an additional layer of permission configuration beyond role tiers. While role tiers define permissions for an entire hierarchy level, custom roles let you create reusable permission sets that can be assigned to individual agents.

Creating a Custom Role

  1. Click Create Custom Role.
  2. Enter a Name and optional Description.
  3. Configure the Permissions — toggle each capability this role grants.
  4. Save.

How Custom Roles Interact with Role Tiers

An agent’s effective permissions are resolved in this order:

  1. Role Tier permissions — the base set from the agent’s assigned tier
  2. Custom Role permissions — if assigned, these override the tier permissions
  3. Per-agent permission overrides — if set, these take final precedence

Custom roles are useful when you need a small group of agents to have different permissions than their tier normally provides, without creating a new tier.

Editing and Deleting Custom Roles

Click the edit icon to update a role’s name, description, or permissions. The edit panel shows how many agents are currently assigned to the role.

Deleting a custom role is only possible if no agents are currently assigned to it.

Commission Templates

Navigate to Agents > Commission Templates.

Commission templates are reusable configurations that define how agent commissions are calculated. Assign a template to an agent to control their earning formula.

Commission Model Types

Each template can contain one or more commission models. The supported model types are:

Model TypeDescription
rake_shareAgent earns a percentage of the rake generated by their players
cpaCost Per Acquisition — a fixed payment for each new player the agent recruits
revenue_shareAgent earns a share of net revenue (rake minus costs)
tieredCommission rate varies based on volume thresholds
flat_feeA fixed periodic fee regardless of activity

Commission Model Parameters

Each model supports the following configuration:

ParameterDescription
RateThe commission rate (percentage or fixed amount depending on model type)
Game Type OverridesPer-game-type rate overrides (e.g., a different rake share for Omaha vs. Hold’em)
Qualification CriteriaConditions that must be met for the commission to apply
Negative CarryoverWhether negative balances carry forward to the next settlement period
Calculation ModeRetroactive (top_down) or Marginal (bottom_up)
Tier ThresholdsFor tiered models: volume thresholds and their corresponding rates

Template Settings

Beyond the commission models, each template has these configuration options:

SettingDescription
Settlement ScheduleHow often settlements run: daily, weekly, biweekly, monthly, or manual
Minimum PayoutMinimum amount before a settlement is generated (commissions below this threshold roll over)
Holdback PercentagePercentage of each settlement withheld as a reserve (released after the holdback period)
Holdback Period (Days)Number of days before held-back funds are released to the agent
Max Rakeback PercentageCap on the maximum rakeback an agent can offer to their players

Creating a Commission Template

  1. Click Create Commission Template.
  2. Enter a Name.
  3. Add one or more commission models with their parameters.
  4. Configure settlement schedule, minimum payout, holdback, and rakeback limits.
  5. Save.

Each template can be assigned to multiple agents. The template details panel shows how many agents are currently using it.

Assigning a Template

From the Agent Details modal (Commission Template section), select a template from the dropdown and save. The change takes effect at the next settlement run.

Settlements

Navigate to Agents > Settlements.

Settlements are periodic calculations that compute the commissions owed to each agent and transfer them to their agent balance.

Settlement List

The settlement list shows all past settlements with:

  • Agent name
  • Period
  • Status: Calculated, Approved, Disputed, Paid
  • Payout amount (after holdback deduction)

Filters:

  • Agent
  • Status
  • From Date and To Date

Click a settlement to open Settlement Details with the Financial Summary (gross rake, rakeback paid, net commission, holdback, and payout) and the Calculation Breakdown.

Settlement Status Workflow

CALCULATED → APPROVED → PAID
     ↓           ↓
  DISPUTED    DISPUTED
     ↓
  APPROVED
StatusAvailable Actions
CalculatedApprove, Dispute
ApprovedMark as Paid
DisputedApprove (after resolving the dispute)
PaidView only

When a settlement is marked as Paid, the payout amount is automatically credited to the agent’s balance in a serialized transaction that prevents double-payment.

When a settlement is Disputed, you can provide a reason. The dispute reason and timestamp are stored with the settlement record.

Running Settlements

Settlements run automatically on a schedule when Auto-run Scheduled Settlements is enabled in the Settings > Agents tab. To process all agents with due settlements now, click Run Settlements and confirm.

Holdback Releases

When a commission template has a holdback percentage configured, a portion of each settlement is withheld and released automatically on its release date. Holdback releases have no page in the admin sidebar. They are available through the admin API at GET /api/v1/admin/holdback-releases.

Financial Controls

Navigate to Agents > Financial Controls.

The Agent Financial Controls page provides tools for managing agent financial operations on a per-agent basis.

Selecting an Agent

Use the search bar at the top of the page to find and select an agent by username. Once selected, their financial overview loads with all controls below.

Financial Overview

The overview panel shows the current state of an agent’s financial configuration at a glance:

  • Financial Limits — Current deposit and withdrawal limits
  • Credit Line — Available credit line amount
  • Wholesale Discount — Discount percentage for chip purchases
  • Financial Frozen — Whether financial operations are currently blocked

Financial Limits

Set per-agent caps on deposits, withdrawals, and approval thresholds.

Deposit Limits:

LimitDescription
Max Single DepositMaximum amount for a single deposit transaction
Max Daily DepositMaximum total deposits per day
Max Weekly DepositMaximum total deposits per week
Max Monthly DepositMaximum total deposits per month

Withdrawal Limits:

LimitDescription
Max Single WithdrawalMaximum amount for a single withdrawal
Max Daily WithdrawalMaximum total withdrawals per day
Max Weekly WithdrawalMaximum total withdrawals per week
Max Monthly WithdrawalMaximum total withdrawals per month

Approval:

LimitDescription
Approval ThresholdTransactions above this amount require admin approval before processing

Leave any limit blank to impose no restriction for that field.

Credit Lines

Set a credit line for an agent, allowing them to operate with a negative balance up to the credit line amount. Enter the credit line amount and save.

Wholesale Discounts

Set a discount percentage for bulk chip purchases. This is used when agents buy chips in volume to distribute to their players. Enter the Discount Percentage (0-50%) and save.

Financial Freeze

Freeze or unfreeze an agent’s financial operations. When frozen:

  • The agent cannot make deposits or withdrawals
  • The agent cannot transfer chips
  • Commission settlements are blocked
  • The agent can still log in and view their data

Use this as an investigative measure when suspicious activity is detected.

Transaction Approvals

When an agent’s transactions exceed the approval threshold, they enter a pending state. The Pending Approvals section lists all transactions across all agents that require admin review.

For each pending transaction, you can:

  • Approve — Execute the transaction
  • Reject — Cancel the transaction with an optional reason

Transfer Policy

Agent-to-Agent Transfer Policy is a global setting that controls whether and how agents can transfer chips between each other. Set it under Global Settings on this page or in the Settings > Agents tab.

PolicyDescription
DisabledNo agent-to-agent transfers allowed
Same Parent OnlyTransfers only between agents who share the same parent agent
Any AgentTransfers between any agents are allowed
With ApprovalTransfers are allowed but require admin approval before processing

Affiliates

Navigate to Affiliates in the admin sidebar.

The Affiliate system rewards users who refer new players to your site. Each registered user can have a unique referral code, and when someone registers using that code, rewards flow to the referrer based on configured commission levels.

The Affiliates page is organized into five tabs: Overview, Commission Levels, Referrals, Referral Codes, and Rewards.

Overview Tab

Displays summary statistics for the affiliate program, including Total Affiliates, Total Referrals, Total Distributed, and Conversion Rate, along with Referral Status Breakdown, Recent Activity (Last 30 Days), and Rewards by Level.

The Affiliate Leaderboard on this tab ranks your top performers By Referrals or By Earnings. Select a period: Today, This Week, This Month, This Year, or All Time.

Commission Levels Tab

Commission levels define the reward structure for referrals. Up to 10 levels can be configured, supporting multi-level referral chains where a referrer’s upline also earns a portion of the reward.

Level Configuration

FieldDescription
Level (1-10)1 = direct referrer, 2 = referrer’s referrer, etc.
Reward10 for a fixed amount or 5% for a percentage

Managing Levels

  • Click Add Commission Level to add a new level.
  • Click Edit to update an existing level.
  • Click Delete to remove a level.

Level 1 rewards the direct referrer. Level 2 rewards the referrer’s referrer, and so on.

Referrals Tab

The Referral Registrations list shows players who signed up using a referral code.

Status Workflow

PENDING → CONFIRMED → REWARDED
        ↘    ↓
         REJECTED
StatusMeaning
PENDINGRegistered but not yet verified
CONFIRMEDRegistration confirmed, eligible for reward
REWARDEDReward has been distributed to the referrer
REJECTEDRejected due to fraud or policy violation

Filtering Referrals

Filter by status (Pending, Confirmed, Rewarded, Rejected) to focus on the records requiring attention.

Actions

ActionDescription
ConfirmManually confirm a pending referral as legitimate
RewardTrigger reward distribution for a confirmed referral
RejectMark as fraudulent or invalid
Auto-Confirm VerifiedBulk confirm pending referrals whose referred users are verified

Referral Codes Tab

Lists all referral codes. Search by code or username.

Each code entry shows the code, its owner, click count, conversions, status, and creation date.

ActionDescription
RegenerateGenerate a new code for a user (invalidates the old one)
DeleteRemove a referral code entirely

Rewards Tab

The Affiliate Rewards list shows all rewards that have been calculated or distributed. Use All Levels to filter by commission level. Summary cards show the reward count, total distributed, and average reward.

Agent Permission Keys

Role tiers, custom roles, and per-agent overrides use the same set of 32 permission keys organized into five categories.

Player Permissions

KeyDescription
player.createCreate new player accounts
player.viewView player profiles and information
player.editEdit player account details
player.suspendSuspend or unsuspend players
player.transferTransfer players between agents
player.view_balanceView player balance information
player.view_hand_historyView player hand history
player.set_limitsSet deposit/withdrawal/betting limits on players

Finance Permissions

KeyDescription
finance.depositProcess deposits for players
finance.withdrawProcess withdrawals for players
finance.set_credit_lineSet credit lines for players
finance.view_transactionsView transaction history
finance.manual_adjustmentMake manual balance adjustments
finance.transfer_chipsTransfer chips between accounts
finance.wholesale_purchaseBuy chips in bulk at wholesale rates

Sub-Agent Permissions

KeyDescription
subagent.createCreate sub-agents under this agent
subagent.editEdit sub-agent details
subagent.suspendSuspend or unsuspend sub-agents
subagent.set_commissionSet commission rates for sub-agents
subagent.set_limitsSet financial limits on sub-agents
subagent.view_reportsView sub-agent reports and statistics

Club Permissions

KeyDescription
club.createCreate private clubs
club.set_rakeConfigure rake settings for club tables
club.set_buyinSet buy-in amounts for club tables
club.manage_tablesCreate and manage tables within clubs
club.invite_playersInvite players to clubs
club.set_chip_priceSet chip pricing within clubs

Report Permissions

KeyDescription
reports.own_commissionView own commission reports
reports.subtree_rakeView rake reports for the entire downline
reports.player_activityView player activity reports
reports.financial_summaryView financial summary reports
reports.exportExport report data

Audit Logging

All significant agent operations are recorded in the agent audit log. Logged actions include:

  • Agent status changes (active, suspended, pending_kyc, closed)
  • Hierarchy changes (create, reassign, detach)
  • Settlement approvals, disputes, and payments
  • Financial operations (deposits, withdrawals, transfers)
  • Player assignments and removals
  • Commission distribution events

Audit entries capture the action type, the agent involved, the resource affected, and the admin who performed the action. Admin actions on agents are also available in Logs (see the Logs guide).

Permissions Reference

Agents

ActionRequired Permission
View agentsagents:view
Create/edit/delete agentsagents:edit
View settlementsagents:view
Approve/pay settlementsagents:edit
View role tiersagents:view
Manage role tiersagents:edit
View commission templatesagents:view
Manage commission templatesagents:edit
View custom rolesagents:view
Manage custom rolesagents:edit
View financial controlsagents:view
Manage financial controlsagents:edit
Approve/reject transactionsagents:edit
View hierarchy settingsagents:view
Manage hierarchy settingsagents:edit

The agents feature toggle must also be enabled globally.

Affiliates

The Affiliates sidebar entry requires affiliate-fraud:view, and the affiliates feature toggle must be enabled.

ActionRequired Permission
View affiliate overview, referrals, codes, and rewardsAny admin
Confirm, reward, or reject referralssettings:edit
Manage commission levelssettings:edit
Regenerate or delete codessettings:edit
Try the live demo Pricing

Have questions about Poker Engine? We reply fast.