Connect a Wallet
Click Sign Up in the header. Any EVM wallet (MetaMask, Rabby, Coinbase Wallet) works.Connect Your Wallet
We ask for a single EIP-712 signature—no gas, no keys shared.Smart Wallet Deployment
Outcome deploys a minimal-proxy contract wallet on HyperEVM and covers the deployment gas.
The Smart Wallet acts as a programmable escrow. It never moves funds without your signature.
Behind the scenes
/**
* @notice Create a new BeaconProxy wallet with a given salt.
* @param salt A user-defined salt for CREATE2.
* @param owner The owner of the wallet.
* @return walletAddress The deployed wallet address.
*/
function createWallet(bytes32 salt, address owner) external onlyServer returns (address walletAddress) {
require(ownerToWallet[owner] == address(0), "Owner already has a wallet");
// Data for `initialize(owner, server, feeCollector)`
bytes memory initData = abi.encodeWithSignature("initialize(address,address,address)", owner, server, feeCollector);
// Build BeaconProxy bytecode using CREATE2
bytes memory beaconProxyBytecode = abi.encodePacked(
type(BeaconProxy).creationCode,
abi.encode(beacon, initData)
);
assembly {
walletAddress := create2(
0,
add(beaconProxyBytecode, 0x20),
mload(beaconProxyBytecode),
salt
)
if iszero(walletAddress) {
revert(0, 0)
}
}
// Map owner to deployed wallet and emit event
ownerToWallet[owner] = walletAddress;
emit WalletCreated(owner, walletAddress);
}