ETH Price: $2,513.93 (+0.49%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
0x1dbead82db7cdccc2309a8436cf93f7c33a7221a36d73624c11da30bcb102521 Swap Exact Token...(pending)2025-06-07 6:12:5011 hrs ago1749276770IN
Pendle: RouterV4
0.0001 ETH(Pending)(Pending)
0x5c598da26382e9b3bc3e5a3396a92a8c4fd3bbab82592e73c80e278b9252f8e0 Swap Exact Token...(pending)2025-06-07 6:11:5711 hrs ago1749276717IN
Pendle: RouterV4
0.0001 ETH(Pending)(Pending)
0xb4f20794e7865bb46cd497d9d2758dc64ca04d5fa327f571679ceab297231594 Swap Exact Token...(pending)2025-06-07 6:10:4311 hrs ago1749276643IN
Pendle: RouterV4
0.0005 ETH(Pending)(Pending)
0x58d0bde84e1306ea60708bf987a9fd48e8b03a9ce1176be9717cdeadde1e41d5 Swap Exact Token...(pending)2025-06-07 6:10:0311 hrs ago1749276603IN
Pendle: RouterV4
0.001 ETH(Pending)(Pending)
0x644cd73a74087b12f2e9e71bdf719cac0a932ca93ca2c0d6ae6992f5708bcef7 Swap Exact Token...(pending)2025-06-07 6:09:5011 hrs ago1749276590IN
Pendle: RouterV4
0.0005 ETH(Pending)(Pending)
0x1908d51a375b84d83245b89c7e8d388abea912f6919a552dd9ac9d6098ee720a Swap Exact Token...(pending)2025-06-07 5:18:5312 hrs ago1749273533IN
Pendle: RouterV4
0.0005 ETH(Pending)(Pending)
0x7a63bf8c60bd81f9c5b37c5c2e0c4c410d8239ae15ef9c6cc051ef4a924a3018 Multicall(pending)2025-06-07 5:08:2112 hrs ago1749272901IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
Exit Post Exp To...226542342025-06-07 17:35:1153 secs ago1749317711IN
Pendle: RouterV4
0 ETH0.000223391.0157664
Swap Exact Token...226542342025-06-07 17:35:1153 secs ago1749317711IN
Pendle: RouterV4
0 ETH0.000360981.0157664
Swap Exact Token...226542332025-06-07 17:34:591 min ago1749317699IN
Pendle: RouterV4
0.01 ETH0.000562840.97768364
Swap Exact Token...226542332025-06-07 17:34:591 min ago1749317699IN
Pendle: RouterV4
0 ETH0.000657031.47215975
Redeem Due Inter...226542272025-06-07 17:33:472 mins ago1749317627IN
Pendle: RouterV4
0 ETH0.000201411.10123131
Add Liquidity Si...226542272025-06-07 17:33:472 mins ago1749317627IN
Pendle: RouterV4
0 ETH0.000706421.10123131
Swap Exact Token...226542242025-06-07 17:33:112 mins ago1749317591IN
Pendle: RouterV4
0.00987586 ETH0.000574431.02385168
Swap Exact Token...226542212025-06-07 17:32:353 mins ago1749317555IN
Pendle: RouterV4
0.004 ETH0.000496730.8854513
Swap Exact Token...226542172025-06-07 17:31:474 mins ago1749317507IN
Pendle: RouterV4
0 ETH0.001620441.39687706
Add Liquidity Si...226542092025-06-07 17:30:115 mins ago1749317411IN
Pendle: RouterV4
0 ETH0.000478731.44520002
Add Liquidity Si...226542072025-06-07 17:29:476 mins ago1749317387IN
Pendle: RouterV4
0 ETH0.000549211.45975534
Add Liquidity Si...226541992025-06-07 17:28:117 mins ago1749317291IN
Pendle: RouterV4
0 ETH0.000546421.45034375
Redeem Due Inter...226541922025-06-07 17:26:479 mins ago1749317207IN
Pendle: RouterV4
0 ETH0.000148720.9
Swap Exact Token...226541892025-06-07 17:26:119 mins ago1749317171IN
Pendle: RouterV4
0 ETH0.000328361.45164976
Swap Exact Token...226541862025-06-07 17:25:3510 mins ago1749317135IN
Pendle: RouterV4
0 ETH0.001090181.06327103
Swap Exact Token...226541802025-06-07 17:24:2311 mins ago1749317063IN
Pendle: RouterV4
0 ETH0.001164221.3
Swap Tokens To T...226541712025-06-07 17:22:3513 mins ago1749316955IN
Pendle: RouterV4
0 ETH0.001284021.19764994
Swap Exact Pt Fo...226541692025-06-07 17:22:1113 mins ago1749316931IN
Pendle: RouterV4
0 ETH0.001024491.17086765
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Swap226542332025-06-07 17:34:591 min ago1749317699
Pendle: RouterV4
0.01 ETH
Swap226542242025-06-07 17:33:112 mins ago1749317591
Pendle: RouterV4
0.00987586 ETH
Swap226542212025-06-07 17:32:353 mins ago1749317555
Pendle: RouterV4
0.004 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.00342553 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.00342553 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.00965119 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.00965119 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.1754178 ETH
Transfer226541712025-06-07 17:22:3513 mins ago1749316955
Pendle: RouterV4
0.1754178 ETH
Swap226541322025-06-07 17:14:4721 mins ago1749316487
Pendle: RouterV4
0.02 ETH
Swap226541272025-06-07 17:13:4722 mins ago1749316427
Pendle: RouterV4
0.02 ETH
Swap226540352025-06-07 16:55:1140 mins ago1749315311
Pendle: RouterV4
0.04 ETH
Swap226539452025-06-07 16:37:1158 mins ago1749314231
Pendle: RouterV4
0.035 ETH
Transfer226539132025-06-07 16:30:471 hr ago1749313847
Pendle: RouterV4
0.08672052 ETH
Transfer226539132025-06-07 16:30:471 hr ago1749313847
Pendle: RouterV4
0.08672052 ETH
Swap226539072025-06-07 16:29:351 hr ago1749313775
Pendle: RouterV4
0.015 ETH
Swap226538962025-06-07 16:27:231 hr ago1749313643
Pendle: RouterV4
0.025 ETH
Swap226538712025-06-07 16:22:231 hr ago1749313343
Pendle: RouterV4
0.2 ETH
Swap226538352025-06-07 16:15:111 hr ago1749312911
Pendle: RouterV4
0.046 ETH
Transfer226538342025-06-07 16:14:591 hr ago1749312899
Pendle: RouterV4
8.96803751 ETH
Transfer226538342025-06-07 16:14:591 hr ago1749312899
Pendle: RouterV4
8.96803751 ETH
Swap226537292025-06-07 15:53:591 hr ago1749311639
Pendle: RouterV4
0.04 ETH
Swap226537192025-06-07 15:51:471 hr ago1749311507
Pendle: RouterV4
0.00993344 ETH
Deposit226537092025-06-07 15:49:471 hr ago1749311387
Pendle: RouterV4
0.0012 ETH
Swap226536852025-06-07 15:44:591 hr ago1749311099
Pendle: RouterV4
0.00989875 ETH
View All Internal Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PendleRouterV4

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
shanghai EvmVersion
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.17;

import "@openzeppelin/contracts/proxy/Proxy.sol";
import "../interfaces/IPActionStorageV4.sol";
import "./RouterStorage.sol";

contract PendleRouterV4 is Proxy, RouterStorage {
    constructor(address _owner, address actionStorage) {
        RouterStorage.CoreStorage storage $ = _getCoreStorage();
        $.owner = _owner;
        $.selectorToFacet[IPActionStorageV4.setSelectorToFacets.selector] = actionStorage;
    }

    function _implementation() internal view override returns (address) {
        RouterStorage.CoreStorage storage $ = _getCoreStorage();
        address facet = $.selectorToFacet[msg.sig];
        require(facet != address(0), "INVALID_SELECTOR");
        return facet;
    }

    receive() external payable override {}
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (proxy/Proxy.sol)

pragma solidity ^0.8.0;

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 *
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 *
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    /**
     * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal view virtual returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable virtual {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive() external payable virtual {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     *
     * If overridden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {}
}

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.0;

interface IPActionStorageV4 {
    struct SelectorsToFacet {
        address facet;
        bytes4[] selectors;
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    event SelectorToFacetSet(bytes4 indexed selector, address indexed facet);

    function owner() external view returns (address);

    function pendingOwner() external view returns (address);

    function transferOwnership(address newOwner, bool direct, bool renounce) external;

    function claimOwnership() external;

    function setSelectorToFacets(SelectorsToFacet[] calldata arr) external;

    function selectorToFacet(bytes4 selector) external view returns (address);
}

File 4 of 4 : RouterStorage.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.17;

abstract contract RouterStorage {
    struct CoreStorage {
        address owner;
        address pendingOwner;
        mapping(bytes4 => address) selectorToFacet;
    }

    // keccak256(abi.encode(uint256(keccak256("pendle.routerv4.Core")) - 1)) & ~bytes32(uint256(0xff))
    bytes32 private constant CORE_STORAGE_LOCATION = 0xf168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab800;

    function _getCoreStorage() internal pure returns (CoreStorage storage $) {
        assembly {
            $.slot := CORE_STORAGE_LOCATION
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "viaIR": true,
  "evmVersion": "shanghai",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"actionStorage","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

6080346100f957601f61024538819003918201601f19168301916001600160401b038311848410176100fd5780849260409485528339810103126100f957610052602061004b83610111565b9201610111565b7ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80080546001600160a01b039384166001600160a01b03199182161790915563523edfc160e11b5f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab8026020527f64dcb2031b93f2b828088d68228a52c10b3bf4eb531ee3da663820f1b8fd2a6d805492909316911617905560405161011f90816101268239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100f95756fe6080604052361560e7577fffffffff000000000000000000000000000000000000000000000000000000005f35165f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80260205273ffffffffffffffffffffffffffffffffffffffff60405f2054168015608f575f8091368280378136915af43d5f803e15608b573d5ff35b3d5ffd5b7f08c379a0000000000000000000000000000000000000000000000000000000006080526020608452601060a4527f494e56414c49445f53454c4543544f520000000000000000000000000000000060c45260646080fd5b00fea2646970667358221220fb238a4872e09c3860528f78146507d0193bd6d15bb6de3664daec4da78e4eb964736f6c634300081800330000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb70000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3

Deployed Bytecode

0x6080604052361560e7577fffffffff000000000000000000000000000000000000000000000000000000005f35165f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80260205273ffffffffffffffffffffffffffffffffffffffff60405f2054168015608f575f8091368280378136915af43d5f803e15608b573d5ff35b3d5ffd5b7f08c379a0000000000000000000000000000000000000000000000000000000006080526020608452601060a4527f494e56414c49445f53454c4543544f520000000000000000000000000000000060c45260646080fd5b00fea2646970667358221220fb238a4872e09c3860528f78146507d0193bd6d15bb6de3664daec4da78e4eb964736f6c63430008180033

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

0000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb70000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3

-----Decoded View---------------
Arg [0] : _owner (address): 0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7
Arg [1] : actionStorage (address): 0x2D36f2A022D1170f33fDFD5670833C447c0c9Ff3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb7
Arg [1] : 0000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3


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

 

 

 

 

 

 

Loading...
Loading
[ Download: CSV Export  ]
[ 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.