// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
import {IERC20Minimal} from "v4-core/interfaces/external/IERC20Minimal.sol";
import {IPoolManager} from "v4-core/interfaces/IPoolManager.sol";
import {PoolKey} from "v4-core/types/PoolKey.sol";
import {SwapParams} from "v4-core/types/PoolOperation.sol";
import {BalanceDelta, BalanceDeltaLibrary} from "v4-core/types/BalanceDelta.sol";
import {Currency} from "v4-core/types/Currency.sol";
/// @notice Minimal router for the SATO hook. It pre-settles the exact input into the v4 PoolManager,
/// calls swap through the hook-backed pool, and takes the output back to the recipient.
contract SatoSwapRouter {
using BalanceDeltaLibrary for BalanceDelta;
uint160 internal constant MIN_SQRT_PRICE_PLUS_ONE = 4295128740;
uint160 internal constant MAX_SQRT_PRICE_MINUS_ONE = 1461446703485210103287273052203988822378723970341;
IPoolManager public immutable POOL_MANAGER;
enum Action {
Buy,
Sell
}
struct CallbackData {
Action action;
PoolKey key;
address payer;
address recipient;
uint256 amountIn;
uint256 minAmountOut;
}
error NotPoolManager();
error BadMsgValue();
error ZeroAmount();
error Slippage();
error InvalidDelta();
error TransferFromFailed();
constructor(IPoolManager poolManager) {
POOL_MANAGER = poolManager;
}
function buy(PoolKey calldata key, uint256 minRatoOut, address recipient)
external
payable
returns (uint256 ratoOut)
{
if (msg.value == 0) revert ZeroAmount();
if (recipient == address(0)) recipient = msg.sender;
CallbackData memory data = CallbackData({
action: Action.Buy,
key: key,
payer: msg.sender,
recipient: recipient,
amountIn: msg.value,
minAmountOut: minRatoOut
});
ratoOut = abi.decode(POOL_MANAGER.unlock(abi.encode(data)), (uint256));
}
function sell(PoolKey calldata key, uint256 ratoIn, uint256 minEthOut, address recipient)
external
returns (uint256 ethOut)
{
if (ratoIn == 0) revert ZeroAmount();
if (recipient == address(0)) recipient = msg.sender;
CallbackData memory data = CallbackData({
action: Action.Sell,
key: key,
payer: msg.sender,
recipient: recipient,
amountIn: ratoIn,
minAmountOut: minEthOut
});
ethOut = abi.decode(POOL_MANAGER.unlock(abi.encode(data)), (uint256));
}
function unlockCallback(bytes calldata rawData) external returns (bytes memory) {
if (msg.sender != address(POOL_MANAGER)) revert NotPoolManager();
CallbackData memory data = abi.decode(rawData, (CallbackData));
uint256 amountOut;
if (data.action == Action.Buy) {
amountOut = _buy(data);
} else {
amountOut = _sell(data);
}
if (amountOut < data.minAmountOut) revert Slippage();
return abi.encode(amountOut);
}
function _buy(CallbackData memory data) internal returns (uint256 ratoOut) {
if (address(this).balance < data.amountIn) revert BadMsgValue();
POOL_MANAGER.settle{value: data.amountIn}();
BalanceDelta delta = POOL_MANAGER.swap(
data.key,
SwapParams({
zeroForOne: true,
amountSpecified: -int256(data.amountIn),
sqrtPriceLimitX96: MIN_SQRT_PRICE_PLUS_ONE
}),
abi.encode(data.payer)
);
int128 amount1 = delta.amount1();
if (amount1 <= 0) revert InvalidDelta();
ratoOut = uint128(amount1);
POOL_MANAGER.take(data.key.currency1, data.recipient, ratoOut);
}
function _sell(CallbackData memory data) internal returns (uint256 ethOut) {
Currency rato = data.key.currency1;
POOL_MANAGER.sync(rato);
bool success = IERC20Minimal(Currency.unwrap(rato)).transferFrom(data.payer, address(POOL_MANAGER), data.amountIn);
if (!success) revert TransferFromFailed();
POOL_MANAGER.settle();
BalanceDelta delta = POOL_MANAGER.swap(
data.key,
SwapParams({
zeroForOne: false,
amountSpecified: -int256(data.amountIn),
sqrtPriceLimitX96: MAX_SQRT_PRICE_MINUS_ONE
}),
abi.encode(data.payer)
);
int128 amount0 = delta.amount0();
if (amount0 <= 0) revert InvalidDelta();
ethOut = uint128(amount0);
POOL_MANAGER.take(data.key.currency0, data.recipient, ethOut);
}
receive() external payable {}
}[
{
"type": "constructor",
"inputs": [
{
"name": "poolManager",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "nonpayable"
},
{
"name": "BadMsgValue",
"type": "error",
"inputs": []
},
{
"name": "InvalidDelta",
"type": "error",
"inputs": []
},
{
"name": "NotPoolManager",
"type": "error",
"inputs": []
},
{
"name": "Slippage",
"type": "error",
"inputs": []
},
{
"name": "TransferFromFailed",
"type": "error",
"inputs": []
},
{
"name": "ZeroAmount",
"type": "error",
"inputs": []
},
{
"name": "POOL_MANAGER",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
},
{
"name": "buy",
"type": "function",
"inputs": [
{
"name": "key",
"type": "tuple",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
],
"internalType": "struct PoolKey"
},
{
"name": "minRatoOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "ratoOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
},
{
"name": "sell",
"type": "function",
"inputs": [
{
"name": "key",
"type": "tuple",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "Currency"
},
{
"name": "currency1",
"type": "address",
"internalType": "Currency"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "contract IHooks"
}
],
"internalType": "struct PoolKey"
},
{
"name": "ratoIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minEthOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "ethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "unlockCallback",
"type": "function",
"inputs": [
{
"name": "rawData",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60a034607b57601f610d4438819003918201601f19168301916001600160401b03831184841017607f57808492602094604052833981010312607b57516001600160a01b0381168103607b57608052604051610cb09081610094823960805181818161012001528181610221015281816108e501526109800152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816362308e851461096e5750806390d5131e1461085157806391dd7346146101cf5763bbb2e1a60361000f57346101c857366003190161010081126101cb5760a0136101c85760e4356001600160a01b0381169060a435908281036101c4579181156101b5576100f961011b9385936100eb93156101ad575b604051916100aa836109e7565b600183526100b736610a71565b602084015233604084015260018060a01b03166060830152608082015260c43560a082015260405192839160208301610b3b565b03601f198101835282610a4f565b604051809381926348c8949160e01b83526020600484015260248301906109c3565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156101a157809261017e575b50506020815191818082019384920101031261017a5760209051604051908152f35b5f80fd5b61019a92503d8091833e6101928183610a4f565b810190610b9a565b5f80610158565b604051903d90823e3d90fd5b33915061009d565b631f2a200560e01b8452600484fd5b8380fd5b80fd5b5080fd5b503461017a57602036600319011261017a576004359067ffffffffffffffff821161017a573660238301121561017a57816004013567ffffffffffffffff811161017a57820136602482011161017a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633819003610842576101408483031261017a5760405191610269836109e7565b6024850135600281101561017a57835260a090859003601f19011261017a576040519161029583610a33565b6102a1604486016109af565b83526102af606486016109af565b6020840152608485013562ffffff8116810361017a57604084015260a48501358060020b810361017a57606084015260c48501356001600160a01b038116810361017a5760808401526020810192835261030b60e486016109af565b906040810191825261032061010487016109af565b91606082019283526080820191610124880135835261014460a08201980135885251600281101561082e576105865747825111610577576004906020835160405193848092630476982d60e21b8252895af1801561056c5761053a575b6020915061038d86519351610c0d565b906040519161039b83610a17565b60018352838301526401000276a4604083015260018060a01b039051169260405193838501528284526103cf604085610a4f565b6103ed6040519485938493633cf3645360e21b855260048501610c31565b038188875af190811561052f5785916104fd575b508481600f0b13156104ee5792516020015190516001600160801b03909316926001600160a01b039081169116823b156104ea57604051630b0d9c0960e01b81526001600160a01b03918216600482015291166024820152604481018390529083908290606490829084905af180156104df579083916104ca575b5050915b5182106104bb576104b782604051906020820152602081526104a3604082610a4f565b6040519182916020835260208301906109c3565b0390f35b6307dd37f760e41b8152600490fd5b816104d491610a4f565b6101cb57815f61047c565b6040513d85823e3d90fd5b8480fd5b6305aa561360e11b8552600485fd5b90506020813d602011610527575b8161051860209383610a4f565b8101031261017a57515f610401565b3d915061050b565b6040513d87823e3d90fd5b6020823d602011610564575b8161055360209383610a4f565b8101031261017a576020915061037d565b3d9150610546565b6040513d89823e3d90fd5b632125a1e760e11b8652600486fd5b8451602001516001600160a01b0316843b1561017a57604051632961046560e21b8152600481018290525f81602481838a5af180156108235761080e575b50602060018060a01b0383511660648551918a60405195869485936323b872dd60e01b855260048501528b602485015260448401525af190811561056c5787916107cf575b50156107c057604051630476982d60e21b8152906020826004818a895af1801561056c5761078e575b6020915061064286519351610c0d565b906040519161065083610a17565b8883528383015273fffd8963efd1fc6a506488495d951d5263988d25604083015260018060a01b03905116926040519383850152828452610692604085610a4f565b6106b06040519485938493633cf3645360e21b855260048501610c31565b038188875af190811561052f57859161075c575b5060801d8481600f0b13156104ee5792515190516001600160801b03909316926001600160a01b039081169116823b156104ea57604051630b0d9c0960e01b81526001600160a01b03918216600482015291166024820152604481018390529083908290606490829084905af180156104df57908391610747575b505091610480565b8161075191610a4f565b6101cb57815f61073f565b90506020813d602011610786575b8161077760209383610a4f565b8101031261017a57515f6106c4565b3d915061076a565b6020823d6020116107b8575b816107a760209383610a4f565b8101031261017a5760209150610632565b3d915061079a565b631e4e7d0960e21b8652600486fd5b90506020813d602011610806575b816107ea60209383610a4f565b8101031261080257518015158103610802575f610609565b8680fd5b3d91506107dd565b61081b9197505f90610a4f565b5f955f6105c4565b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b63570c108560e11b5f5260045ffd5b366003190160e0811261017a5760a01361017a5760c4356001600160a01b0381169081810361017a5790341561095f5715610958575b5f6100eb6100f96108e0936040519061089f826109e7565b8482526108ab36610a71565b602083015233604083015260018060a01b0316606082015234608082015260a43560a082015260405192839160208301610b3b565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610823575f9161093e575b506020815191818082019384920101031261017a5760209051604051908152f35b61095291503d805f833e6101928183610a4f565b8161091d565b5033610887565b631f2a200560e01b5f5260045ffd5b3461017a575f36600319011261017a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b35906001600160a01b038216820361017a57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60c0810190811067ffffffffffffffff821117610a0357604052565b634e487b7160e01b5f52604160045260245ffd5b6060810190811067ffffffffffffffff821117610a0357604052565b60a0810190811067ffffffffffffffff821117610a0357604052565b90601f8019910116810190811067ffffffffffffffff821117610a0357604052565b60a090600319011261017a5760405190610a8a82610a33565b816004356001600160a01b038116810361017a5781526024356001600160a01b038116810361017a57602082015260443562ffffff8116810361017a5760408201526064358060020b810361017a576060820152608435906001600160a01b038216820361017a5760800152565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b81516101408201939290600281101561082e576101209160a0918452610b6960208201516020860190610af8565b60408101515f196001841b0190811660c086015260608201511660e085015260808101516101008501520151910152565b60208183031261017a5780519067ffffffffffffffff821161017a570181601f8201121561017a5780519067ffffffffffffffff8211610a035760405192610bec601f8401601f191660200185610a4f565b8284526020838301011161017a57815f9260208093018386015e8301015290565b600160ff1b8114610c1d575f0390565b634e487b7160e01b5f52601160045260245ffd5b610c779392610c438261012094610af8565b8051151560a0830152602081015160c0830152604001516001600160a01b031660e0820152610100810182905201906109c3565b9056fea26469706673582212206ad3443618bfc2fb5e223b1883645bdd4b3d047e0b5d6a316ca8735895d0ff9a64736f6c634300081a00330000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951
0x608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816362308e851461096e5750806390d5131e1461085157806391dd7346146101cf5763bbb2e1a60361000f57346101c857366003190161010081126101cb5760a0136101c85760e4356001600160a01b0381169060a435908281036101c4579181156101b5576100f961011b9385936100eb93156101ad575b604051916100aa836109e7565b600183526100b736610a71565b602084015233604084015260018060a01b03166060830152608082015260c43560a082015260405192839160208301610b3b565b03601f198101835282610a4f565b604051809381926348c8949160e01b83526020600484015260248301906109c3565b0381837f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03165af19182156101a157809261017e575b50506020815191818082019384920101031261017a5760209051604051908152f35b5f80fd5b61019a92503d8091833e6101928183610a4f565b810190610b9a565b5f80610158565b604051903d90823e3d90fd5b33915061009d565b631f2a200560e01b8452600484fd5b8380fd5b80fd5b5080fd5b503461017a57602036600319011261017a576004359067ffffffffffffffff821161017a573660238301121561017a57816004013567ffffffffffffffff811161017a57820136602482011161017a577f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b031633819003610842576101408483031261017a5760405191610269836109e7565b6024850135600281101561017a57835260a090859003601f19011261017a576040519161029583610a33565b6102a1604486016109af565b83526102af606486016109af565b6020840152608485013562ffffff8116810361017a57604084015260a48501358060020b810361017a57606084015260c48501356001600160a01b038116810361017a5760808401526020810192835261030b60e486016109af565b906040810191825261032061010487016109af565b91606082019283526080820191610124880135835261014460a08201980135885251600281101561082e576105865747825111610577576004906020835160405193848092630476982d60e21b8252895af1801561056c5761053a575b6020915061038d86519351610c0d565b906040519161039b83610a17565b60018352838301526401000276a4604083015260018060a01b039051169260405193838501528284526103cf604085610a4f565b6103ed6040519485938493633cf3645360e21b855260048501610c31565b038188875af190811561052f5785916104fd575b508481600f0b13156104ee5792516020015190516001600160801b03909316926001600160a01b039081169116823b156104ea57604051630b0d9c0960e01b81526001600160a01b03918216600482015291166024820152604481018390529083908290606490829084905af180156104df579083916104ca575b5050915b5182106104bb576104b782604051906020820152602081526104a3604082610a4f565b6040519182916020835260208301906109c3565b0390f35b6307dd37f760e41b8152600490fd5b816104d491610a4f565b6101cb57815f61047c565b6040513d85823e3d90fd5b8480fd5b6305aa561360e11b8552600485fd5b90506020813d602011610527575b8161051860209383610a4f565b8101031261017a57515f610401565b3d915061050b565b6040513d87823e3d90fd5b6020823d602011610564575b8161055360209383610a4f565b8101031261017a576020915061037d565b3d9150610546565b6040513d89823e3d90fd5b632125a1e760e11b8652600486fd5b8451602001516001600160a01b0316843b1561017a57604051632961046560e21b8152600481018290525f81602481838a5af180156108235761080e575b50602060018060a01b0383511660648551918a60405195869485936323b872dd60e01b855260048501528b602485015260448401525af190811561056c5787916107cf575b50156107c057604051630476982d60e21b8152906020826004818a895af1801561056c5761078e575b6020915061064286519351610c0d565b906040519161065083610a17565b8883528383015273fffd8963efd1fc6a506488495d951d5263988d25604083015260018060a01b03905116926040519383850152828452610692604085610a4f565b6106b06040519485938493633cf3645360e21b855260048501610c31565b038188875af190811561052f57859161075c575b5060801d8481600f0b13156104ee5792515190516001600160801b03909316926001600160a01b039081169116823b156104ea57604051630b0d9c0960e01b81526001600160a01b03918216600482015291166024820152604481018390529083908290606490829084905af180156104df57908391610747575b505091610480565b8161075191610a4f565b6101cb57815f61073f565b90506020813d602011610786575b8161077760209383610a4f565b8101031261017a57515f6106c4565b3d915061076a565b6020823d6020116107b8575b816107a760209383610a4f565b8101031261017a5760209150610632565b3d915061079a565b631e4e7d0960e21b8652600486fd5b90506020813d602011610806575b816107ea60209383610a4f565b8101031261080257518015158103610802575f610609565b8680fd5b3d91506107dd565b61081b9197505f90610a4f565b5f955f6105c4565b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b63570c108560e11b5f5260045ffd5b366003190160e0811261017a5760a01361017a5760c4356001600160a01b0381169081810361017a5790341561095f5715610958575b5f6100eb6100f96108e0936040519061089f826109e7565b8482526108ab36610a71565b602083015233604083015260018060a01b0316606082015234608082015260a43560a082015260405192839160208301610b3b565b0381837f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03165af1908115610823575f9161093e575b506020815191818082019384920101031261017a5760209051604051908152f35b61095291503d805f833e6101928183610a4f565b8161091d565b5033610887565b631f2a200560e01b5f5260045ffd5b3461017a575f36600319011261017a577f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03168152602090f35b35906001600160a01b038216820361017a57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60c0810190811067ffffffffffffffff821117610a0357604052565b634e487b7160e01b5f52604160045260245ffd5b6060810190811067ffffffffffffffff821117610a0357604052565b60a0810190811067ffffffffffffffff821117610a0357604052565b90601f8019910116810190811067ffffffffffffffff821117610a0357604052565b60a090600319011261017a5760405190610a8a82610a33565b816004356001600160a01b038116810361017a5781526024356001600160a01b038116810361017a57602082015260443562ffffff8116810361017a5760408201526064358060020b810361017a576060820152608435906001600160a01b038216820361017a5760800152565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b81516101408201939290600281101561082e576101209160a0918452610b6960208201516020860190610af8565b60408101515f196001841b0190811660c086015260608201511660e085015260808101516101008501520151910152565b60208183031261017a5780519067ffffffffffffffff821161017a570181601f8201121561017a5780519067ffffffffffffffff8211610a035760405192610bec601f8401601f191660200185610a4f565b8284526020838301011161017a57815f9260208093018386015e8301015290565b600160ff1b8114610c1d575f0390565b634e487b7160e01b5f52601160045260245ffd5b610c779392610c438261012094610af8565b8051151560a0830152602081015160c0830152604001516001600160a01b031660e0820152610100810182905201906109c3565b9056fea26469706673582212206ad3443618bfc2fb5e223b1883645bdd4b3d047e0b5d6a316ca8735895d0ff9a64736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000102 | $0 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| no event logs emitted by this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x0fe0ccbb…b62bb3 | Transfer | 18,496,964 | 24 days agoFri, 24 Jul 2026 22:09:50 UTC | 0xcaf7…5d11 | IN | 0x8218…7741 | $0.001 DIH |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xc15f6b…e539ec | sell | 7,933,049 | 36 days agoSun, 12 Jul 2026 16:02:12 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000709 | |
| 0x5337c4…1bcc77 | sell | 7,691,756 | 36 days agoSun, 12 Jul 2026 09:19:08 UTC | 0xaa98…d1f1 | IN | SatoSwapRouter | $0.000 ETH | 0.00000742 | |
| 0xc11aeb…09d351 | sell | 7,653,097 | 36 days agoSun, 12 Jul 2026 08:14:32 UTC | 0x5f0c…d95f | IN | SatoSwapRouter | $0.000 ETH | 0.00000724 | |
| 0x416a73…4df7a2 | sell | 7,578,639 | 36 days agoSun, 12 Jul 2026 06:10:04 UTC | 0x4a35…07b7 | IN | SatoSwapRouter | $0.000 ETH | 0.00000764 | |
| 0x908b28…d0f519 | sell | 7,570,479 | 36 days agoSun, 12 Jul 2026 05:56:25 UTC | 0xa343…b685 | IN | SatoSwapRouter | $0.000 ETH | 0.00000762 | |
| 0xc1f450…102948 | sell | 7,485,628 | 36 days agoSun, 12 Jul 2026 03:34:35 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000763 | |
| !0x730dea…088bb8 | sell | 7,485,495 | 36 days agoSun, 12 Jul 2026 03:34:22 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000243 | |
| 0x4d22ed…7b2575 | buy | 7,485,312 | 36 days agoSun, 12 Jul 2026 03:34:04 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $1.890.001 ETH | 0.00000733 | |
| 0xf8b9c3…b58f36 | buy | 7,433,705 | 37 days agoSun, 12 Jul 2026 02:07:48 UTC | 0xa343…b685 | IN | SatoSwapRouter | $189.160.1 ETH | 0.00000751 | |
| 0x15304f…2bec01 | sell | 7,362,148 | 37 days agoSun, 12 Jul 2026 00:08:15 UTC | 0x2a88…1cf2 | IN | SatoSwapRouter | $0.000 ETH | 0.00000811 | |
| 0x27ac1a…d13da6 | sell | 7,249,131 | 37 days agoSat, 11 Jul 2026 20:59:36 UTC | 0x2a88…1cf2 | IN | SatoSwapRouter | $0.000 ETH | 0.00000806 | |
| 0x0d82dc…d33db8 | sell | 7,223,151 | 37 days agoSat, 11 Jul 2026 20:16:13 UTC | 0x0c25…1111 | IN | SatoSwapRouter | $0.000 ETH | 0.00000804 | |
| 0x0e34c0…7151ab | buy | 7,130,599 | 37 days agoSat, 11 Jul 2026 17:41:46 UTC | 0x7cee…d6d6 | IN | SatoSwapRouter | $0.570.0003 ETH | 0.00000771 | |
| 0xce159b…aa7271 | buy | 7,111,367 | 37 days agoSat, 11 Jul 2026 17:09:43 UTC | 0x4fa0…0ae6 | IN | SatoSwapRouter | $75.660.04 ETH | 0.00000779 | |
| 0x99e335…4399df | sell | 7,095,354 | 37 days agoSat, 11 Jul 2026 16:43:02 UTC | 0x2a88…1cf2 | IN | SatoSwapRouter | $0.000 ETH | 0.00000794 | |
| 0x1e6826…8e98f9 | sell | 7,094,564 | 37 days agoSat, 11 Jul 2026 16:41:45 UTC | 0x2a88…1cf2 | IN | SatoSwapRouter | $0.000 ETH | 0.00000789 | |
| 0x6d39e9…2ff669 | sell | 7,094,138 | 37 days agoSat, 11 Jul 2026 16:41:02 UTC | 0x2a88…1cf2 | IN | SatoSwapRouter | $0.000 ETH | 0.00000794 | |
| 0x5588fe…67b2f3 | sell | 7,091,674 | 37 days agoSat, 11 Jul 2026 16:36:54 UTC | 0x77e0…5ada | IN | SatoSwapRouter | $0.000 ETH | 0.00000796 | |
| 0x09ae14…56a6b7 | sell | 7,038,201 | 37 days agoSat, 11 Jul 2026 15:07:42 UTC | 0xe3e0…c131 | IN | SatoSwapRouter | $0.000 ETH | 0.00000757 | |
| 0x694cea…e1ab69 | sell | 7,031,077 | 37 days agoSat, 11 Jul 2026 14:55:49 UTC | 0x1ef8…a91f | IN | SatoSwapRouter | $0.000 ETH | 0.00000758 | |
| 0x9547f6…7fd59f | sell | 7,001,408 | 37 days agoSat, 11 Jul 2026 14:06:19 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000752 | |
| 0x1f25ad…a85253 | sell | 7,001,014 | 37 days agoSat, 11 Jul 2026 14:05:39 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000758 | |
| 0x17d2f4…5b58f8 | sell | 7,000,438 | 37 days agoSat, 11 Jul 2026 14:04:42 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000759 | |
| 0xb3de2c…159a7a | sell | 6,999,660 | 37 days agoSat, 11 Jul 2026 14:03:23 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000756 | |
| 0x2091ee…890fa3 | sell | 6,998,458 | 37 days agoSat, 11 Jul 2026 14:01:24 UTC | 0xc5a6…ad8d | IN | SatoSwapRouter | $0.000 ETH | 0.00000746 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 7,485,312 | 36 days agoSun, 12 Jul 2026 03:34:04 UTC | 0x4d22ed…7b2575 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.001 ETH |
| 7,433,705 | 37 days agoSun, 12 Jul 2026 02:07:48 UTC | 0xf8b9c3…b58f36 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.1 ETH |
| 7,130,599 | 37 days agoSat, 11 Jul 2026 17:41:46 UTC | 0x0e34c0…7151ab | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.0003 ETH |
| 7,111,367 | 37 days agoSat, 11 Jul 2026 17:09:43 UTC | 0xce159b…aa7271 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.04 ETH |
| 6,957,144 | 37 days agoSat, 11 Jul 2026 12:52:23 UTC | 0xa5f4c6…f73fc1 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,956,662 | 37 days agoSat, 11 Jul 2026 12:51:36 UTC | 0x6bb615…f20624 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,953,582 | 37 days agoSat, 11 Jul 2026 12:46:26 UTC | 0x6ff6fa…73e429 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.006 ETH |
| 6,482,036 | 38 days agoFri, 10 Jul 2026 23:39:33 UTC | 0xce2496…5d6c62 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,348,110 | 38 days agoFri, 10 Jul 2026 19:56:08 UTC | 0xa6ff35…ab3a9f | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,345,275 | 38 days agoFri, 10 Jul 2026 19:51:25 UTC | 0x8c5687…66cfd6 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.05 ETH |
| 6,326,504 | 38 days agoFri, 10 Jul 2026 19:20:05 UTC | 0x10fae5…1649f0 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,321,468 | 38 days agoFri, 10 Jul 2026 19:11:40 UTC | 0x7e2767…6d21b0 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,319,019 | 38 days agoFri, 10 Jul 2026 19:07:35 UTC | 0x8c670b…31c15a | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |
| 6,318,589 | 38 days agoFri, 10 Jul 2026 19:06:52 UTC | 0x64210c…daaf81 | CALL | buy | 0x8218…7741 | OUT | 0x8366…0951 | 0.01 ETH |