First to clear all 11 challenges
1 full SCH seat · €450
Unlocked hints
Unlock a hint to view it here.
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
contract Token {
mapping(address => uint256) balances;
uint256 public totalSupply;
constructor(uint256 _initialSupply) public {
balances[msg.sender] = totalSupply = _initialSupply;
}
function transfer(address _to, uint256 _value) public returns (bool) {
require(balances[msg.sender] - _value >= 0);
balances[msg.sender] -= _value;
balances[_to] += _value;
return true;
}
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
}
Starter exploit
// Already wired up for you - do NOT add imports or a contract wrapper:
// tokenInstance -> the deployed Token contract
// PLAYER_PRIVATE_KEY / PLAYER_ADDRESS -> your key and address
// Write only the code below.
function run() external {
vm.startBroadcast(PLAYER_PRIVATE_KEY);
// TODO: implement the exploit.
vm.stopBroadcast();
}
CTF tour
This is your guided Solidity CTF workspace.
€900 worth · Two ways to win
1 full SCH seat · €450
1 full SCH seat · €450
August 4 to August 11, 2026. Winners are emailed after the event ends. One prize per player.
Sign in to save private notes on contract lines and continue your review later.
This removes it permanently from your private workspace.