Skip to main content

Overview

Fenines Network supports all standard Ethereum JSON-RPC methods. This page focuses on using eth_call to query the FenineSystem smart contract.
For complete Ethereum JSON-RPC documentation, see the Ethereum JSON-RPC Specification.

System Contract Queries

The FenineSystem contract at 0x0000000000000000000000000000000000001000 exposes view functions that can be queried using eth_call.

Query Pattern

All queries follow this pattern:

Validator Queries

getActiveValidators()

Get the list of currently active validators.
string
Function selector: 0x9de70258 (no parameters)
bytes
ABI-encoded array of validator addresses. Decode as address[].

getValidatorInfo(address)

Get detailed information about a specific validator.
string
0xb5d89627
address
required
Validator address (32-byte padded)
tuple
Returns:

getValidatorStakers(address)

Get the list of delegators staked to a validator (in proximity order).
string
Function selector for getValidatorStakers(address)
address[]
Array of delegator addresses in proximity order (first staker = deepest in chain)
The order matters for proximity rewards. Earlier addresses in the array are deeper in the referral chain.

Delegator Queries

getDelegatorInfo(address delegator, address validator)

Get information about a delegator’s stake with a specific validator.
string
0xa993683f
tuple

getEstimatedDelegatorReward(address delegator, address validator)

Calculate estimated rewards for a delegator (including proximity and tax effects).
tuple
uint256
Raw pending rewards before any deductions
uint256
Rewards after proximity distribution (may include bonus)
uint256
Final amount delegator will receive after tax

Network State Queries

totalNetworkStake()

Get the total amount of FEN staked across all validators.
string
0x635c8637
uint256
Total staked amount in wei

getCurrentEpoch()

Get the current epoch number.

getNextEpochReward()

Get the contract balance (reward pool for next epoch distribution).
You can also query this via the contract’s getNextEpochReward() view function.

Proximity Configuration

getProximityConfig()

Get the current proximity reward distribution configuration.
tuple
uint16
Total proximity allocation in basis points (e.g., 3000 = 30%)
uint8
Number of proximity levels (8)
uint16[8]
Per-level distribution in basis points

Using Web3 Libraries


Function Selectors Reference

For a complete list of function selectors, see the Quick Reference page.

Next Steps

Smart Contract Reference

Full FenineSystem contract documentation

Quick Reference

Common queries and selectors