Paul Razvan Berg Profile Banner
Paul Razvan Berg Profile
Paul Razvan Berg

@PaulRBerg

Followers
16,575
Following
1,145
Media
815
Statuses
11,908

Co-founder @Sablier . Interested in crypto, longevity, physics, and epistemology.

London, UK
Joined June 2012
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@PaulRBerg
Paul Razvan Berg
4 years
A bank account is basically a 2-of-3 multisig between you, the bank and the government.
160
503
3K
@PaulRBerg
Paul Razvan Berg
3 years
Open letter to /r/WallStreetBets: Nobody can halt trading in Ethereum, and it runs 24/7. Yours truly, DeFi community
43
183
1K
@PaulRBerg
Paul Razvan Berg
3 years
Cardano: > The key to success is having a committee of Very Important Professors peer reviewing everything. Ethereum: > We learn by trial and error. Academic input is helpful but we prefer experimenting in the real world. We all know which approach was invalidated today.
69
108
1K
@PaulRBerg
Paul Razvan Berg
6 months
Did you know that by changing the URL from ".io" to ".deth.net" on Etherscan, you get a VSCode workspace with the contract code preloaded?
40
191
1K
@PaulRBerg
Paul Razvan Berg
3 years
If @elonmusk were starting out as an entrepreneur today, he would be building on top of Ethereum.
52
56
694
@PaulRBerg
Paul Razvan Berg
3 years
Want to change the world? Learn Solidity. Today.
27
101
711
@PaulRBerg
Paul Razvan Berg
2 years
I write code primarily in Solidity, TypeScript, and Rust, and for each language I built a template that I use every time I create a repo from scratch. This is a mini thread in which I aggregate all of my templates, in case you will find any one of them useful. 1/5
22
109
680
@PaulRBerg
Paul Razvan Berg
1 year
Solidity v0.8.18 just dropped this week, and it comes with an awesome new feature. Named parameters in mappings!
Tweet media one
37
111
679
@PaulRBerg
Paul Razvan Berg
3 years
Did #Tether seriously get a hashtag emoji before #Ethereum ? Smh, @Twitter .
53
52
580
@PaulRBerg
Paul Razvan Berg
2 years
Proposed Solidity best practice: Use the name of the smart contract as a prefix for custom errors. This helps end users identify which contract reverted a failed tx, which is especially useful for complex txs that involve multiple contracts.
Tweet media one
19
73
576
@PaulRBerg
Paul Razvan Berg
3 years
Crazy idea: Coinbase should retroactively distribute stock to all early adopters when launching the IPO. They would make history.
23
44
503
@PaulRBerg
Paul Razvan Berg
3 years
Random Solidity tip. You can use underscores in number literals 🔢
Tweet media one
21
58
505
@PaulRBerg
Paul Razvan Berg
1 year
Solidity tip: Declare your time variables as "uint40" rather than "uint256", to save gas in structs and contract storage. 2^40 as a unix timestamp is ~35k years into the future. I'm bullish on Ethereum but I think that that should be enough for all contracts deployed today.
Tweet media one
32
64
504
@PaulRBerg
Paul Razvan Berg
1 year
I love the EVM - my life's work is attached to it. But I don't believe for one second that the EVM will be the final word in smart contract platforms. In fact, I'm skeptical about its relevance in its current architecture even a decade from now.
56
56
487
@PaulRBerg
Paul Razvan Berg
2 years
Here's a thread with all the Solidity tips I shared on Twitter over the years. Some of you will find these obvious, but I think that a greater majority will find them useful. 1/12
19
97
436
@PaulRBerg
Paul Razvan Berg
2 years
Genuinely curious what would happen if someone sent Tornado-tainted USDC to the USDC contract itself and to the address that can blacklist USDC addresses? Will they blacklist themselves? 😂
Tweet media one
20
30
443
@PaulRBerg
Paul Razvan Berg
3 years
If you're in your teens and thinking over going to college, don't. Come join us in crypto and build wealth for yourself and the world. I dropped out 3 yrs ago and it's one of the best calls I ever made. I escaped the grip of the woke left, avoided debt, and discovered Ethereum.
43
38
424
@PaulRBerg
Paul Razvan Berg
2 years
I carried out an experiment and weaned myself off caffeine for 4 months. The conclusion is clear. One can be productive without it, but there's an unmistakable boost in mental sharpness when drinking coffee. So long as I have creative work to do, I won't ever quit again.
49
8
428
@PaulRBerg
Paul Razvan Berg
2 years
Airdropped tokens should be vested.
50
29
390
@PaulRBerg
Paul Razvan Berg
4 years
I feel closer to Ethereum than my home country.
17
41
386
@PaulRBerg
Paul Razvan Berg
3 years
A common mistake devs make when learning Solidity: Writing smart contracts as if they were databases. They are not. Contracts are mission-critical scripts that cost money to deploy and interact with. Anything that can be done off-chain should be done there.
10
54
364
@PaulRBerg
Paul Razvan Berg
2 years
As we get closer to The Merge, we should all take a moment to salute the 100+ people who had given their blood, sweat and tears to make this happen. Ethereum's transition to PoS is a considerable feat of engineering, and a significant milestone in the history of crypto.
11
56
366
@PaulRBerg
Paul Razvan Berg
2 years
Random Solidity tip. You probably knew that you can initialize structs with key-value mappings, but did you know that you can do that with function calls, too?
Tweet media one
28
42
354
@PaulRBerg
Paul Razvan Berg
1 year
Coinbase Pro was the best trading product shipped by @Coinbase , ever. Such a shame they deprecated it. The current UI is awful.
42
17
340
@PaulRBerg
Paul Razvan Berg
4 years
It took me 5 years of entrepreneurship and many attempts to get something right. My heart goes to you, the Ethereum community, for your support. I'm now joining @Mainframe_HQ and I'm excited to keep contributing to decentralised finance.
@Sablier
Sablier
4 years
We are happy to announce that Sablier has been acquired by @Mainframe_HQ .
13
15
150
56
15
318
@PaulRBerg
Paul Razvan Berg
3 years
Solidity tip: You can define functions outside of contracts. These are called "free functions".
Tweet media one
13
24
324
@PaulRBerg
Paul Razvan Berg
1 year
Potentially hot take: zkEVMs will go down in history as one of the most overrated concepts in all of crypto.
42
21
303
@PaulRBerg
Paul Razvan Berg
2 years
Fixed-rate, fixed-term lending on Polygon✌️
@HifiFinance
Hifi Finance
2 years
And... we are live on @0xPolygon ! 🎉
6
62
314
20
101
275
@PaulRBerg
Paul Razvan Berg
4 years
Sum-up of a convo I had with my bank today: Bank: "What is your usual source of income, Mr. Berg?" Me: "Software engineering. I'm paid in stablecoins - digital dollars that exist on the Ethereum blockchain." Bank: "If I am right your main source of income is betting/ gambling"
18
25
281
@PaulRBerg
Paul Razvan Berg
5 months
1/ PSA for Solidity devs: → If your current compiler version is between 0.8.13 and 0.8.21, and ... → You have via-IR enabled, and ... → You're using symlinks for managing dependencies (e.g. with PNPM) You'll want to upgrade to Solidity v0.8.22 or later, and read on below 👇
13
66
288
@PaulRBerg
Paul Razvan Berg
10 months
Sneak peak for my EthCC talk tomorrow.
Tweet media one
Tweet media two
Tweet media three
Tweet media four
15
22
270
@PaulRBerg
Paul Razvan Berg
8 months
These diagrams are the best explainers of the Ethereum block and state structure I have ever seen. The first part needs to be updated for PoS, but it is still informative. Credits to StackExchange user Lee:
Tweet media one
Tweet media two
7
48
249
@PaulRBerg
Paul Razvan Berg
2 years
1/ Now that @HifiFinance is live, I can talk about why I think our Solidity+TypeScript code repository is best-in-class. A thread on smart contract testing, code coverage, NatSpec docs, and best practices for software design in general.
10
72
255
@PaulRBerg
Paul Razvan Berg
3 years
I rarely talk about price action but this ETH pump is well-deserved. It's the accumulation of years and years of quiet building. Very proud of our global community.
3
13
246
@PaulRBerg
Paul Razvan Berg
3 years
Just crossed $100M TVL in @SablierHQ . This is insane.
Tweet media one
20
19
248
@PaulRBerg
Paul Razvan Berg
3 years
Random Solidity tips: 1️⃣ Use "type(uint256).max" instead of "uint256(-1)" 2️⃣ Surround code with {} to avoid "stack too deep" 3️⃣ Skip tuple vars with commas: "uint a, , ," 4️⃣ Swap vars in one line: "(a,b)=(b,a)" 5️⃣ Use "assert" and get built-in formal verification with SMTChecker
17
44
249
@PaulRBerg
Paul Razvan Berg
3 years
create-eth-app just passed 1,000 stars on GitHub ✨ This is my first open-source project that got this popular. Thanks for using it and helping me improving it 🙏
Tweet media one
5
20
252
@PaulRBerg
Paul Razvan Berg
2 years
At a cost of $1,600 per ETH and 20 gwei per gas unit, your users are paying ~$0.28 more for every revert operation in your contract that uses a reason string instead of a custom error. Consider switching to custom errors.
13
35
251
@PaulRBerg
Paul Razvan Berg
5 years
1/ Thrilled to announce the launch of @SablierApp ⏳ It's a decentralised app for continuous payments. Up to you to decide what to use it for, but works best for paying salaries by the minute 💸 Check it out at 🚀
17
54
240
@PaulRBerg
Paul Razvan Berg
10 months
Branching Tree Technique:
Tweet media one
Tweet media two
Tweet media three
Tweet media four
18
34
237
@PaulRBerg
Paul Razvan Berg
2 years
Random Solidity tip. Use ASCII box-drawing characters to visually group together the struct members that will get packed in one single 32 byte slot by Solidity.
Tweet media one
15
21
234
@PaulRBerg
Paul Razvan Berg
6 months
1/ I'm taking >50 pills a day (mostly supplements) to improve my overall health and cognitive function. This thread aggregates all of my recommendations in case you will find any one of them helpful.
Tweet media one
55
15
230
@PaulRBerg
Paul Razvan Berg
4 years
Your reputation is the highest-quality yield that you can farm. It compounds itself over the years and nobody can fork it.
7
22
222
@PaulRBerg
Paul Razvan Berg
3 years
1/ It's finally out! Introducing PRBMath, a smart contract library for advanced fixed-point math. - Operates with signed and unsigned denary numbers, with 18 decimals of precision - Offers logs, exp, pow, and more - Gas efficient, but still user-friendly
14
45
225
@PaulRBerg
Paul Razvan Berg
9 months
Solidity is an awesome programming language
34
15
220
@PaulRBerg
Paul Razvan Berg
1 year
🔥⚒️ PRBMath V3 is live 🔥⚒️ This is the most significant iteration on my Solidity library for advanced fixed-point math. What's new: - User defined value types SD59x18 and UD60x18 - Free functions - Migration to Foundry - Various optimizations 1/7
10
53
216
@PaulRBerg
Paul Razvan Berg
1 year
The cleanest way to solve Stack Too Deep is to wrap your function params and local variables in structs.
Tweet media one
16
21
214
@PaulRBerg
Paul Razvan Berg
3 years
Startup idea: Website where I can upload a Solidity contract and have it deployed to multiple EVM chains with the same deterministic address. I'd pay for this service (on top of the gas fees).
20
16
215
@PaulRBerg
Paul Razvan Berg
3 years
. @SablierHQ has just joined the three comma club in DeFi.
Tweet media one
19
21
212
@PaulRBerg
Paul Razvan Berg
3 years
Devs working outside of crypto are missing out on the joy of not having to handle user sign ups. Dapps don't need emails, salts, passwords or forgot password flows. Checking if the web3 API is injected is all that it takes.
17
22
210
@PaulRBerg
Paul Razvan Berg
2 years
A simple piece of advice that will get you a long way as a Solidity developer: Be paranoid when writing your contracts.
7
31
208
@PaulRBerg
Paul Razvan Berg
3 years
A developer is worth a thousand retail investors.
10
24
205
@PaulRBerg
Paul Razvan Berg
2 months
Incredibly proud of our team and what we have been able to achieve in 2023 and 2024.
@Sablier
Sablier
2 months
We're incredibly happy to announce our $4.5M seed round!
28
37
269
44
3
213
@PaulRBerg
Paul Razvan Berg
3 years
Hypothesis: the longer you keep writing Solidity for a living, the more paranoid you become in general.
10
9
208
@PaulRBerg
Paul Razvan Berg
10 months
1/ Now that @Sablier V2 is live, I would like to offer you a technical presentation of some of the key principles that went into building V2 Core. I think we have one of the most robust codebases in web3 at the moment.
13
33
209
@PaulRBerg
Paul Razvan Berg
3 years
Dot-Eth is the new Dot-Com.
6
16
191
@PaulRBerg
Paul Razvan Berg
3 years
DeFi is more American than Wall Street.
8
13
180
@PaulRBerg
Paul Razvan Berg
3 years
Friendly tip to the new kids on the block: If Solidity is your first programming language, ever, don't worry about gas costs. Focus on making your code as secure as it can be. Then, with time, you can tinker with gas optimizations.
9
19
194
@PaulRBerg
Paul Razvan Berg
2 years
Iterating over an array in Solidity? You can save a little bit of gas by pre-declaring the variables you use for reading elements from the array.
Tweet media one
15
16
199
@PaulRBerg
Paul Razvan Berg
1 year
Random Solidity tip. You can pass functions as arguments - function types exist in Solidity.
Tweet media one
17
19
195
@PaulRBerg
Paul Razvan Berg
3 years
Over the years, I've seen loads of people losing their ERC-20 tokens forever by accidentally making a transfer to the ERC-20 contract itself. We should fix this - Ethereum wallets should prohibit this transaction type at the UI level.
13
14
186
@PaulRBerg
Paul Razvan Berg
6 months
Anyone feel like this Devconnect was one of the best crypto conferences ever?
25
9
192
@PaulRBerg
Paul Razvan Berg
2 years
🔥⚒️ NEW FOUNDRY TEMPLATE 🔥⚒️ Been working on this for a while. + PRBTest + Forge Std + Solidity Scripting + Solhint + Prettier + GitHub Actions + Conventional Commits + Lots of sensible defaults It's fairly opinionated, but also robust.
10
32
191
@PaulRBerg
Paul Razvan Berg
15 days
You can use the Horswap UI to avoid Uniswap's frontend fee and user trackers.
Tweet media one
10
11
193
@PaulRBerg
Paul Razvan Berg
1 year
I've recently changed the position of my VSCode sidebar to the right, and I like it a lot. For people who read from left to right, this is awesome.
Tweet media one
34
5
187
@PaulRBerg
Paul Razvan Berg
1 year
Gm to all Solidity devs except those who haven't switched to Foundry yet
19
12
187
@PaulRBerg
Paul Razvan Berg
7 months
Solidity v0.8.22 dropped today. We can say goodbye to the ugly "unchecked { ++i; }" syntax when using for loops. The compiler will apply unchecked arithmetic by default.
Tweet media one
10
20
182
@PaulRBerg
Paul Razvan Berg
1 year
Proposed Solidity best practice: Organize your unit tests by using a state tree. Start by defining the parent nodes as the specific state conditions that drive the behavior of the smart contract. Then, use empty modifiers to implement the tree, like this:
Tweet media one
7
24
177
@PaulRBerg
Paul Razvan Berg
4 years
Create Eth App v1.1.0 is out ✨ This version brings you four #DeFi templates with pre-filled contract ABIs, addresses and subgraphs. 👻 create-eth-app --template aave 📈 create-eth-app --template compound ⏳ create-eth-app --template sablier 🦄 create-eth-app --template uniswap
9
29
173
@PaulRBerg
Paul Razvan Berg
1 year
Here's a Foundry script for deploying a contract at a deterministic address on all EVM chains.
Tweet media one
9
21
172
@PaulRBerg
Paul Razvan Berg
4 years
Struggling w/ a bug in your dapp? Book me w/ @SablierHQ ! I spent a lot of time coding in Solidity, Truffle, React & Ethers.js 💯First few mins are free so I understand the bug 💸Afterwards, you stream me money If I'm not helpful, you can minimise the loss by cancelling early.
8
14
168
@PaulRBerg
Paul Razvan Berg
2 years
An awesome new feature added in Solidity v0.8.11 is "abi.encodeCall". It's the same as the good old "abi.encodeWithSelector", but in addition it performs type checks.
Tweet media one
Tweet media two
8
28
170
@PaulRBerg
Paul Razvan Berg
5 months
Lots of folks have permanently lost their ERC-20 tokens by accidentally sending them to the ERC-20 contract itself. Ethereum wallets really need to block these transactions at the UI level.
25
12
171
@PaulRBerg
Paul Razvan Berg
3 years
Now this is cool. It's possible to use Hardhat's "console.log" directly in @EthereumRemix . Life keeps gettin' better as an Ethereum dev.
Tweet media one
Tweet media two
5
20
167
@PaulRBerg
Paul Razvan Berg
3 years
Kudos to everyone who helped make a freaking awesome website. It used to be a plain landing page - now it's a repository of high-quality articles, with a sleek design. You know where to point people who want to learn Ethereum.
7
28
164
@PaulRBerg
Paul Razvan Berg
1 year
Ok so I just spent only a few minutes skimming through the Solady codebase, but I can confidently say that this is the most impressive Solidity repository I have ever seen. Shout out to @optimizoor and contributors. This is great work.
7
18
166
@PaulRBerg
Paul Razvan Berg
4 years
Solidity tips I wish I was told on my first day: 1️⃣ Be wary of {over,under}flows 2️⃣ Use a math library instead of the native operators 3️⃣ Yet, don't roll your own math library 4️⃣ Use checks-effects-interactions 5️⃣ Develop a sixth sense for reentrancy 6️⃣ Avoid loops when possible
8
22
163
@PaulRBerg
Paul Razvan Berg
4 years
1/ After a few weekends in stealth mode, I and @ZipfelKaden are incredibly happy to launch Create Eth App today 🚀 This is a CLI tool to create Ethereum-powered React apps with one command🔷⚛️ Try it out: "yarn create eth-app my-eth-app" 💻
Tweet media one
2
36
168
@PaulRBerg
Paul Razvan Berg
3 years
I love the @coingecko API: + Clean documentation + Always up-to-date prices + Rapid listing of new coins + Free of charge It's the perfect data solution for a portfolio tracking spreadsheet.
10
7
166
@PaulRBerg
Paul Razvan Berg
1 year
Random Foundry tip. You don't need a custom ERC-20 token with infinite minting methods. You can just use the "deal" cheatcode available in forge-std to mint as many tokens you want in any ERC-20 contract.
Tweet media one
15
16
161
@PaulRBerg
Paul Razvan Berg
3 years
I have a hunch that some of the projects hacked during @ETHLisbon will become household names in crypto in a few years time.
12
7
161
@PaulRBerg
Paul Razvan Berg
4 years
Aaaand it's happened! I'm one of the first people ever to receive an under-collateralised loan on Etheruem. I convinced @pet3rpan_ to lend me 200 DAI by proving him that I'm being paid in real-time on @SablierHQ . See stream with id 20 below.
@PaulRBerg
Paul Razvan Berg
4 years
@SablierHQ @AlexMasmej @pet3rpan_ now that you can see the money being streamed to me and you know that @SablierHQ is a reputable org that doesn't fire its founders, would you lend me 10% of the stream's worth? I'll pay it back when I get all of the locked up money, that is, on March 11.
4
0
12
10
26
160
@PaulRBerg
Paul Razvan Berg
3 years
@ashleighschap Nothing prevents anyone, of any age or gender, from entering crypto. One only needs an Internet connection to become a developer or partake in the governance of a protocol. What causes the asymmetry is the different *interests* men and women have, at the *population level*.
11
2
153
@PaulRBerg
Paul Razvan Berg
4 years
I put together a GitHub template for my favourite Solidity setup: + Buidler + Typechain + Ethers + Waffle + Solhint + Solcover You can fork this once and reuse it infinite times, thanks to the latest template picker in the repo creation UI.
11
23
160
@PaulRBerg
Paul Razvan Berg
6 months
How I eat 80% of the time: - 10+ servings of vegetables - 150g+ of protein: eggs, cheese, salmon, and chicken - Extra virgin olive oil drizzled on (almost) everything - Nuts and fruits (as snacks) - 1-2 meals and 1-2 snacks per day - Biweekly 36-hour fasts
Tweet media one
Tweet media two
Tweet media three
Tweet media four
32
12
157
@PaulRBerg
Paul Razvan Berg
3 years
If you're low on money, get a job. If you have some spare cash, quit your job and go build something. If you're well-off, either continue building or go out of your way to help builders.
9
20
156
@PaulRBerg
Paul Razvan Berg
1 year
A simple visual guide for how to use "fallback" and "receive" in modern Solidity:
Tweet media one
3
19
162
@PaulRBerg
Paul Razvan Berg
3 years
Feature request for Coinbase, Kraken and friends: Let me withdraw directly to @0xPolygon and @xdaichain .
5
14
145
@PaulRBerg
Paul Razvan Berg
2 years
Need to check if two integers have the same sign in Solidity? Here's the most gas efficient way to do it:
Tweet media one
11
14
152
@PaulRBerg
Paul Razvan Berg
4 years
Corporations like PayPal will gradually turn into UIs for accessing DeFi.
6
9
147
@PaulRBerg
Paul Razvan Berg
2 years
In Solidity v0.8 ... Rookies still use SafeMath. Normies don't use SafeMath, but they neither use unchecked arithmetic. Experts go one step further and selectively wrap calculations in an "unchecked" block to save >100 gas per operation.
9
14
151
@PaulRBerg
Paul Razvan Berg
6 months
Once we all switch to Sepolia, could we plz stop deprecating testnets? 😅
Tweet media one
13
7
144
@PaulRBerg
Paul Razvan Berg
3 years
CoinGecko + Nansen + MetaMask = Bloomberg Terminal for the cool kids.
6
13
150
@PaulRBerg
Paul Razvan Berg
4 years
How to do founder vesting web3 style: 🖨️ Mint the company shares as ERC20 tokens 💳 Assign it all to a 1-of-n multisig ⏳ For each founder, create a @SablierHQ stream w/ their equity allocation & set the duration to 4 years If a founder leaves, anyone can cancel their stream.
15
23
145
@PaulRBerg
Paul Razvan Berg
8 months
That zero-knowledge proofs are possible at all is a pretty astonishing fact IMO
9
10
146
@PaulRBerg
Paul Razvan Berg
10 months
scaffold-eth 🤝 create-eth-app
Tweet media one
4
3
147
@PaulRBerg
Paul Razvan Berg
8 months
I think it's important for crypto founders to also be crypto users. If we're not using our own products, nobody will.
15
11
146
@PaulRBerg
Paul Razvan Berg
4 months
The token distribution curves available in the Sablier UI. Use them for vesting, payroll, airdrops, and more.
Tweet media one
17
17
144