Skip to main content
Railnet uses External Access Control (EAC) — a flexible role system that supports global, scoped, and public roles. As a Conduit owner, you configure EAC to control who can operate strategies, execute STEAM queries, manage fees, and more.

Role types

Standard roles that apply across the entire protocol. If you grant an account the VEHICLE_STEAM_DEPOSIT role globally, they can create deposit queries on all yield sources. VEHICLE_STEAM_REDEEM works the same way for redeem operations.
Roles restricted to a specific contract. Grant the VEHICLE_STEAM_DEPOSIT role scoped to a single yield source, and the account can only create deposit queries on that source.
Scoped roles are encoded as keccak256(abi.encodePacked(role, scope)).
Roles effectively granted to everyone. When a role is public, hasRole checks always return true regardless of the account. Deposits and redeems can be opened independently.
The DEFAULT_ADMIN_ROLE can never be made public.

Deploy and configure access control

Every Conduit needs an EAC contract. This section walks you through deploying one and granting the roles your product needs.
1

Deploy ExternalAccessControl

Deploy the EAC contract with your initial admin. Set initialDelay to a non-zero value (e.g. 48 hours) for production deployments — this protects admin transfers with a time delay.
Use a multisig wallet (e.g. Safe) as the initialDefaultAdmin. This is the most privileged role in the system — it can grant and revoke any role.
2

Grant operator roles

Authorize your operators and asset managers for the specific strategies and yield sources they manage.
3

Authorize yield sources

Allow the strategy to interact with specific yield sources.
4

Configure fee management roles

Key roles reference

Yield source operations

Strategy management

Fee management

Infrastructure

Checking permissions

Admin transfer

The DEFAULT_ADMIN_ROLE uses a time-delayed transfer for security:
1

Initiate transfer

2

Wait for delay

The configured delay (e.g., 48 hours) must pass.
3

Accept transfer

The new admin calls:
Use scoped roles whenever possible. They provide granular control and limit the blast radius if an account is compromised.