Connect a Wallet
Click Sign Up in the header. Any EVM wallet (MetaMask, Rabby, Coinbase Wallet) works, or you can sign up and log in with your email.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);
}