Access Policies

Access policies in Flux Protocol control who can interact with vaults and under what conditions. They provide fine-grained access control for vault deposits, withdrawals, and borrowing operations.

Overview

Access policies enable vault creators to:

  • Restrict vault access to specific addresses or roles

  • Implement KYC/compliance requirements for regulated use cases

  • Create private vaults for specific user groups

  • Enforce deposit/withdrawal limits per user

  • Control manager permissions separately from LP permissions


Policy Types

1. Open Access (Default)

Anyone can deposit, withdraw, or borrow from the vault.

// No access policy set - fully permissionless
IFluxVault vault = IFluxVault(vaultAddress);

Use Cases:

  • Public lending pools

  • Permissionless DeFi protocols

  • Maximum composability

2. Allowlist Policy

Only approved addresses can interact with the vault.

Use Cases:

  • Private funds

  • Institutional vaults

  • Compliance requirements

  • Testing/beta access

3. Role-Based Access

Different permissions for different roles (LPs vs Managers).

Use Cases:

  • Separate LP and manager lists

  • Professional manager programs

  • Tiered access levels

4. Cap-Based Policy

Enforce per-user deposit limits.

Use Cases:

  • Fair launch mechanisms

  • Prevent whale concentration

  • Regulatory limits

5. Time-Locked Policy

Restrict access based on time windows.

Use Cases:

  • Vesting schedules

  • Lock-up periods

  • Scheduled access


Implementing Access Policies

Creating a Custom Policy

Attaching Policy to Vault

Access policies are set during vault creation:

Policy Upgrades

Important: Access policies in Flux are immutable by default to protect depositors.

If you need updatable policies:

  1. Implement a proxy pattern in your policy contract

  2. Clearly communicate upgrade rights to users

  3. Consider timelock mechanisms for policy changes


Policy Best Practices

For Public Vaults

Pros:

  • Maximum DeFi composability

  • Lowest integration friction

  • Largest potential user base

Cons:

  • No compliance controls

  • Cannot restrict bad actors

  • No preferential access

For Private Vaults

Pros:

  • Full control over participants

  • Compliance-friendly

  • Can meet KYC requirements

Cons:

  • Manual user management

  • Reduced composability

  • Ongoing maintenance

For Hybrid Models

Pros:

  • Open LP access for liquidity

  • Curated manager selection

  • Balanced approach

Cons:

  • More complex policy logic

  • Two allowlists to maintain


Security Considerations

Policy Immutability

  • Default behavior: Policies cannot be changed after vault creation

  • Rationale: Protects LPs from rug pulls

  • Trade-off: Cannot adapt to new requirements

Upgradeability Risks

If implementing upgradeable policies:

Mitigation:

  • Use timelocks for policy changes

  • Emit events for all policy updates

  • Consider multi-sig ownership

  • Document upgrade rights clearly

Gas Optimization


Policy Examples

Example 1: Allowlist with Max Users

Example 2: Deposit Cap Per User

Example 3: Time-Gated Access


Integration Guide

For Vault Creators

  1. Determine requirements: Do you need access control?

  2. Choose policy type: Select from standard policies or build custom

  3. Deploy policy: Deploy your policy contract

  4. Create vault: Pass policy address during vault creation

  5. Manage access: Update allowlists if using mutable policies

For Integrators

Always check if a vault has access restrictions:

For LPs

Before depositing:


Policy Standards

IAccessPolicy Interface


Comparison with Other Protocols

Protocol
Access Control
Immutable

Flux

Flexible policies

Yes (by default)

Aave

None

N/A

Compound

None

N/A

Morpho

Vault-level

Varies

Euler

None

N/A


Advanced Topics

Multi-Sig Policies

Oracle-Based Policies

NFT-Gated Access

Questions?

  • Do policies apply to liquidators? Typically no - liquidations should remain permissionless for protocol safety

  • Can I change the policy later? Not by default - policies are immutable to protect depositors

  • Do all vaults need policies? No - most public vaults have no access control

  • What is the gas cost of policies? Minimal if implemented efficiently with allowlists

Last updated