Smart Contract Operations Console for an Estonian Web3 Infrastructure Company
Designed and built a clickable smart contract admin console for a Tallinn infrastructure company that serves protocol teams and token issuers: a registry of deployed contracts across chains, a role map that flags single keys with admin power, and a queue where every upgrade, role change, parameter change or pause is reviewed, simulated and signed through a Safe and a timelock.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, contracts registry, role map with matrix and graph views, the proposed actions queue and action detail. Every one of the 19 demo actions opens its own detail page.
Each privileged change moves through Draft, Review, Approved, Signatures, Timelock and Executed, with the date each stage was reached, the Safe signature count and a live timelock countdown.
EOAs with admin power, Safes below the 3 of 5 workspace minimum, roles with no holder, holders missing from the address book and upgrades with no timelock. EOA cells with admin or upgrade power get a red outline.
18 registered contracts on 5 mainnets and Sepolia, 8 admin accounts (Safes, a 48 h timelock, EOAs and a relayer contract), 9 team users and 19 proposed actions across all 10 statuses.
Loodemaa Labs' customers ran their admin work from Safe tabs, block explorers, Foundry scripts on engineers' laptops, a spreadsheet of who holds which key and alerts posted to a Slack channel nobody owned. An upgrade meant one engineer building calldata by hand and hoping the signers checked it, nobody could say which contracts a single hot wallet could still upgrade, and one customer took 41 minutes to pause a contract during a live exploit because the signers could not find the right calldata.
Kindlus keeps one registry of every deployed contract across chains, maps who holds which admin role, and turns every privileged change into a proposal with decoded calls, a simulation, an approval policy, Safe signatures and a timelock. The emergency pause path sits in the top bar, and Kindlus never holds a customer's signing keys.
A token issuer or protocol team runs the same contracts on several chains, each with its own proxies, roles, Safes and timelocks. Every change has to be prepared, checked and signed the same way, and the emergency path has to work under pressure.
Contracts use OpenZeppelin Ownable or AccessControl roles, and unless a contract is enumerable the current holders have to be rebuilt from RoleGranted and RoleRevoked events. Finding an EOA that could still upgrade a contract took an afternoon.
Upgrades through transparent, UUPS or beacon proxies, role grants and parameter changes were built by hand and posted in chat. Signers saw raw hex in their wallet and had no simulation, storage layout check or audit status next to it.
The proposer cannot be the only approver, and both the Safe threshold and the workspace approval policy apply. Many changes also pass a timelock delay so users can see them coming, while pauses stay outside it with a guardian Safe.
Kindlus is not a regulated crypto-asset service, but its customers may be e-money or asset-referenced token issuers under MiCA, or financial entities under DORA. They need an audit trail and change history they can show, without Kindlus deciding their compliance.
Mapped 8 user roles from workspace owner and signer to guest auditor, 39 screens including a mobile signer review page and a public transparency page, and the data model for contracts, role assignments, admin accounts, proposed actions, simulations, Safe transactions, timelock operations, deployments, monitors, incidents and a hash-chained audit trail. Wrote down the rules the design follows: role-based access control, multisig admin keys, ERC-1967 proxies, timelocks, four-eyes change management, MiCA, DORA and GDPR.
Built 5 key screens on a production Web3 dashboard kit: the dashboard with KPIs, my work, timelock countdowns and alerts by severity, the contracts registry with a quick view panel, the role map with matrix and graph views and an address panel, the proposed actions queue, and action detail with decoded calls, route diagram, upgrade checks, simulation diff viewer, policy check and Safe signatures. Network scope chips, the incident banner and the emergency pause panel work across the shell.
Integration with RPC and archive nodes (such as Alchemy, Infura or QuickNode), Etherscan and Sourcify, the Safe Transaction Service, WalletConnect, Tenderly simulation, monitoring feeds such as Forta or OpenZeppelin Monitor, Slack and PagerDuty routing, GitHub Actions or GitLab CI deployment records and Immunefi. SSO with SCIM, an append-only hash-chained audit trail, and the remaining screens: the action builder, Safe transactions, timelock queue, monitoring and incidents with runbooks, audits and findings, reports, the signer review page and the public transparency page.
The role map lists every holder against every contract, coloured by admin, upgrade, emergency or operational power. A deployer laptop key holding DEFAULT_ADMIN_ROLE shows a red outline, and the fix is a proposal to grant the role to the timelock and then revoke it from the EOA.
Each call is decoded with labelled addresses, role names and token amounts, with the raw calldata behind a toggle. The Safe transaction hash is shown so signers can compare it with what their own wallet displays.
Upgrades show the deployment from CI, the bytecode match, the storage layout check and audit coverage. The simulation shows its block, gas and state diff and turns stale after the policy limit, and the policy check names the rule that applies.
A pause shortcut sits in the top bar for users with incident rights, an open incident shows as a red banner in the sidebar, and emergency pauses take the guardian Safe route with no timelock instead of the 48 h delay.

Designed and built a clickable client console for a German crypto custodian's MPC custody platform: institutions see their vaults and holdings, follow every transaction from request to final confirmation, approve with a security key against a quorum per approver group, and test their own first-match withdrawal policy before it goes live.

Built an iOS and Android self-custody wallet supporting BTC, ETH, LTC, XRP and AVAX with one-tap send, receive and swap, plus a clean activity feed - shipped from clickable AI prototype to App Store in 8 weeks.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab