`send(to, amount)` forwards a small fixed gas stipend and reverts on failure — good for simple payouts. For calling arbitrary contracts with data or more gas, use `raw_call(to, data, value=amount)`.
@external
def withdraw():
amount: uint256 = self.balances[msg.sender]
self.balances[msg.sender] = 0
send(msg.sender, amount)
@external
@payable
def __default__():
pass`__default__` is Vyper's fallback function — it runs when a call doesn't match any function selector, similar to Solidity's `fallback`/`receive`.