ETH Price: $2,349.55 (+0.28%)

Contract

0x319C06103bc51b3c01a1A121451Aa5E2A2a7778f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x61083a51199278922024-05-22 20:45:47113 days ago1716410747IN
 Create: Secondary monetary policy
0 ETH0.0107659417.35802252

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
207388832024-09-13 3:03:479 hrs ago1726196627
0x319C0610...2A2a7778f
0 ETH
207388832024-09-13 3:03:479 hrs ago1726196627
0x319C0610...2A2a7778f
0 ETH
207388832024-09-13 3:03:479 hrs ago1726196627
0x319C0610...2A2a7778f
0 ETH
207388832024-09-13 3:03:479 hrs ago1726196627
0x319C0610...2A2a7778f
0 ETH
207331992024-09-12 7:59:3528 hrs ago1726127975
0x319C0610...2A2a7778f
0 ETH
207331992024-09-12 7:59:3528 hrs ago1726127975
0x319C0610...2A2a7778f
0 ETH
207331992024-09-12 7:59:3528 hrs ago1726127975
0x319C0610...2A2a7778f
0 ETH
207331992024-09-12 7:59:3528 hrs ago1726127975
0x319C0610...2A2a7778f
0 ETH
207270522024-09-11 11:24:352 days ago1726053875
0x319C0610...2A2a7778f
0 ETH
207270522024-09-11 11:24:352 days ago1726053875
0x319C0610...2A2a7778f
0 ETH
207270522024-09-11 11:24:352 days ago1726053875
0x319C0610...2A2a7778f
0 ETH
207270522024-09-11 11:24:352 days ago1726053875
0x319C0610...2A2a7778f
0 ETH
207268952024-09-11 10:52:592 days ago1726051979
0x319C0610...2A2a7778f
0 ETH
207268952024-09-11 10:52:592 days ago1726051979
0x319C0610...2A2a7778f
0 ETH
207268952024-09-11 10:52:592 days ago1726051979
0x319C0610...2A2a7778f
0 ETH
207268952024-09-11 10:52:592 days ago1726051979
0x319C0610...2A2a7778f
0 ETH
207260292024-09-11 7:58:112 days ago1726041491
0x319C0610...2A2a7778f
0 ETH
207260292024-09-11 7:58:112 days ago1726041491
0x319C0610...2A2a7778f
0 ETH
207260292024-09-11 7:58:112 days ago1726041491
0x319C0610...2A2a7778f
0 ETH
207260292024-09-11 7:58:112 days ago1726041491
0x319C0610...2A2a7778f
0 ETH
207154802024-09-09 20:36:113 days ago1725914171
0x319C0610...2A2a7778f
0 ETH
207154802024-09-09 20:36:113 days ago1725914171
0x319C0610...2A2a7778f
0 ETH
207154802024-09-09 20:36:113 days ago1725914171
0x319C0610...2A2a7778f
0 ETH
207154802024-09-09 20:36:113 days ago1725914171
0x319C0610...2A2a7778f
0 ETH
207144812024-09-09 17:15:233 days ago1725902123
0x319C0610...2A2a7778f
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Secondary monetary policy

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
None license

Contract Source Code (Vyper language format)

# @version 0.3.10
"""
@title Secondary monetary policy
@notice Monetary policy to calculate borrow rates in lending markets
        depending on "mint" borrow rate and utilization.

        Calculated as:

            rate = rate_from_amm * (r_minf + A / (u_inf - utilization))

        Depending on target utilization (u0), rate ratio at 0 (alpha) and  at max utilization (beta) one can calculate
        coefficients for the hyperbolic dependency:

            u_inf = (beta - 1) * u0 / ((beta - 1) * u0 - (1 - u0) * (1 - alpha))
            A = (1 - alpha) * (u_inf - u0) * u_inf / u0
            r_minf = alpha - A / u_inf

        The function reaches rate_from_amm at u0 utilization, alpha*rate_from_amm at 0 utilization and
        beta*rate_from_amm at 100% utilization.

@author Curve.fi
@license Copyright (c) Curve.Fi, 2020-2024 - all rights reserved
"""
from vyper.interfaces import ERC20


interface Controller:
    def total_debt() -> uint256: view

interface IAMM:
    def rate() -> uint256: view

interface Factory:
    def admin() -> address: view


event SetParameters:
    u_inf: uint256
    A: uint256
    r_minf: uint256
    shift: uint256

struct Parameters:
    u_inf: uint256
    A: uint256
    r_minf: uint256
    shift: uint256

MIN_UTIL: constant(uint256) = 10**16
MAX_UTIL: constant(uint256)  = 99 * 10**16
MIN_LOW_RATIO: constant(uint256)  = 10**16
MAX_HIGH_RATIO: constant(uint256) = 100 * 10**18
MAX_RATE_SHIFT: constant(uint256) = 100 * 10**18

BORROWED_TOKEN: public(immutable(ERC20))
FACTORY: public(immutable(Factory))
AMM: public(immutable(IAMM))

parameters: public(Parameters)


@external
def __init__(factory: Factory, amm: IAMM, borrowed_token: ERC20,
             target_utilization: uint256, low_ratio: uint256, high_ratio: uint256, rate_shift: uint256):
    """
    @param factory Factory contract
    @param amm AMM to take borrow rate from as a basis
    @param borrowed_token Borrowed token in the market (e.g. crvUSD)
    @param target_utilization Utilization at which borrow rate is the same as in AMM
    @param low_ratio Ratio rate/target_rate at 0% utilization
    @param high_ratio Ratio rate/target_rate at 100% utilization
    @param rate_shift Shift all the rate curve by this rate
    """
    assert target_utilization >= MIN_UTIL
    assert target_utilization <= MAX_UTIL
    assert low_ratio >= MIN_LOW_RATIO
    assert high_ratio <= MAX_HIGH_RATIO
    assert low_ratio < high_ratio
    assert rate_shift <= MAX_RATE_SHIFT

    FACTORY = factory
    AMM = amm
    BORROWED_TOKEN = borrowed_token
    p: Parameters = self.get_params(target_utilization, low_ratio, high_ratio, rate_shift)
    self.parameters = p
    log SetParameters(p.u_inf, p.A, p.r_minf, p.shift)


@internal
def get_params(u_0: uint256, alpha: uint256, beta: uint256, rate_shift: uint256) -> Parameters:
    p: Parameters = empty(Parameters)
    p.u_inf = (beta - 10**18) * u_0 / (((beta - 10**18) * u_0 - (10**18 - u_0) * (10**18 - alpha)) / 10**18)
    p.A = (10**18 - alpha) * p.u_inf / 10**18 * (p.u_inf - u_0) / u_0
    p.r_minf = alpha - p.A * 10**18 / p.u_inf
    p.shift = rate_shift
    return p


@internal
@view
def calculate_rate(_for: address, d_reserves: int256, d_debt: int256) -> uint256:
    p: Parameters = self.parameters
    total_debt: int256 = convert(Controller(_for).total_debt(), int256)
    total_reserves: int256 = convert(BORROWED_TOKEN.balanceOf(_for), int256) + total_debt + d_reserves
    total_debt += d_debt
    assert total_debt >= 0, "Negative debt"
    assert total_reserves >= total_debt, "Reserves too small"

    u: uint256 = 0
    if total_reserves > 0:
        u = convert(total_debt * 10**18  / total_reserves, uint256)
    r0: uint256 = AMM.rate()

    return r0 * p.r_minf / 10**18 + p.A * r0 / (p.u_inf - u) + p.shift


@view
@external
def rate(_for: address = msg.sender) -> uint256:
    return self.calculate_rate(_for, 0, 0)


@external
def rate_write(_for: address = msg.sender) -> uint256:
    return self.calculate_rate(_for, 0, 0)


@external
def set_parameters(target_utilization: uint256, low_ratio: uint256, high_ratio: uint256, rate_shift: uint256):
    """
    @param target_utilization Utilization at which borrow rate is the same as in AMM
    @param low_ratio Ratio rate/target_rate at 0% utilization
    @param high_ratio Ratio rate/target_rate at 100% utilization
    @param rate_shift Shift all the rate curve by this rate
    """
    assert msg.sender == FACTORY.admin()

    assert target_utilization >= MIN_UTIL
    assert target_utilization <= MAX_UTIL
    assert low_ratio >= MIN_LOW_RATIO
    assert high_ratio <= MAX_HIGH_RATIO
    assert low_ratio < high_ratio
    assert rate_shift <= MAX_RATE_SHIFT

    p: Parameters = self.get_params(target_utilization, low_ratio, high_ratio, rate_shift)
    self.parameters = p
    log SetParameters(p.u_inf, p.A, p.r_minf, p.shift)


@view
@external
def future_rate(_for: address, d_reserves: int256, d_debt: int256) -> uint256:
    return self.calculate_rate(_for, d_reserves, d_debt)

Contract Security Audit

Contract ABI

[{"name":"SetParameters","inputs":[{"name":"u_inf","type":"uint256","indexed":false},{"name":"A","type":"uint256","indexed":false},{"name":"r_minf","type":"uint256","indexed":false},{"name":"shift","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"factory","type":"address"},{"name":"amm","type":"address"},{"name":"borrowed_token","type":"address"},{"name":"target_utilization","type":"uint256"},{"name":"low_ratio","type":"uint256"},{"name":"high_ratio","type":"uint256"},{"name":"rate_shift","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"rate","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"rate","inputs":[{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"rate_write","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"rate_write","inputs":[{"name":"_for","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"set_parameters","inputs":[{"name":"target_utilization","type":"uint256"},{"name":"low_ratio","type":"uint256"},{"name":"high_ratio","type":"uint256"},{"name":"rate_shift","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"future_rate","inputs":[{"name":"_for","type":"address"},{"name":"d_reserves","type":"int256"},{"name":"d_debt","type":"int256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"BORROWED_TOKEN","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"AMM","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"parameters","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"u_inf","type":"uint256"},{"name":"A","type":"uint256"},{"name":"r_minf","type":"uint256"},{"name":"shift","type":"uint256"}]}]}]

61083a515034610363576020610b765f395f518060a01c61036357610140526020610b965f395f518060a01c61036357610160526020610bb65f395f518060a01c6103635761018052662386f26fc100006020610bd65f395f511061036357670dbd2fc137a300006020610bd65f395f511161036357662386f26fc100006020610bf65f395f51106103635768056bc75e2d631000006020610c165f395f5111610363576020610c165f395f516020610bf65f395f5110156103635768056bc75e2d631000006020610c365f395f5111610363576101405161081a526101605161083a52610180516107fa526080610bd66040396100fe610220610197565b61022080516101a05260208101516101c05260408101516101e052606081015161020052506101a0515f556101c0516001556101e051600255610200516003557fbd5acdd9cd7346c04cee822893f228a65a948bc41357408255ab8f36c446349f6101a051610220526101c051610240526101e0516102605261020051610280526080610220a16107fa6103676100003961085a610000f35b60803660c037608051670de0b6b3a764000081038181116103635790506040518082028115838383041417156103635790509050608051670de0b6b3a76400008103818111610363579050604051808202811583838304141715610363579050905060405180670de0b6b3a764000003670de0b6b3a7640000811161036357905060605180670de0b6b3a764000003670de0b6b3a7640000811161036357905080820281158383830414171561036357905090508082038281116103635790509050670de0b6b3a7640000810490508015610363578082049050905060c05260605180670de0b6b3a764000003670de0b6b3a7640000811161036357905060c0518082028115838383041417156103635790509050670de0b6b3a76400008104905060c051604051808203828111610363579050905080820281158383830414171561036357905090506040518015610363578082049050905060e05260605160e051670de0b6b3a7640000810281670de0b6b3a764000082041861036357905060c0518015610363578082049050905080820382811161036357905090506101005260a0516101205260c051815260e051602082015261010051604082015261012051606082015250565b5f80fd5f3560e01c60026009820660011b6107e801601e395f51565b6382f75cee811861031d57346107e45760206107fa60403960206040f361031d565b632dd31000811460033611161561031d57346107e457602061081a60403960206040f361031d565b6344a70686811861031d57346107e457602061083a60403960206040f361031d565b638903573081186100b157346107e4575f5460405260015460605260025460805260035460a05260806040f35b639f3118d9811861031d576064361034176107e4576004358060a01c6107e4576101e05260206101e051604052604060246060376100f06102006104ed565b610200f361031d565b632c4e722e811861011357346107e457336101e052610156565b63e91f2f4c811861031d57346107e457336101e05261019e5661031d565b630ba9d8ca811861031d576024361034176107e4576004358060a01c6107e4576101e0525b60206101e0516040526040366060376101706102006104ed565b610200f361031d565b63bdb09f2e81186101bd576024361034176107e4576004358060a01c6107e4576101e0525b60206101e0516040526040366060376101b86102006104ed565b610200f35b6330d5f4ec811861031d576084361034176107e457602061081a5f395f5163f851a440610140526020610140600461015c845afa6101fd573d5f5f3e3d5ffd5b60203d106107e457610140518060a01c6107e4576101805261018090505133186107e457662386f26fc10000600435106107e457670dbd2fc137a30000600435116107e457662386f26fc10000602435106107e45768056bc75e2d63100000604435116107e45760443560243510156107e45768056bc75e2d63100000606435116107e457608060046040376102946101c0610321565b6101c080516101405260208101516101605260408101516101805260608101516101a05250610140515f5561016051600155610180516002556101a0516003557fbd5acdd9cd7346c04cee822893f228a65a948bc41357408255ab8f36c446349f610140516101c052610160516101e05261018051610200526101a0516102205260806101c0a1005b5f5ffd5b60803660c037608051670de0b6b3a764000081038181116107e45790506040518082028115838383041417156107e45790509050608051670de0b6b3a764000081038181116107e45790506040518082028115838383041417156107e4579050905060405180670de0b6b3a764000003670de0b6b3a764000081116107e457905060605180670de0b6b3a764000003670de0b6b3a764000081116107e45790508082028115838383041417156107e457905090508082038281116107e45790509050670de0b6b3a76400008104905080156107e4578082049050905060c05260605180670de0b6b3a764000003670de0b6b3a764000081116107e457905060c0518082028115838383041417156107e45790509050670de0b6b3a76400008104905060c0516040518082038281116107e457905090508082028115838383041417156107e4579050905060405180156107e4578082049050905060e05260605160e051670de0b6b3a7640000810281670de0b6b3a76400008204186107e457905060c05180156107e457808204905090508082038281116107e457905090506101005260a0516101205260c051815260e051602082015261010051604082015261012051606082015250565b5f5460a05260015460c05260025460e052600354610100526040516331dc3ca8610140526020610140600461015c845afa61052a573d5f5f3e3d5ffd5b60203d106107e4576101409050518060ff1c6107e4576101205260206107fa5f395f516370a0823161016052604051610180526020610160602461017c845afa610576573d5f5f3e3d5ffd5b60203d106107e4576101609050518060ff1c6107e457610120518082018281125f8312186107e457905090506060518082018281125f8312186107e4579050905061014052610120516080518082018281125f8312186107e45790509050610120525f61012051121561064857600d610160527f4e656761746976652064656274000000000000000000000000000000000000006101805261016050610160518061018001601f825f031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b610120516101405112156106bb576012610160527f526573657276657320746f6f20736d616c6c00000000000000000000000000006101805261016050610160518061018001601f825f031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b5f610160526001610140511261071d5761012051670de0b6b3a7640000810281670de0b6b3a76400008205186107e45790506101405180156107e457808205600160ff1b8314155f1983141517156107e457905090505f81126107e457610160525b602061083a5f395f51632c4e722e6101a05260206101a060046101bc845afa610748573d5f5f3e3d5ffd5b60203d106107e4576101a0905051610180526101805160e0518082028115838383041417156107e45790509050670de0b6b3a76400008104905060c051610180518082028115838383041417156107e4579050905060a051610160518082038281116107e4579050905080156107e457808204905090508082018281106107e45790509050610100518082018281106107e45790509050815250565b5f80fd00620131003a00f9031d00840179031d0018841907fa81121860a16576797065728300030a0015000000000000000000000000ea6876dde9e3467564acbee1ed5bac88783205e00000000000000000000000001681195c176239ac5e72d9aebacf5b2492e0c4ee000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e0000000000000000000000000000000000000000000000000bcbce7f1b15000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000029a2241af62c0000000000000000000000000000000000000000000000000000000000004b9a1eff

Deployed Bytecode

0x5f3560e01c60026009820660011b6107e801601e395f51565b6382f75cee811861031d57346107e45760206107fa60403960206040f361031d565b632dd31000811460033611161561031d57346107e457602061081a60403960206040f361031d565b6344a70686811861031d57346107e457602061083a60403960206040f361031d565b638903573081186100b157346107e4575f5460405260015460605260025460805260035460a05260806040f35b639f3118d9811861031d576064361034176107e4576004358060a01c6107e4576101e05260206101e051604052604060246060376100f06102006104ed565b610200f361031d565b632c4e722e811861011357346107e457336101e052610156565b63e91f2f4c811861031d57346107e457336101e05261019e5661031d565b630ba9d8ca811861031d576024361034176107e4576004358060a01c6107e4576101e0525b60206101e0516040526040366060376101706102006104ed565b610200f361031d565b63bdb09f2e81186101bd576024361034176107e4576004358060a01c6107e4576101e0525b60206101e0516040526040366060376101b86102006104ed565b610200f35b6330d5f4ec811861031d576084361034176107e457602061081a5f395f5163f851a440610140526020610140600461015c845afa6101fd573d5f5f3e3d5ffd5b60203d106107e457610140518060a01c6107e4576101805261018090505133186107e457662386f26fc10000600435106107e457670dbd2fc137a30000600435116107e457662386f26fc10000602435106107e45768056bc75e2d63100000604435116107e45760443560243510156107e45768056bc75e2d63100000606435116107e457608060046040376102946101c0610321565b6101c080516101405260208101516101605260408101516101805260608101516101a05250610140515f5561016051600155610180516002556101a0516003557fbd5acdd9cd7346c04cee822893f228a65a948bc41357408255ab8f36c446349f610140516101c052610160516101e05261018051610200526101a0516102205260806101c0a1005b5f5ffd5b60803660c037608051670de0b6b3a764000081038181116107e45790506040518082028115838383041417156107e45790509050608051670de0b6b3a764000081038181116107e45790506040518082028115838383041417156107e4579050905060405180670de0b6b3a764000003670de0b6b3a764000081116107e457905060605180670de0b6b3a764000003670de0b6b3a764000081116107e45790508082028115838383041417156107e457905090508082038281116107e45790509050670de0b6b3a76400008104905080156107e4578082049050905060c05260605180670de0b6b3a764000003670de0b6b3a764000081116107e457905060c0518082028115838383041417156107e45790509050670de0b6b3a76400008104905060c0516040518082038281116107e457905090508082028115838383041417156107e4579050905060405180156107e4578082049050905060e05260605160e051670de0b6b3a7640000810281670de0b6b3a76400008204186107e457905060c05180156107e457808204905090508082038281116107e457905090506101005260a0516101205260c051815260e051602082015261010051604082015261012051606082015250565b5f5460a05260015460c05260025460e052600354610100526040516331dc3ca8610140526020610140600461015c845afa61052a573d5f5f3e3d5ffd5b60203d106107e4576101409050518060ff1c6107e4576101205260206107fa5f395f516370a0823161016052604051610180526020610160602461017c845afa610576573d5f5f3e3d5ffd5b60203d106107e4576101609050518060ff1c6107e457610120518082018281125f8312186107e457905090506060518082018281125f8312186107e4579050905061014052610120516080518082018281125f8312186107e45790509050610120525f61012051121561064857600d610160527f4e656761746976652064656274000000000000000000000000000000000000006101805261016050610160518061018001601f825f031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b610120516101405112156106bb576012610160527f526573657276657320746f6f20736d616c6c00000000000000000000000000006101805261016050610160518061018001601f825f031636823750506308c379a061012052602061014052601f19601f61016051011660440161013cfd5b5f610160526001610140511261071d5761012051670de0b6b3a7640000810281670de0b6b3a76400008205186107e45790506101405180156107e457808205600160ff1b8314155f1983141517156107e457905090505f81126107e457610160525b602061083a5f395f51632c4e722e6101a05260206101a060046101bc845afa610748573d5f5f3e3d5ffd5b60203d106107e4576101a0905051610180526101805160e0518082028115838383041417156107e45790509050670de0b6b3a76400008104905060c051610180518082028115838383041417156107e4579050905060a051610160518082038281116107e4579050905080156107e457808204905090508082018281106107e45790509050610100518082018281106107e45790509050815250565b5f80fd00620131003a00f9031d00840179031d0018000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e000000000000000000000000ea6876dde9e3467564acbee1ed5bac88783205e00000000000000000000000001681195c176239ac5e72d9aebacf5b2492e0c4ee

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ea6876dde9e3467564acbee1ed5bac88783205e00000000000000000000000001681195c176239ac5e72d9aebacf5b2492e0c4ee000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e0000000000000000000000000000000000000000000000000bcbce7f1b15000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000029a2241af62c0000000000000000000000000000000000000000000000000000000000004b9a1eff

-----Decoded View---------------
Arg [0] : factory (address): 0xeA6876DDE9e3467564acBeE1Ed5bac88783205E0
Arg [1] : amm (address): 0x1681195C176239ac5E72d9aeBaCf5b2492E0C4ee
Arg [2] : borrowed_token (address): 0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E
Arg [3] : target_utilization (uint256): 850000000000000000
Arg [4] : low_ratio (uint256): 500000000000000000
Arg [5] : high_ratio (uint256): 3000000000000000000
Arg [6] : rate_shift (uint256): 1268391679

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000ea6876dde9e3467564acbee1ed5bac88783205e0
Arg [1] : 0000000000000000000000001681195c176239ac5e72d9aebacf5b2492e0c4ee
Arg [2] : 000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e
Arg [3] : 0000000000000000000000000000000000000000000000000bcbce7f1b150000
Arg [4] : 00000000000000000000000000000000000000000000000006f05b59d3b20000
Arg [5] : 00000000000000000000000000000000000000000000000029a2241af62c0000
Arg [6] : 000000000000000000000000000000000000000000000000000000004b9a1eff


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.