Binance Square
EthanValeX
1.8k Publicaciones

EthanValeX

Sharing market insights, real-world DCA & futures strategies. No hype. No FOMO. Just discipline. Follow me.
Holder de U
Holder de U
Trader frecuente
6 año(s)
122 Siguiendo
514 Seguidores
1.6K+ Me gusta
Publicaciones
·
--
Late last night, I finally got around to trying Babylon's Trustless Bitcoin Vault testnet. I was curious whether native Bitcoin-backed borrowing would actually feel any different once I stopped reading the docs and started clicking through the flow. The flow itself was surprisingly uneventful. I minted testnet BTC, locked it into a vault, borrowed through Aave v4, and closed the tab thinking I'd seen what Babylon wanted me to see. No wrapping, no bridge, just native Bitcoin staying where it was. Then I opened CreatorPad. 34,650 people were already on the leaderboard, competing for a share of the 1,195,000 $BABY reward pool, and I spent longer looking at that number than I did looking at the borrowing flow. At first, it felt slightly odd. TBV is built around native Bitcoin-backed borrowing, yet the people trying it first are probably creators, curious builders, and point hunters rather than Bitcoin holders looking for liquidity. Maybe that's obvious. Maybe I'm reading too much into a leaderboard. Still, I couldn't shake the feeling that I had just finished testing the product, while the campaign was testing something else entirely. I used to think incentive campaigns were mostly about attracting users. After spending time with the testnet, I'm starting to wonder if they're also about exposing weak spots while the stakes are still low. That wasn't what I expected to take away from the testnet. $LAB $BABY {future}(BABYUSDT) @babylonlabs_io #baby
Late last night, I finally got around to trying Babylon's Trustless Bitcoin Vault testnet. I was curious whether native Bitcoin-backed borrowing would actually feel any different once I stopped reading the docs and started clicking through the flow.
The flow itself was surprisingly uneventful. I minted testnet BTC, locked it into a vault, borrowed through Aave v4, and closed the tab thinking I'd seen what Babylon wanted me to see. No wrapping, no bridge, just native Bitcoin staying where it was.
Then I opened CreatorPad.
34,650 people were already on the leaderboard, competing for a share of the 1,195,000 $BABY reward pool, and I spent longer looking at that number than I did looking at the borrowing flow.
At first, it felt slightly odd.
TBV is built around native Bitcoin-backed borrowing, yet the people trying it first are probably creators, curious builders, and point hunters rather than Bitcoin holders looking for liquidity.
Maybe that's obvious. Maybe I'm reading too much into a leaderboard.
Still, I couldn't shake the feeling that I had just finished testing the product, while the campaign was testing something else entirely.
I used to think incentive campaigns were mostly about attracting users. After spending time with the testnet, I'm starting to wonder if they're also about exposing weak spots while the stakes are still low.
That wasn't what I expected to take away from the testnet.
$LAB $BABY
@BabylonLabs_io #baby
Long $KOMA {future}(KOMAUSDT) Entry 0.0237 - 0.0238 Stop Loss Dưới 0.0228. Take Profit TP1: 0.0248 TP2: 0.0263 TP3: 0.0285 nếu phá đỉnh thành công. R:R 1:2 đến 1:3
Long $KOMA
Entry
0.0237 - 0.0238
Stop Loss
Dưới 0.0228.
Take Profit
TP1: 0.0248
TP2: 0.0263
TP3: 0.0285 nếu phá đỉnh thành công.
R:R 1:2 đến 1:3
Verificado
Went through Babylon's co-staking examples over coffee and kept landing on the same number. 20,000. Closed the tab to answer a few messages, came back, and every example still seemed to circle back to it. #baby @babylonlabs_io Whether the docs started with 0.1 BTC paired with 2,000 BABY, 0.5 BTC with 10,000 BABY, or 1 BTC with 20,000 BABY, they all pointed toward the same ratio. I was convinced I'd missed another rule until the final example paired 1 BTC with 40,000 BABY, yet the co-staking weight stayed exactly the same because the optimal ratio had already been reached. That was the point where I stopped looking for another formula and started wondering why the examples were designed that way in the first place. Most staking systems quietly encourage adding more capital because more usually means better rewards. Babylon does something subtler. Even though the additional co-staking rewards come from 2.35% annual inflation, the mechanism keeps leading participants back toward the same BTC-to-BABY ratio instead of rewarding whoever simply commits the largest BABY position. The more I looked at those examples, the less they felt like reward calculations and the more they felt like the protocol nudging two different communities toward the same equilibrium. Makes me wonder if 20,000 isn't really a reward ratio at all. It feels more like Babylon's way of coordinating Bitcoin holders and BABY holders without ever having to say that's what it's doing. $LAB $BABY {spot}(BABYUSDT)
Went through Babylon's co-staking examples over coffee and kept landing on the same number. 20,000. Closed the tab to answer a few messages, came back, and every example still seemed to circle back to it.
#baby @BabylonLabs_io
Whether the docs started with 0.1 BTC paired with 2,000 BABY, 0.5 BTC with 10,000 BABY, or 1 BTC with 20,000 BABY, they all pointed toward the same ratio. I was convinced I'd missed another rule until the final example paired 1 BTC with 40,000 BABY, yet the co-staking weight stayed exactly the same because the optimal ratio had already been reached. That was the point where I stopped looking for another formula and started wondering why the examples were designed that way in the first place.
Most staking systems quietly encourage adding more capital because more usually means better rewards. Babylon does something subtler. Even though the additional co-staking rewards come from 2.35% annual inflation, the mechanism keeps leading participants back toward the same BTC-to-BABY ratio instead of rewarding whoever simply commits the largest BABY position.
The more I looked at those examples, the less they felt like reward calculations and the more they felt like the protocol nudging two different communities toward the same equilibrium.
Makes me wonder if 20,000 isn't really a reward ratio at all. It feels more like Babylon's way of coordinating Bitcoin holders and BABY holders without ever having to say that's what it's doing.
$LAB $BABY
Spent some time in Babylon's Trustless Bitcoin Vault testnet today, half expecting the borrowing flow to be the part I'd remember. It wasn't. Minted 0.10 testnet BTC, locked 0.08 BTC into a vault, borrowed 0.05 BTC through Aave, and the whole flow worked pretty much the way I'd expected. I even glanced at the 2.31 health factor, closed the confirmation window, and thought I was done. The moment that stayed with me wasn't borrowing at all. It was noticing vaultBTC afterward and instinctively clicking on it before I even knew what I was looking for. Nobody had told me to click "Send". I just assumed that was what came next. I clicked around for a bit before opening the docs, convinced I'd missed something. The docs confirmed I hadn't misunderstood anything. vaultBTC was never meant to be the part that moved. Looking back, it's funny that I never asked whether vaultBTC needed to move at all. I saw a new token and immediately started looking for the next place to send it. Nothing in the product suggested that should be my next step. I simply assumed it was. That realization stayed with me longer than the borrowing flow itself. I wasn't really learning how vaultBTC worked. I was noticing how quickly I'd projected years of DeFi habits onto something built around a different assumption. Makes me wonder how many things we think are "intuitive" in crypto are really just habits we've repeated for long enough. $LAB @babylonlabs_io $BABY #baby
Spent some time in Babylon's Trustless Bitcoin Vault testnet today, half expecting the borrowing flow to be the part I'd remember.
It wasn't.
Minted 0.10 testnet BTC, locked 0.08 BTC into a vault, borrowed 0.05 BTC through Aave, and the whole flow worked pretty much the way I'd expected. I even glanced at the 2.31 health factor, closed the confirmation window, and thought I was done.
The moment that stayed with me wasn't borrowing at all. It was noticing vaultBTC afterward and instinctively clicking on it before I even knew what I was looking for.
Nobody had told me to click "Send". I just assumed that was what came next.
I clicked around for a bit before opening the docs, convinced I'd missed something. The docs confirmed I hadn't misunderstood anything. vaultBTC was never meant to be the part that moved.
Looking back, it's funny that I never asked whether vaultBTC needed to move at all. I saw a new token and immediately started looking for the next place to send it. Nothing in the product suggested that should be my next step. I simply assumed it was.
That realization stayed with me longer than the borrowing flow itself. I wasn't really learning how vaultBTC worked. I was noticing how quickly I'd projected years of DeFi habits onto something built around a different assumption.
Makes me wonder how many things we think are "intuitive" in crypto are really just habits we've repeated for long enough.
$LAB @BabylonLabs_io $BABY #baby
I reopened Babylon's Trustless Bitcoin Vaults (TBV) testnet today because I couldn't remember where my BTC was supposed to stop being... BTC. Sounds like a strange thing to forget, but the funny part was that I couldn't find that moment the second time either. I even clicked back because I thought I'd skipped a confirmation screen, then ran through the flow again a little more slowly. I never found it. I went back to the docs and opened the testnet again. After a while, I wasn't even sure what I thought I'd missed anymore. I just kept feeling that there had to be another step somewhere, even though I couldn't really explain what I expected to see. I'm still going back through the documentation, so there's every chance I'm looking at this the wrong way. Still, that was the part that stayed with me after I closed the tab. I kept waiting for something that never showed up, and maybe I've just gotten used to looking for that step whenever I try a new Bitcoin borrowing product. No strong conclusion yet. The borrowing itself wasn't what stayed with me. It was realizing how naturally I'd assumed Bitcoin had to become something else before it could do anything useful. Maybe I'd been carrying that assumption around for longer than I realized. Could just be me. Curious if anyone else who tried the TBV testnet walked away thinking about a completely different part of the experience than they expected. I'd love to compare notes. $LAB $BABY @babylonlabs_io #baby
I reopened Babylon's Trustless Bitcoin Vaults (TBV) testnet today because I couldn't remember where my BTC was supposed to stop being... BTC.
Sounds like a strange thing to forget, but the funny part was that I couldn't find that moment the second time either. I even clicked back because I thought I'd skipped a confirmation screen, then ran through the flow again a little more slowly.
I never found it.
I went back to the docs and opened the testnet again. After a while, I wasn't even sure what I thought I'd missed anymore. I just kept feeling that there had to be another step somewhere, even though I couldn't really explain what I expected to see.
I'm still going back through the documentation, so there's every chance I'm looking at this the wrong way.
Still, that was the part that stayed with me after I closed the tab. I kept waiting for something that never showed up, and maybe I've just gotten used to looking for that step whenever I try a new Bitcoin borrowing product.
No strong conclusion yet.
The borrowing itself wasn't what stayed with me.
It was realizing how naturally I'd assumed Bitcoin had to become something else before it could do anything useful.
Maybe I'd been carrying that assumption around for longer than I realized.
Could just be me.
Curious if anyone else who tried the TBV testnet walked away thinking about a completely different part of the experience than they expected. I'd love to compare notes.

$LAB $BABY @BabylonLabs_io #baby
Verificado
The more I read about Bitcoin bridges, the less convinced I am that speed and fees are the most meaningful comparison. Those metrics matter, but only after Bitcoin has already been represented somewhere outside its native chain. The more I looked at Babylon's Trustless Bitcoin Vaults (TBV), the more it seemed that the earlier design choice is the one that deserves more attention. Most bridge-based systems begin by creating another representation of Bitcoin before it can be used as collateral. Once that representation becomes the foundation of the borrowing process, improving liquidity is largely about making that new asset more efficient to use. TBV takes a different path. Native BTC remains in self-custody while liquidity is sourced through Aave, so borrowing does not begin with wrapped Bitcoin becoming the collateral. It begins with proving that the original BTC can securely support borrowing without leaving Bitcoin. That also shifts where the system carries its assumptions. The collateral is no longer another representation of Bitcoin, so the verification layer becomes the part that has to consistently prove the model works. The dependency has not disappeared. It has simply moved. For me, that changes the comparison entirely. The more interesting question is no longer which design expands Bitcoin liquidity more efficiently. It is which design asks users to accept fewer new trust assumptions before their Bitcoin becomes productive. @babylonlabs_io $LAB $BABY #baby Which matters more for Bitcoin lending?
The more I read about Bitcoin bridges, the less convinced I am that speed and fees are the most meaningful comparison. Those metrics matter, but only after Bitcoin has already been represented somewhere outside its native chain. The more I looked at Babylon's Trustless Bitcoin Vaults (TBV), the more it seemed that the earlier design choice is the one that deserves more attention.
Most bridge-based systems begin by creating another representation of Bitcoin before it can be used as collateral. Once that representation becomes the foundation of the borrowing process, improving liquidity is largely about making that new asset more efficient to use.
TBV takes a different path. Native BTC remains in self-custody while liquidity is sourced through Aave, so borrowing does not begin with wrapped Bitcoin becoming the collateral. It begins with proving that the original BTC can securely support borrowing without leaving Bitcoin.
That also shifts where the system carries its assumptions. The collateral is no longer another representation of Bitcoin, so the verification layer becomes the part that has to consistently prove the model works. The dependency has not disappeared. It has simply moved.
For me, that changes the comparison entirely. The more interesting question is no longer which design expands Bitcoin liquidity more efficiently. It is which design asks users to accept fewer new trust assumptions before their Bitcoin becomes productive.
@BabylonLabs_io $LAB $BABY #baby
Which matters more for Bitcoin lending?
Faster bridges
0%
Native BTC stays on Bitcoin
100%
Better capital efficiency
0%
Fewer trust assumptions
0%
1 Voto(s) • Votación cerrada
I found myself back on Babylon's TBV testnet today. Not because anything went wrong. I just couldn't shake the feeling that I'd missed something the first time. So I went through the flow again. The strange part is I still couldn't work out what I thought I'd skipped. I even clicked back once because I was convinced there had to be another step hiding somewhere. There wasn't. It took me a while to realize I wasn't looking for another screen at all. Maybe I've just gotten used to certain Bitcoin DeFi flows over the years. You use BTC, then somewhere along the way it changes form, moves somewhere else, or takes one more step before anything interesting can happen. After a while, you stop noticing that's what you're expecting. This time I just... kept waiting for a step that never seemed to arrive. I'm still making my way through the docs, so I don't want to pretend I've figured out the architecture. No strong conclusion yet. Just feels like I walked into the testnet expecting one flow and walked out wondering why I expected it in the first place. Could just be me. If you've been trying the TBV testnet as well, I'd love to compare notes. Curious whether there was one small part of the flow that stayed in your head after you closed the tab. @babylonlabs_io $LAB $BABY #baby
I found myself back on Babylon's TBV testnet today.
Not because anything went wrong.
I just couldn't shake the feeling that I'd missed something the first time.
So I went through the flow again.
The strange part is I still couldn't work out what I thought I'd skipped. I even clicked back once because I was convinced there had to be another step hiding somewhere.
There wasn't.
It took me a while to realize I wasn't looking for another screen at all.
Maybe I've just gotten used to certain Bitcoin DeFi flows over the years. You use BTC, then somewhere along the way it changes form, moves somewhere else, or takes one more step before anything interesting can happen. After a while, you stop noticing that's what you're expecting.
This time I just... kept waiting for a step that never seemed to arrive.
I'm still making my way through the docs, so I don't want to pretend I've figured out the architecture.
No strong conclusion yet.
Just feels like I walked into the testnet expecting one flow and walked out wondering why I expected it in the first place.
Could just be me.
If you've been trying the TBV testnet as well, I'd love to compare notes. Curious whether there was one small part of the flow that stayed in your head after you closed the tab.
@BabylonLabs_io $LAB $BABY #baby
One sentence in Babylon's Trustless Bitcoin Vaults documentation kept bothering me. It never explains how Bitcoin can understand Ethereum. It explains why Bitcoin never needs to. That sounded like a limitation until I noticed the same idea appearing throughout the architecture. TBV isn't trying to give Bitcoin more context about another blockchain. It's deliberately removing context before anything reaches Bitcoin, preserving the assumption that Bitcoin should only judge what it already knows how to judge. Once I looked at the design through that lens, several pieces suddenly clicked together. Ethereum continues running the lending application because that's where the application belongs. Aave still relies on a restricted vaultBTC representation because its own contracts need collateral they can process. None of those decisions are pushed back to Bitcoin. By the time information returns to the Bitcoin side, the application has already disappeared, leaving only a cryptographic claim that Bitcoin can verify under the vault's predefined rules. That sequence feels more important than the borrowing flow itself. The architecture isn't asking Bitcoin to trust Ethereum. It isn't asking Bitcoin to understand Ethereum, either. It's asking Bitcoin to verify a proof while everything else stays on the chain that produced it. I started reading TBV expecting another approach to bringing Bitcoin into DeFi. Instead, I found a protocol that treats not adding new responsibilities to Bitcoin as the starting point rather than the compromise. Looking back, that single design choice explains almost every other decision in the architecture, from how collateral is represented on Ethereum to how native BTC remains governed on Bitcoin. @babylonlabs_io $BANK $BABY #baby
One sentence in Babylon's Trustless Bitcoin Vaults documentation kept bothering me.
It never explains how Bitcoin can understand Ethereum.
It explains why Bitcoin never needs to.
That sounded like a limitation until I noticed the same idea appearing throughout the architecture. TBV isn't trying to give Bitcoin more context about another blockchain. It's deliberately removing context before anything reaches Bitcoin, preserving the assumption that Bitcoin should only judge what it already knows how to judge.
Once I looked at the design through that lens, several pieces suddenly clicked together.
Ethereum continues running the lending application because that's where the application belongs. Aave still relies on a restricted vaultBTC representation because its own contracts need collateral they can process. None of those decisions are pushed back to Bitcoin. By the time information returns to the Bitcoin side, the application has already disappeared, leaving only a cryptographic claim that Bitcoin can verify under the vault's predefined rules.
That sequence feels more important than the borrowing flow itself.
The architecture isn't asking Bitcoin to trust Ethereum.
It isn't asking Bitcoin to understand Ethereum, either.
It's asking Bitcoin to verify a proof while everything else stays on the chain that produced it.
I started reading TBV expecting another approach to bringing Bitcoin into DeFi.
Instead, I found a protocol that treats not adding new responsibilities to Bitcoin as the starting point rather than the compromise. Looking back, that single design choice explains almost every other decision in the architecture, from how collateral is represented on Ethereum to how native BTC remains governed on Bitcoin.
@BabylonLabs_io $BANK $BABY #baby
I kept staring at one small part of Babylon’s testnet today. Not the headline. Not the borrowing amount. Just the part where I expected my BTC to stop being native BTC for a second. That moment never really showed up. I know that probably sounds too simple, but it was the first thing that felt different to me. For a long time, Bitcoin DeFi has felt like it starts with a conversion step. Wrap it. Bridge it. Hand it off. Do something to it first, then let it work somewhere else. This time, I kept waiting for that step and never found a version of it that felt central. Maybe I am reading too much into a testnet flow. I probably am. I have only been going back through the docs and the product experience, so I am sure there are pieces I have not fully connected yet. Still, that was the part I could not stop thinking about after I finished. Not the borrowing itself. Just the fact that the borrowing flow seemed to care less about moving Bitcoin and more about letting native BTC remain native while its collateral value becomes usable elsewhere. That is a small shift, but it changes the way the whole thing feels. I do not think I came away with a big conclusion. More like a quieter one. Maybe the interesting question is not how Bitcoin gets into DeFi. Maybe it is why we assumed it had to leave Bitcoin in the first place. Curious if anyone else who tried TBV got stuck on the same thought. @babylonlabs_io $BABY #baby
I kept staring at one small part of Babylon’s testnet today.
Not the headline. Not the borrowing amount. Just the part where I expected my BTC to stop being native BTC for a second.
That moment never really showed up.
I know that probably sounds too simple, but it was the first thing that felt different to me. For a long time, Bitcoin DeFi has felt like it starts with a conversion step. Wrap it. Bridge it. Hand it off. Do something to it first, then let it work somewhere else.
This time, I kept waiting for that step and never found a version of it that felt central.
Maybe I am reading too much into a testnet flow. I probably am. I have only been going back through the docs and the product experience, so I am sure there are pieces I have not fully connected yet.
Still, that was the part I could not stop thinking about after I finished.
Not the borrowing itself.
Just the fact that the borrowing flow seemed to care less about moving Bitcoin and more about letting native BTC remain native while its collateral value becomes usable elsewhere.
That is a small shift, but it changes the way the whole thing feels.
I do not think I came away with a big conclusion. More like a quieter one.
Maybe the interesting question is not how Bitcoin gets into DeFi.
Maybe it is why we assumed it had to leave Bitcoin in the first place.
Curious if anyone else who tried TBV got stuck on the same thought.
@BabylonLabs_io $BABY #baby
Parcialmente cierto
I used to think wrapping Bitcoin was simply the price of using it in DeFi. Every product I had tried followed roughly the same pattern. You moved your BTC first, and only then could you borrow, trade, or access liquidity. After seeing that flow enough times, I stopped asking whether it actually had to exist. That assumption stayed with me until I tried Babylon's Trustless Bitcoin Vaults (TBV) testnet. Halfway through the borrowing flow, I found myself waiting for the moment when my Bitcoin would become something else. I even restarted the process because I assumed I had missed a step. The second attempt looked exactly the same. That was when I realized the missing step was not missing at all. There was never supposed to be another version of my Bitcoin. That moment changed the way I looked at the product. The interesting part is not that TBV makes borrowing with native Bitcoin possible. The interesting part is the question it starts with. Instead of asking how Bitcoin can be moved into DeFi, it asks how DeFi can recognize the collateral value of native Bitcoin while the asset itself never leaves the Bitcoin network. At first, that sounds like a small architectural difference. The more I thought about it, the more it felt like a completely different way of approaching the problem. It shifts the focus away from transporting assets and toward proving collateral. It also makes you question whether wrapping Bitcoin was ever the destination, or simply the compromise the industry accepted because no better alternative existed. I finished the testnet with a different takeaway than I expected. Maybe Bitcoin DeFi does not need more efficient ways to move Bitcoin. Maybe it needs fewer reasons to move Bitcoin in the first place. $LAB @babylonlabs_io $BABY #baby
I used to think wrapping Bitcoin was simply the price of using it in DeFi. Every product I had tried followed roughly the same pattern. You moved your BTC first, and only then could you borrow, trade, or access liquidity. After seeing that flow enough times, I stopped asking whether it actually had to exist.
That assumption stayed with me until I tried Babylon's Trustless Bitcoin Vaults (TBV) testnet.
Halfway through the borrowing flow, I found myself waiting for the moment when my Bitcoin would become something else. I even restarted the process because I assumed I had missed a step. The second attempt looked exactly the same. That was when I realized the missing step was not missing at all. There was never supposed to be another version of my Bitcoin.
That moment changed the way I looked at the product.
The interesting part is not that TBV makes borrowing with native Bitcoin possible. The interesting part is the question it starts with. Instead of asking how Bitcoin can be moved into DeFi, it asks how DeFi can recognize the collateral value of native Bitcoin while the asset itself never leaves the Bitcoin network.
At first, that sounds like a small architectural difference. The more I thought about it, the more it felt like a completely different way of approaching the problem. It shifts the focus away from transporting assets and toward proving collateral. It also makes you question whether wrapping Bitcoin was ever the destination, or simply the compromise the industry accepted because no better alternative existed.
I finished the testnet with a different takeaway than I expected. Maybe Bitcoin DeFi does not need more efficient ways to move Bitcoin. Maybe it needs fewer reasons to move Bitcoin in the first place.
$LAB @BabylonLabs_io $BABY #baby
Verificado
I read @grvt_io ’s Earn on Equity page twice this morning because I assumed capital earning 3.5% APY could not also remain usable as margin and count toward Season 2 TVL. I even went back to the Season 2 page to check whether I had mixed up two different balances. I had not. Complete five trades within a four-week cycle, and the same Trading Account Equity can unlock yield, support open positions, and appear in the TVL snapshots used for Season 2 rewards. TVL receives 5% of weekly points. Trading volume receives 50%, open interest another 15%, while Season 2 represents 18% of GRVT’s fixed one-billion-token supply. One balance is doing three jobs. But its TVL only reports one number. That was the part I kept circling back to. When capital stays on Grvt, is it there for the 3.5% yield? Is the trader keeping margin ready for another position? Or is the balance waiting for another snapshot that could improve a future token allocation? I kept going back and forth on it. None of the three explanations made the balance less real. The same capital can generate actual yield and support actual trades while rewards still influence the decision to keep it there. With another 1.5 million $GRVT entering the same launch window through Binance Wallet missions, July 21 becomes the cleaner test. After TGE, yield and margin utility remain while the Season 2 expectation begins to matter less. Then we find out how much of Grvt’s balance was earning—and how much of it was waiting. #grvt $LAB
I read @grvt_io ’s Earn on Equity page twice this morning because I assumed capital earning 3.5% APY could not also remain usable as margin and count toward Season 2 TVL.
I even went back to the Season 2 page to check whether I had mixed up two different balances.
I had not.
Complete five trades within a four-week cycle, and the same Trading Account Equity can unlock yield, support open positions, and appear in the TVL snapshots used for Season 2 rewards.
TVL receives 5% of weekly points. Trading volume receives 50%, open interest another 15%, while Season 2 represents 18% of GRVT’s fixed one-billion-token supply.
One balance is doing three jobs.
But its TVL only reports one number.
That was the part I kept circling back to.
When capital stays on Grvt, is it there for the 3.5% yield?
Is the trader keeping margin ready for another position?
Or is the balance waiting for another snapshot that could improve a future token allocation?
I kept going back and forth on it. None of the three explanations made the balance less real.
The same capital can generate actual yield and support actual trades while rewards still influence the decision to keep it there.
With another 1.5 million $GRVT entering the same launch window through Binance Wallet missions, July 21 becomes the cleaner test.
After TGE, yield and margin utility remain while the Season 2 expectation begins to matter less.
Then we find out how much of Grvt’s balance was earning—and how much of it was waiting.
#grvt $LAB
I was looking at an old blacklist file the other day when one uncomfortable thought came up: the rule can stay exactly the same, but the world behind that rule can change overnight. A name that was not on the list yesterday may be there today. The policy logic does not move, yet the reality it reads from has already shifted. That is what made one small detail in Newton Protocol’s Privacy Flows stand out to me: latest version. At first, versioning looked like normal data management. A provider publishes a sanctions list, blacklist, risk table, or compliance dataset; every time publishData is called, a new version is created, and operators resolve the most recent confidential data when a granted client needs it. That sounds reasonable. Compliance data should not be frozen in time. If a blacklist changes, the policy should see the update, and if a risk table changes, the authorization flow should react to the new reality instead of enforcing yesterday’s view of the world. But the more I thought about it, the more “latest” felt less like freshness and more like power. In @NewtonProtocol , granted clients do not pin themselves to one explicit version. They read the most recent data, which means the same PolicyClient, the same Rego logic, and the same user can produce a different decision tomorrow because the confidential dataset underneath the policy changed today. A user may be denied not because their wallet changed, but because the dataset behind the policy changed. That is the boundary. The provider is not just supplying data. The provider becomes part of the enforcement boundary because its newest version helps define what the policy sees. Latest-version access keeps policy close to the real world, but it also gives the newest dataset the power to reshape enforcement before users fully understand what changed. Maybe the newest data is not automatically the safest data. Maybe it is simply the data currently allowed to define the decision. $LAB $NEWT #Newt
I was looking at an old blacklist file the other day when one uncomfortable thought came up: the rule can stay exactly the same, but the world behind that rule can change overnight.
A name that was not on the list yesterday may be there today. The policy logic does not move, yet the reality it reads from has already shifted.
That is what made one small detail in Newton Protocol’s Privacy Flows stand out to me:
latest version.
At first, versioning looked like normal data management. A provider publishes a sanctions list, blacklist, risk table, or compliance dataset; every time publishData is called, a new version is created, and operators resolve the most recent confidential data when a granted client needs it.
That sounds reasonable.
Compliance data should not be frozen in time. If a blacklist changes, the policy should see the update, and if a risk table changes, the authorization flow should react to the new reality instead of enforcing yesterday’s view of the world.
But the more I thought about it, the more “latest” felt less like freshness and more like power.
In @NewtonProtocol , granted clients do not pin themselves to one explicit version. They read the most recent data, which means the same PolicyClient, the same Rego logic, and the same user can produce a different decision tomorrow because the confidential dataset underneath the policy changed today.
A user may be denied not because their wallet changed, but because the dataset behind the policy changed.
That is the boundary.
The provider is not just supplying data. The provider becomes part of the enforcement boundary because its newest version helps define what the policy sees.
Latest-version access keeps policy close to the real world, but it also gives the newest dataset the power to reshape enforcement before users fully understand what changed.
Maybe the newest data is not automatically the safest data.
Maybe it is simply the data currently allowed to define the decision.
$LAB $NEWT #Newt
Parcialmente cierto
Artículo
Đúng luật cũng vô nghĩa nếu cầm nhầm bằng chứngTuần trước, tôi cứ mắc ở một câu hỏi nhỏ về proof trong crypto. Trước khi hỏi proof có verify được không, làm sao biết đó vẫn là đúng proof ban đầu? Vài ngày sau, đọc phần zkTLS Twitter/X Example trong docs của Newton Protocol, tôi dừng lại ở chi tiết proofCid. Ban đầu, tôi nghĩ CID chỉ là một địa chỉ lưu proof. Một zkTLS proof được tạo ra. Client store proof đó. Gateway trả về proofCid. Sau đó task dùng CID này để operators biết phải lấy proof nào khi chạy policy evaluation. Nhìn qua thì giống một bước lưu file khá bình thường. Nhưng càng đọc kỹ, tôi càng thấy @NewtonProtocol không chỉ đang hỏi proof nằm ở đâu. Nó đang hỏi nội dung phía sau địa chỉ đó có đúng là proof mà client đã tạo ra hay không. Đó là điểm làm CID khác một URL thông thường. URL thường nói nội dung có thể được tìm ở đâu. CID nói một điều mạnh hơn: nội dung này có hash như thế nào. Nếu nội dung đổi, CID cũng phải đổi. Vì vậy, một proofCid không chỉ là pointer. Nó là một cam kết về bytes phía sau pointer đó. Nhưng trong authorization flow, chỉ nhận một CID từ Gateway rồi tin luôn vẫn chưa đủ. Newton’s example không dừng ở việc nhận proofCid. Khi retrieve proof bytes, client verify rằng bytes trả về khớp với CID multihash. Sau khi store(), SDK còn re-derive CID từ chính bytes đã gửi và reject nếu Gateway response không match. Chi tiết này nhỏ, nhưng nó mở ra một boundary rất quan trọng. Newton không để proofCid trở thành một lời hứa từ Gateway. Nó bắt lời hứa đó quay lại đối chiếu với bytes thật. Client vì vậy không outsource hoàn toàn niềm tin vào Gateway hay storage layer khi evidence được đưa vào authorization path. Nó kiểm tra lại, không phải bằng cảm giác tin tưởng, mà bằng việc đối chiếu CID với chính nội dung. Đây là phần tôi thấy hay. Một zkTLS proof có thể đúng. Một policy có thể được viết đúng. Một task có thể nhìn hợp lệ. Nhưng nếu handoff giữa proof creation và policy evaluation bị lệch, nếu proofCid trỏ tới bytes khác với proof ban đầu, thì hệ thống đang evaluate trên sai evidence. Lỗi lúc đó không nằm ở cryptography của proof. Nó nằm ở ranh giới lưu trữ evidence. Newton Protocol dường như đang cố chặn lỗi đó ngay ở client boundary. Trước khi proof được đưa vào task, trước khi operators dùng nó, trước khi policy dựa vào nó, client phải chắc rằng địa chỉ và nội dung thật sự khớp nhau. Nhìn theo góc đó, CID Integrity Boundary không phải là chuyện lưu proof cho tiện. Nó là cách giữ cho evidence không bị tráo trong đoạn đường từ lúc được tạo ra tới lúc được dùng để authorize. Tất nhiên, CID integrity không giải quyết mọi thứ. Nó không chứng minh claim trong proof là tốt. Nó không thay thế policy. Nó cũng không đảm bảo data source bên ngoài luôn đáng tin. Nhưng nó bảo vệ một đoạn rất cụ thể: proof được lưu, lấy lại, và truyền vào task mà không bị đổi nội dung phía sau địa chỉ. Với tôi, đây là một chi tiết nhỏ nhưng đáng chú ý trong Newton. Authorization không chỉ cần đúng rule. Nó còn cần đúng evidence. Và trước khi evidence được tin, hệ thống phải chắc rằng evidence đó thật sự là thứ user/client đã tạo ra. Có lẽ proofCid không nên được xem như một link tới proof. Nó nên được xem như lời hứa rằng proof phía sau link đó chưa bị tráo. $NEWT $LAB #Newt

Đúng luật cũng vô nghĩa nếu cầm nhầm bằng chứng

Tuần trước, tôi cứ mắc ở một câu hỏi nhỏ về proof trong crypto.
Trước khi hỏi proof có verify được không, làm sao biết đó vẫn là đúng proof ban đầu?
Vài ngày sau, đọc phần zkTLS Twitter/X Example trong docs của Newton Protocol, tôi dừng lại ở chi tiết proofCid.
Ban đầu, tôi nghĩ CID chỉ là một địa chỉ lưu proof.
Một zkTLS proof được tạo ra. Client store proof đó. Gateway trả về proofCid. Sau đó task dùng CID này để operators biết phải lấy proof nào khi chạy policy evaluation.
Nhìn qua thì giống một bước lưu file khá bình thường.
Nhưng càng đọc kỹ, tôi càng thấy @NewtonProtocol không chỉ đang hỏi proof nằm ở đâu.
Nó đang hỏi nội dung phía sau địa chỉ đó có đúng là proof mà client đã tạo ra hay không.
Đó là điểm làm CID khác một URL thông thường.
URL thường nói nội dung có thể được tìm ở đâu.
CID nói một điều mạnh hơn: nội dung này có hash như thế nào.
Nếu nội dung đổi, CID cũng phải đổi. Vì vậy, một proofCid không chỉ là pointer. Nó là một cam kết về bytes phía sau pointer đó.
Nhưng trong authorization flow, chỉ nhận một CID từ Gateway rồi tin luôn vẫn chưa đủ.
Newton’s example không dừng ở việc nhận proofCid. Khi retrieve proof bytes, client verify rằng bytes trả về khớp với CID multihash. Sau khi store(), SDK còn re-derive CID từ chính bytes đã gửi và reject nếu Gateway response không match.
Chi tiết này nhỏ, nhưng nó mở ra một boundary rất quan trọng.
Newton không để proofCid trở thành một lời hứa từ Gateway.
Nó bắt lời hứa đó quay lại đối chiếu với bytes thật.
Client vì vậy không outsource hoàn toàn niềm tin vào Gateway hay storage layer khi evidence được đưa vào authorization path. Nó kiểm tra lại, không phải bằng cảm giác tin tưởng, mà bằng việc đối chiếu CID với chính nội dung.
Đây là phần tôi thấy hay.
Một zkTLS proof có thể đúng. Một policy có thể được viết đúng. Một task có thể nhìn hợp lệ. Nhưng nếu handoff giữa proof creation và policy evaluation bị lệch, nếu proofCid trỏ tới bytes khác với proof ban đầu, thì hệ thống đang evaluate trên sai evidence.
Lỗi lúc đó không nằm ở cryptography của proof.
Nó nằm ở ranh giới lưu trữ evidence.
Newton Protocol dường như đang cố chặn lỗi đó ngay ở client boundary. Trước khi proof được đưa vào task, trước khi operators dùng nó, trước khi policy dựa vào nó, client phải chắc rằng địa chỉ và nội dung thật sự khớp nhau.
Nhìn theo góc đó, CID Integrity Boundary không phải là chuyện lưu proof cho tiện.
Nó là cách giữ cho evidence không bị tráo trong đoạn đường từ lúc được tạo ra tới lúc được dùng để authorize.
Tất nhiên, CID integrity không giải quyết mọi thứ.
Nó không chứng minh claim trong proof là tốt. Nó không thay thế policy. Nó cũng không đảm bảo data source bên ngoài luôn đáng tin.
Nhưng nó bảo vệ một đoạn rất cụ thể: proof được lưu, lấy lại, và truyền vào task mà không bị đổi nội dung phía sau địa chỉ.
Với tôi, đây là một chi tiết nhỏ nhưng đáng chú ý trong Newton.
Authorization không chỉ cần đúng rule.
Nó còn cần đúng evidence.
Và trước khi evidence được tin, hệ thống phải chắc rằng evidence đó thật sự là thứ user/client đã tạo ra.
Có lẽ proofCid không nên được xem như một link tới proof.
Nó nên được xem như lời hứa rằng proof phía sau link đó chưa bị tráo.
$NEWT $LAB #Newt
I had @grvt_io ’s growth numbers open in one tab this morning and the Season 2 mechanics in another when the same metrics suddenly became harder to read. Season 2 now represents 18% of GRVT’s fixed one-billion-token supply. Fifty percent of its points come from trading volume, 15% from open interest, while TVL, liquidity, liquidations, and referral activity shape the rest. Those are also the numbers people point to when arguing that Grvt has built real traction before its July 21 TGE. The activity is real. Orders were filled, margin was posted, positions remained open, and capital entered the platform. But the incentive behind that activity is real too. If a campaign rewards volume, rising volume can show genuine product usage and token-driven behavior at the same time. The same is true for open interest and TVL. I kept switching between the two tabs because neither of the easy conclusions felt right. Calling the growth artificial ignores the actual liquidity and trading activity Season 2 created. Calling it proven product-market fit ignores the future token allocation attached to those same actions. Season 2 can prove that incentives move capital. It cannot yet prove that the product keeps it. That is why July 21 matters beyond the token launch itself. Once points have been converted into liquid tokens, the shared expectation behind months of activity begins to weaken. Some users may stay because the execution, yield, or market access is useful. Others may realize the reward was the main product they came for. Incentives can reveal behavior before they reveal loyalty. After TGE, how many users will still choose Grvt when their next trade no longer improves an airdrop allocation? #grvt
I had @grvt_io ’s growth numbers open in one tab this morning and the Season 2 mechanics in another when the same metrics suddenly became harder to read.
Season 2 now represents 18% of GRVT’s fixed one-billion-token supply. Fifty percent of its points come from trading volume, 15% from open interest, while TVL, liquidity, liquidations, and referral activity shape the rest.
Those are also the numbers people point to when arguing that Grvt has built real traction before its July 21 TGE.
The activity is real. Orders were filled, margin was posted, positions remained open, and capital entered the platform.
But the incentive behind that activity is real too.
If a campaign rewards volume, rising volume can show genuine product usage and token-driven behavior at the same time. The same is true for open interest and TVL.
I kept switching between the two tabs because neither of the easy conclusions felt right.
Calling the growth artificial ignores the actual liquidity and trading activity Season 2 created.
Calling it proven product-market fit ignores the future token allocation attached to those same actions.
Season 2 can prove that incentives move capital.
It cannot yet prove that the product keeps it.
That is why July 21 matters beyond the token launch itself. Once points have been converted into liquid tokens, the shared expectation behind months of activity begins to weaken.
Some users may stay because the execution, yield, or market access is useful. Others may realize the reward was the main product they came for.
Incentives can reveal behavior before they reveal loyalty.
After TGE, how many users will still choose Grvt when their next trade no longer improves an airdrop allocation?
#grvt
Same address does not always mean same rule. That was the detail in Newton’s smart contract docs that made me stop. setPolicyAddress(newPolicy) At first, it looked like a clean upgrade function. A protocol deploys a new policy contract, points the existing PolicyClient to it, and keeps the same client address. Simple enough. But that same address matters. In @NewtonProtocol , the PolicyClient is not just a technical pointer. It is the object users interact with. It is where identity links can attach, where consent accumulates, and where an application starts to build trust. So Newton separates two things that are easy to confuse. The PolicyClient is the identity anchor. The policy is the rule logic behind it. That is useful. Without this separation, every policy upgrade could force users to relink identity, rebuild trust around a new address, or migrate to a new enforcement path just because the app improved its rules. But the paradox is clear. The address did not move. The rule did. A user may have linked identity under one eligibility rule. Later, the app upgrades the policy behind the same PolicyClient. The address still looks familiar. The identity link still works. The integration stays clean. But the interface may look unchanged while the permission boundary is no longer the one the user first trusted. That does not make the design wrong. It makes upgrade transparency important. Continuity is good when it prevents unnecessary breakage. But it becomes risky if users cannot see when the rule behind a familiar address has changed. That is the part I keep coming back to. Does a stable PolicyClient protect trust, or make rule changes easier to miss? #Newt $LAB $NEWT
Same address does not always mean same rule.
That was the detail in Newton’s smart contract docs that made me stop.
setPolicyAddress(newPolicy)
At first, it looked like a clean upgrade function. A protocol deploys a new policy contract, points the existing PolicyClient to it, and keeps the same client address.
Simple enough.
But that same address matters.
In @NewtonProtocol , the PolicyClient is not just a technical pointer. It is the object users interact with. It is where identity links can attach, where consent accumulates, and where an application starts to build trust.
So Newton separates two things that are easy to confuse.
The PolicyClient is the identity anchor.
The policy is the rule logic behind it.
That is useful.
Without this separation, every policy upgrade could force users to relink identity, rebuild trust around a new address, or migrate to a new enforcement path just because the app improved its rules.
But the paradox is clear.
The address did not move.
The rule did.
A user may have linked identity under one eligibility rule. Later, the app upgrades the policy behind the same PolicyClient. The address still looks familiar. The identity link still works. The integration stays clean.
But the interface may look unchanged while the permission boundary is no longer the one the user first trusted.
That does not make the design wrong.
It makes upgrade transparency important.
Continuity is good when it prevents unnecessary breakage. But it becomes risky if users cannot see when the rule behind a familiar address has changed.
That is the part I keep coming back to.
Does a stable PolicyClient protect trust, or make rule changes easier to miss?
#Newt $LAB $NEWT
Artículo
Newton Protocol Và Ranh Giới Giữa Access Và OwnershipTôi từng dọn lại mấy API key cũ trong dashboard của một app, chủ yếu vì thấy danh sách đó lâu rồi chưa kiểm tra. Đến phần quyền ghi, tôi mới khựng lại một chút: quyền đó thật sự nằm ở API key, hay ở thứ mà API key đang đại diện? Vài ngày sau, đọc phần RPC API của Newton Protocol, tôi dừng ở một permission nhỏ. RpcWrite Ban đầu, tôi nghĩ quyền ghi nằm ở API key. Điều đó rất quen thuộc trong nhiều hệ thống: dashboard cấp key, key có quyền read/write, ai cầm key đúng permission thì được gọi endpoint tương ứng. Nhìn qua, đây chỉ là access control bình thường của Gateway. Nhưng càng đọc kỹ, tôi càng thấy @NewtonProtocol đang tách hai thứ thường bị trộn lẫn với nhau: access để gọi hệ thống và ownership để quyết định quyền gốc. Chi tiết này nhỏ, nhưng làm tôi chú ý vì nó tách quyền vận hành khỏi quyền sở hữu. API key cho phép một request đi qua Gateway. Nó chứng minh người gọi có quyền thao tác với API layer. Nhưng với những endpoint nhạy cảm như stored secrets hoặc các thao tác gắn với PolicyClient, quyền đó vẫn chưa đủ. Gateway phải quay lại contract để hỏi một câu cơ bản hơn: PolicyClient này hiện thuộc về ai? Đó là điểm khác biệt. Trong nhiều hệ thống, quyền bắt đầu từ dashboard rồi kết thúc trong backend. Nhưng ở Newton Protocol, Gateway không nên trở thành nơi tự sinh ra quyền gốc. Nó chỉ là lớp thực thi quyền. Nguồn quyền vẫn nằm ở owner onchain mà PolicyClient contract công bố qua getOwner(). Nhìn theo góc đó, RpcWrite không phải là ownership. Nó chỉ là operational access. Ownership-as-Gateway-Control nằm ở chỗ Gateway không được phép nhầm hai thứ này với nhau. API key có thể mở cửa vào hệ thống, nhưng khi request chạm tới secrets hoặc policy-sensitive operations, Gateway phải kiểm tra lại object onchain mà quyền đó đang đại diện. Điều này làm quyền quản lý không bị trôi khỏi contract sang một account system riêng. Nếu PolicyClient đổi owner onchain, Gateway phải phản ánh owner mới. Nếu backend còn giữ một mapping cũ, mapping đó không nên thắng trạng thái contract. Nói cách khác, Newton không để operational access biến thành ownership. Gateway xử lý request, nhưng contract mới sinh ra quyền gốc. Tất nhiên, boundary này không biến mọi thứ thành an toàn tuyệt đối. Nếu owner wallet bị compromise, Gateway vẫn sẽ phản ánh owner sai đó. Nếu một tổ chức dùng hot wallet yếu để nắm quyền owner, thì onchain ownership cũng không cứu được operational security. Nhưng ít nhất, ranh giới trách nhiệm rõ hơn: muốn đổi quyền gốc, phải đổi owner ở contract, không chỉ sửa một dòng trong backend. Với tôi, đây là điểm hay của Newton Protocol. Nó không cố làm Gateway biến mất, vì Gateway vẫn cần xử lý request, kiểm tra API key và quản lý access. Nhưng khi chạm tới quyền nhạy cảm, Gateway phải quay về câu hỏi cơ bản hơn: ai đang sở hữu PolicyClient onchain? Một Gateway tốt không phải là Gateway tự nắm nhiều quyền nhất, mà là Gateway hiểu rằng nó chỉ nên thực thi quyền, còn quyền gốc phải được sinh ra từ contract. $NEWT #Newt

Newton Protocol Và Ranh Giới Giữa Access Và Ownership

Tôi từng dọn lại mấy API key cũ trong dashboard của một app, chủ yếu vì thấy danh sách đó lâu rồi chưa kiểm tra. Đến phần quyền ghi, tôi mới khựng lại một chút: quyền đó thật sự nằm ở API key, hay ở thứ mà API key đang đại diện?
Vài ngày sau, đọc phần RPC API của Newton Protocol, tôi dừng ở một permission nhỏ.
RpcWrite
Ban đầu, tôi nghĩ quyền ghi nằm ở API key. Điều đó rất quen thuộc trong nhiều hệ thống: dashboard cấp key, key có quyền read/write, ai cầm key đúng permission thì được gọi endpoint tương ứng. Nhìn qua, đây chỉ là access control bình thường của Gateway.
Nhưng càng đọc kỹ, tôi càng thấy @NewtonProtocol đang tách hai thứ thường bị trộn lẫn với nhau: access để gọi hệ thống và ownership để quyết định quyền gốc.
Chi tiết này nhỏ, nhưng làm tôi chú ý vì nó tách quyền vận hành khỏi quyền sở hữu.
API key cho phép một request đi qua Gateway. Nó chứng minh người gọi có quyền thao tác với API layer. Nhưng với những endpoint nhạy cảm như stored secrets hoặc các thao tác gắn với PolicyClient, quyền đó vẫn chưa đủ. Gateway phải quay lại contract để hỏi một câu cơ bản hơn: PolicyClient này hiện thuộc về ai?
Đó là điểm khác biệt.
Trong nhiều hệ thống, quyền bắt đầu từ dashboard rồi kết thúc trong backend. Nhưng ở Newton Protocol, Gateway không nên trở thành nơi tự sinh ra quyền gốc. Nó chỉ là lớp thực thi quyền. Nguồn quyền vẫn nằm ở owner onchain mà PolicyClient contract công bố qua getOwner().
Nhìn theo góc đó, RpcWrite không phải là ownership. Nó chỉ là operational access.
Ownership-as-Gateway-Control nằm ở chỗ Gateway không được phép nhầm hai thứ này với nhau. API key có thể mở cửa vào hệ thống, nhưng khi request chạm tới secrets hoặc policy-sensitive operations, Gateway phải kiểm tra lại object onchain mà quyền đó đang đại diện.
Điều này làm quyền quản lý không bị trôi khỏi contract sang một account system riêng. Nếu PolicyClient đổi owner onchain, Gateway phải phản ánh owner mới. Nếu backend còn giữ một mapping cũ, mapping đó không nên thắng trạng thái contract.
Nói cách khác, Newton không để operational access biến thành ownership.
Gateway xử lý request, nhưng contract mới sinh ra quyền gốc.
Tất nhiên, boundary này không biến mọi thứ thành an toàn tuyệt đối. Nếu owner wallet bị compromise, Gateway vẫn sẽ phản ánh owner sai đó. Nếu một tổ chức dùng hot wallet yếu để nắm quyền owner, thì onchain ownership cũng không cứu được operational security. Nhưng ít nhất, ranh giới trách nhiệm rõ hơn: muốn đổi quyền gốc, phải đổi owner ở contract, không chỉ sửa một dòng trong backend.
Với tôi, đây là điểm hay của Newton Protocol. Nó không cố làm Gateway biến mất, vì Gateway vẫn cần xử lý request, kiểm tra API key và quản lý access. Nhưng khi chạm tới quyền nhạy cảm, Gateway phải quay về câu hỏi cơ bản hơn: ai đang sở hữu PolicyClient onchain?
Một Gateway tốt không phải là Gateway tự nắm nhiều quyền nhất, mà là Gateway hiểu rằng nó chỉ nên thực thi quyền, còn quyền gốc phải được sinh ra từ contract.
$NEWT #Newt
I opened an old finance app and saw my KYC was still marked as approved. That word bothered me more than I expected. Approved. Accepted. Allowed through the gate. But the more I thought about it, the more incomplete it felt. Approved makes identity look like a permanent stamp. Then I read Newton Protocol’s Identity Policy Reference and stopped at a few small functions: check_approved() not_expired() valid_for(min_days) issued_since(min_days) At first, I thought check_approved() was the main part. If a user has passed KYC, the policy can let the action continue. But inside @NewtonProtocol ’s design, approval only answers one narrow question: was this identity accepted at some point? It does not answer the more important one: is this identity still reliable at the moment of execution? That is the real boundary. Not onboarding. Execution. A user may have been approved before, but the credential can still become too old, too close to expiration, or no longer valid enough for the action being attempted now. If a policy only checks approval, it may let execution depend on an identity credential that no longer has enough validity left for the risk being created. That is where the validity horizon matters. Newton does not only let policy ask whether a user passed KYC. It lets policy ask whether the credential is expired, how long it remains valid, and when it was issued. That changes how I think about identity. KYC is not a one-time gate. It is a condition with a lifetime. The tradeoff is real. Make the rule too strict, and a legitimate user may be blocked because their credential has too few days left. Make it too loose, and the system may rely on identity data that is almost out of value. The part I keep coming back to is simple: onchain authorization should not only ask whether identity was approved. It should ask how long that approval can still be trusted. #Newt $NEWT
I opened an old finance app and saw my KYC was still marked as approved.
That word bothered me more than I expected.
Approved.
Accepted.
Allowed through the gate.
But the more I thought about it, the more incomplete it felt.
Approved makes identity look like a permanent stamp.
Then I read Newton Protocol’s Identity Policy Reference and stopped at a few small functions:
check_approved()
not_expired()
valid_for(min_days)
issued_since(min_days)
At first, I thought check_approved() was the main part. If a user has passed KYC, the policy can let the action continue.
But inside @NewtonProtocol ’s design, approval only answers one narrow question:
was this identity accepted at some point?
It does not answer the more important one:
is this identity still reliable at the moment of execution?
That is the real boundary.
Not onboarding.
Execution.
A user may have been approved before, but the credential can still become too old, too close to expiration, or no longer valid enough for the action being attempted now.
If a policy only checks approval, it may let execution depend on an identity credential that no longer has enough validity left for the risk being created.
That is where the validity horizon matters.
Newton does not only let policy ask whether a user passed KYC. It lets policy ask whether the credential is expired, how long it remains valid, and when it was issued.
That changes how I think about identity.
KYC is not a one-time gate.
It is a condition with a lifetime.
The tradeoff is real. Make the rule too strict, and a legitimate user may be blocked because their credential has too few days left. Make it too loose, and the system may rely on identity data that is almost out of value.
The part I keep coming back to is simple:
onchain authorization should not only ask whether identity was approved.
It should ask how long that approval can still be trusted.
#Newt $NEWT
Artículo
Encrypted Data Isn’t Always SafeThe obvious privacy risk is unencrypted data. Newton’s docs made me look at a quieter one: encrypted data becoming useful in the wrong context. One small detail in the Privacy Layer made me stop: policy_client chain_id At first, they looked like metadata. A way to say which app the encrypted data belongs to. A way to say which chain it was created for. Normal bookkeeping. But inside @NewtonProtocol ’s design, those fields do something more important. They bind the ciphertext to context. Newton does not treat encrypted data as a free-floating blob that can be carried anywhere and reused wherever a policy needs it. The encrypted payload is tied to a specific PolicyClient and a specific chain. If that context changes, the data should not decrypt as if nothing happened. That changes how I think about privacy. Encryption answers one question: Who can read the data? But authorization systems have another question: Where is this data allowed to become readable? A KYC document may be valid for one application. A portfolio snapshot may be valid for one policy. A private credential may be valid on one chain. But that does not mean the same encrypted reference should work inside another app, another PolicyClient, or another execution context. A KYC file meant for one app should not quietly help another app make an eligibility decision. A portfolio snapshot meant for one chain should not become risk input somewhere else. A private credential uploaded for one authorization flow should not be reborn as context for a different decision. That is the part I keep coming back to. If encryption protects the content, context binding protects the meaning of that content. Without this boundary, an attacker may not need to break encryption directly. They could try to reuse the encrypted payload somewhere it was never meant to have authority. The data stays hidden, but its existence could still be pulled into the wrong decision path. That is a different kind of privacy failure. Not “someone read my data.” But “my data became useful in a place I never intended.” Context-Bound Encryption tries to cut that path off. The ciphertext does not only need the right key. It needs the right context. The PolicyClient matters. The chain matters. The authorization boundary matters. I think this is where Newton’s privacy model becomes more interesting than simple encrypted storage. It is not just trying to hide private information from the public chain. It is trying to stop private information from being reborn in the wrong place. Still, this does not remove every risk. If the signing flow hides too much from the user, consent can still become blurry. A user may technically authorize the right context without clearly understanding which app, chain, or policy is being given access. So the cryptography can be correct while the UX still creates confusion. That is the hard part. Context binding makes the data harder to misuse across boundaries, but users still need to see the boundary they are approving. Maybe private data does not only need to be encrypted. Maybe it needs to be locked to the exact place where it is allowed to matter. $NEWT #Newt

Encrypted Data Isn’t Always Safe

The obvious privacy risk is unencrypted data.
Newton’s docs made me look at a quieter one: encrypted data becoming useful in the wrong context.
One small detail in the Privacy Layer made me stop:
policy_client chain_id
At first, they looked like metadata.
A way to say which app the encrypted data belongs to. A way to say which chain it was created for. Normal bookkeeping.
But inside @NewtonProtocol ’s design, those fields do something more important.
They bind the ciphertext to context.
Newton does not treat encrypted data as a free-floating blob that can be carried anywhere and reused wherever a policy needs it. The encrypted payload is tied to a specific PolicyClient and a specific chain. If that context changes, the data should not decrypt as if nothing happened.
That changes how I think about privacy.
Encryption answers one question:
Who can read the data?
But authorization systems have another question:
Where is this data allowed to become readable?
A KYC document may be valid for one application. A portfolio snapshot may be valid for one policy. A private credential may be valid on one chain.
But that does not mean the same encrypted reference should work inside another app, another PolicyClient, or another execution context.
A KYC file meant for one app should not quietly help another app make an eligibility decision.
A portfolio snapshot meant for one chain should not become risk input somewhere else.
A private credential uploaded for one authorization flow should not be reborn as context for a different decision.
That is the part I keep coming back to.
If encryption protects the content, context binding protects the meaning of that content.
Without this boundary, an attacker may not need to break encryption directly. They could try to reuse the encrypted payload somewhere it was never meant to have authority. The data stays hidden, but its existence could still be pulled into the wrong decision path.
That is a different kind of privacy failure.
Not “someone read my data.”
But “my data became useful in a place I never intended.”
Context-Bound Encryption tries to cut that path off.
The ciphertext does not only need the right key. It needs the right context. The PolicyClient matters. The chain matters. The authorization boundary matters.
I think this is where Newton’s privacy model becomes more interesting than simple encrypted storage.
It is not just trying to hide private information from the public chain.
It is trying to stop private information from being reborn in the wrong place.
Still, this does not remove every risk.
If the signing flow hides too much from the user, consent can still become blurry. A user may technically authorize the right context without clearly understanding which app, chain, or policy is being given access.
So the cryptography can be correct while the UX still creates confusion.
That is the hard part.
Context binding makes the data harder to misuse across boundaries, but users still need to see the boundary they are approving.
Maybe private data does not only need to be encrypted.
Maybe it needs to be locked to the exact place where it is allowed to matter.
$NEWT #Newt
Verificado
Last night, one detail in @grvt_io ’s architecture made the word “hybrid” feel almost misleading: The matching engine can decide the trade. It cannot make that decision final by itself. At first, I treated this as a simple performance choice. Order books move too quickly for every quote, cancellation, and match to wait for blockchain consensus. Keeping matching and execution off-chain gives Grvt the speed a trading venue needs. But the split is really about power. The off-chain engine can receive orders, sequence them, and propose which trades should happen. Settlement then turns that proposal into balances, collateral changes, margin obligations, and withdrawal rights. That second step is where execution becomes financial state. Grvt places custody, settlement, margin management, and withdrawal requests onchain so the fast layer cannot quietly turn its own record into final ownership. The trade-off is that users cannot reconstruct the full matching process from onchain state alone. They still depend on the operator to accept orders, keep the engine available, and apply ordering rules consistently. A valid settlement can confirm that the resulting balance update follows the encoded rules without proving that an earlier order was never delayed, omitted, or sequenced differently. So Grvt does not make the entire trading path trustless. It draws a boundary around the part where operator discretion becomes hardest to reverse. A delayed order is an execution problem. A rewritten balance is a custody problem. Those risks should not share the same authority. That is the part I kept coming back to after closing the docs. The deeper value of a hybrid exchange is not how much activity it moves off-chain, but where it stops speed from becoming unilateral control. The unresolved question is whether users can verify enough about the path to settlement, not only the state that appears after it. #grvt
Last night, one detail in @grvt_io ’s architecture made the word “hybrid” feel almost misleading:
The matching engine can decide the trade.
It cannot make that decision final by itself.
At first, I treated this as a simple performance choice. Order books move too quickly for every quote, cancellation, and match to wait for blockchain consensus. Keeping matching and execution off-chain gives Grvt the speed a trading venue needs.
But the split is really about power.
The off-chain engine can receive orders, sequence them, and propose which trades should happen. Settlement then turns that proposal into balances, collateral changes, margin obligations, and withdrawal rights.
That second step is where execution becomes financial state.
Grvt places custody, settlement, margin management, and withdrawal requests onchain so the fast layer cannot quietly turn its own record into final ownership.
The trade-off is that users cannot reconstruct the full matching process from onchain state alone.
They still depend on the operator to accept orders, keep the engine available, and apply ordering rules consistently. A valid settlement can confirm that the resulting balance update follows the encoded rules without proving that an earlier order was never delayed, omitted, or sequenced differently.
So Grvt does not make the entire trading path trustless.
It draws a boundary around the part where operator discretion becomes hardest to reverse.
A delayed order is an execution problem.
A rewritten balance is a custody problem.
Those risks should not share the same authority.
That is the part I kept coming back to after closing the docs.
The deeper value of a hybrid exchange is not how much activity it moves off-chain, but where it stops speed from becoming unilateral control.
The unresolved question is whether users can verify enough about the path to settlement, not only the state that appears after it.
#grvt
The other day, I looked back at the calldata of an old transaction and realized that the risky part can sometimes sit in the first four bytes. Function selector. Those first four bytes tell the contract which function is being called. At first, this felt like ordinary Solidity plumbing. A contract receives calldata, reads the selector, and routes the call to the right function. Nothing unusual. But inside @NewtonProtocol ’s authorization model, that small detail starts to matter. A contract address does not represent one single action. The same contract can expose deposit(), withdraw(), transfer(), setOperator(), or upgradePolicy(). From the outside, they all point to the same address. But from a risk perspective, they are completely different doors. The right contract does not always mean the right action. That is where Function Selector Binding becomes more than calldata routing. It is where a broad contract permission becomes a specific action permission. A policy should not approve a “contract call” in a loose sense. It should know which function the transaction is entering. A rule written for deposit() should not accidentally become permission for withdraw(). A normal transfer rule should not be confused with permission to update an operator or change configuration. That precision matters. But it also creates a tradeoff. Action-level authorization asks developers to be more explicit. A vague policy is easier to write and easier to reuse, but it also creates a wider permission surface. A precise policy takes more care, but it narrows what the approval can actually touch. That is the part I keep coming back to. The user can be correct. The contract can be correct. The policy can be correct. But if the permission boundary is too wide, the approval can still cover more than intended. Onchain authorization should not only ask whether a user can interact with a contract. It should ask which exact door inside that contract they are allowed to open. $NEWT #Newt
The other day, I looked back at the calldata of an old transaction and realized that the risky part can sometimes sit in the first four bytes.
Function selector.
Those first four bytes tell the contract which function is being called.
At first, this felt like ordinary Solidity plumbing. A contract receives calldata, reads the selector, and routes the call to the right function. Nothing unusual.
But inside @NewtonProtocol ’s authorization model, that small detail starts to matter.
A contract address does not represent one single action.
The same contract can expose deposit(), withdraw(), transfer(), setOperator(), or upgradePolicy(). From the outside, they all point to the same address. But from a risk perspective, they are completely different doors.
The right contract does not always mean the right action.
That is where Function Selector Binding becomes more than calldata routing.
It is where a broad contract permission becomes a specific action permission.
A policy should not approve a “contract call” in a loose sense. It should know which function the transaction is entering. A rule written for deposit() should not accidentally become permission for withdraw(). A normal transfer rule should not be confused with permission to update an operator or change configuration.
That precision matters.
But it also creates a tradeoff.
Action-level authorization asks developers to be more explicit. A vague policy is easier to write and easier to reuse, but it also creates a wider permission surface. A precise policy takes more care, but it narrows what the approval can actually touch.
That is the part I keep coming back to.
The user can be correct.
The contract can be correct.
The policy can be correct.
But if the permission boundary is too wide, the approval can still cover more than intended.
Onchain authorization should not only ask whether a user can interact with a contract.
It should ask which exact door inside that contract they are allowed to open.
$NEWT #Newt
Inicia sesión para explorar más contenidos
Únete a usuarios globales de criptomonedas en Binance Square
⚡️ Obtén información útil y actualizada sobre criptos.
💬 Avalado por el mayor exchange de criptomonedas en el mundo.
👍 Descubre perspectivas reales de creadores verificados.
Email/número de teléfono
Mapa del sitio
Preferencias de cookies
Términos y condiciones de la plataforma