Gives physical machines like robots, drones and EV chargers their own ERC-4337 wallets on Robinhood Chain, with gas sponsored and payments settled in USDG.
PINELY v2 is live on Robinhood Chain mainnet.
Yesterday: identity, smart accounts, sponsored gas.
Today: the economic layer for machines.
8 contracts, 12 transactions, all successful. ~0.000176 ETH in gas.
🔹 PinelyHook: a Uniswap v4 hook with a machine gate, spend policy, kill switch, and reputation fee tiers
🔹 PinelyRouter: stateless, no owner, no custody. It binds every swap to a machine ID
🔹 PinelyStake: reputation staking with 7-day unbonding
🔹 BurnVault + BuybackExecutor: protocol fees buy back $PINELY and burn it
🔹 CreatorFeeSplitter, FleetSubscription, PoolSeeder
Built to limit trust, not ask for it:
→ Hook, Router, BuybackExecutor, FeeSplitter and FleetSubscription are ownerless
→ BurnVault, Stake and PoolSeeder are owned by our 2-of-3 Safe
→ The deployer owns nothing
→ Buyback routes have a 2-day public delay and a 25% daily cap, and they get locked permanently after setup
Already wired: 20% of every new machine registration fee now flows to BurnVault.
Honest status:
• The machine pool and buyback pool aren’t created yet. That’s next.
• The buyback route unlocks on Nov 16, then gets locked for good.
• 275 Foundry tests + 11 fork tests against the real PoolManager, plus Slither and fuzzing. No external audit yet.
Every address and tx is below. Don’t trust, verify. 👇
Money for Physical AI.
PINELY Stage 2 is live on Robinhood Chain Mainnet 🌲
Money for Physical AI. The economic layer for machines is onchain, and the pools are open.
Stage 1 gave machines identity, smart accounts and sponsored gas. Stage 2 adds a Uniswap v4 market built for machines: a machine gate, spend policy on swaps, a kill switch, reputation fee tiers, staking, and buyback-and-burn.
Chain ID: 4663
Deployment range: blocks 114,059,645 – 114,059,704
Safe wiring: block 114,078,911
12 transactions, all successful. Gas: 8,779,669 (~0.000176 ETH)
$PINELY CA: 0x415fA0f3480e7c1115EF052F9a7238827DC288cF
https://t.co/LW1UkIQnuP
Verification
✅ 12 transactions, all successful
✅ 275 Foundry tests, plus 11 fork tests against the real mainnet PoolManager
✅ Owners, immutables and Registry links read back from chain: hook(), stakeContract(), burnVault(), isAuthorizedLp(PoolSeeder)
✅ Internal review with Slither and fuzzing
⚠️ No external audit yet
What’s next
Nov 17, 2026, 09:26:50 UTC: the buyback route becomes usable, then lockRoutes() locks it permanently
The first sponsored machine UserOp and the public demo
External audit
Open source
TypeScript: npm i @pinely-protocol/sdk@beta
Python: pip install pinely-sdk
Repo: https://t.co/qJR1pdjB95
Unaudited, pre-beta. Not financial advice. Verify everything. 🌲
🌐 https://t.co/ocqgDzlNL3
👀 Next up: HTTP 402 for machines.
An API says “402: pay first.” The robot signs, pays in USDG with 0 ETH, and gets served.
No card. No human. No gas.
Facilitator going live on Robinhood Chain mainnet soon.
PINELY v2 is live on Robinhood Chain mainnet.
Yesterday: identity, smart accounts, sponsored gas.
Today: the economic layer for machines.
8 contracts, 12 transactions, all successful. ~0.000176 ETH in gas.
🔹 PinelyHook: a Uniswap v4 hook with a machine gate, spend policy, kill switch, and reputation fee tiers
🔹 PinelyRouter: stateless, no owner, no custody. It binds every swap to a machine ID
🔹 PinelyStake: reputation staking with 7-day unbonding
🔹 BurnVault + BuybackExecutor: protocol fees buy back $PINELY and burn it
🔹 CreatorFeeSplitter, FleetSubscription, PoolSeeder
Built to limit trust, not ask for it:
→ Hook, Router, BuybackExecutor, FeeSplitter and FleetSubscription are ownerless
→ BurnVault, Stake and PoolSeeder are owned by our 2-of-3 Safe
→ The deployer owns nothing
→ Buyback routes have a 2-day public delay and a 25% daily cap, and they get locked permanently after setup
Already wired: 20% of every new machine registration fee now flows to BurnVault.
Honest status:
• The machine pool and buyback pool aren’t created yet. That’s next.
• The buyback route unlocks on Nov 16, then gets locked for good.
• 275 Foundry tests + 11 fork tests against the real PoolManager, plus Slither and fuzzing. No external audit yet.
Every address and tx is below. Don’t trust, verify. 👇
Money for Physical AI.
Stage 2 contracts
🔹 PinelyHook
A Uniswap v4 hook with a machine gate, spend policy, kill switch, and reputation fee tiers (0.30% / 0.15% / 0.05%, plus a 0.05% protocol fee). Ownerless.
Contract: https://t.co/7yBSML0wqv
Deploy tx: https://t.co/C6Fau02WFP
🔹 PinelyRouter
Stateless router with no owner and no custody. It binds the caller to a machine ID via EIP-712 hookData.
Contract: https://t.co/PLNnLUo552
Deploy tx: https://t.co/yVOWUGPDaQ
🔹 PinelyStake
Reputation staking with 7-day unbonding and slashing. Owned by the Safe.
Contract: https://t.co/z2iEKfi3sV
Deploy tx: https://t.co/Bf7Z3z2qXa
🔹 BurnVault
The protocol fee vault, which buys back and burns $PINELY and emits Burned(uint256 amount). Buyback routes are allowlisted, with a 2-day public delay and a 25% daily cap, and they can be locked permanently. Owned by the Safe.
Contract: https://t.co/ryx5eVDeOh
Deploy tx: https://t.co/DbfOeEHMUj
🔹 PinelyBuybackExecutor
An ownerless USDG → $PINELY buyback swap in one fixed pool. Its output can only go to BurnVault.
Contract: https://t.co/USxE7rrMIC
Deploy tx: https://t.co/JYiKmOHOsg
🔹 CreatorFeeSplitter
A 30/70 creator fee split. Ownerless.
Contract: https://t.co/KnguMlQKom
Deploy tx: https://t.co/v7Pd9bsjQj
🔹 FleetSubscription
Fleet subscriptions, where fleetId = keccak256(owner, salt). Ownerless.
Contract: https://t.co/VVgewaXsYt
Deploy tx: https://t.co/TvYJB4KEbh
🔹 PoolSeeder
Seeds initial liquidity and is authorized as an LP on the hook. Owned by the Safe.
Contract: https://t.co/DlF9YuE3xD
Deploy tx: https://t.co/8ecNwEdEXX
PINELY v2 is live on Robinhood Chain mainnet.
Yesterday: identity, smart accounts, sponsored gas.
Today: the economic layer for machines.
8 contracts, 12 transactions, all successful. ~0.000176 ETH in gas.
🔹 PinelyHook: a Uniswap v4 hook with a machine gate, spend policy, kill switch, and reputation fee tiers
🔹 PinelyRouter: stateless, no owner, no custody. It binds every swap to a machine ID
🔹 PinelyStake: reputation staking with 7-day unbonding
🔹 BurnVault + BuybackExecutor: protocol fees buy back $PINELY and burn it
🔹 CreatorFeeSplitter, FleetSubscription, PoolSeeder
Built to limit trust, not ask for it:
→ Hook, Router, BuybackExecutor, FeeSplitter and FleetSubscription are ownerless
→ BurnVault, Stake and PoolSeeder are owned by our 2-of-3 Safe
→ The deployer owns nothing
→ Buyback routes have a 2-day public delay and a 25% daily cap, and they get locked permanently after setup
Already wired: 20% of every new machine registration fee now flows to BurnVault.
Honest status:
• The machine pool and buyback pool aren’t created yet. That’s next.
• The buyback route unlocks on Nov 16, then gets locked for good.
• 275 Foundry tests + 11 fork tests against the real PoolManager, plus Slither and fuzzing. No external audit yet.
Every address and tx is below. Don’t trust, verify. 👇
Money for Physical AI.
PINELY Stage 2 is live on Robinhood Chain Mainnet 🌲
Money for Physical AI. The economic layer for machines is onchain, and the pools are open.
Stage 1 gave machines identity, smart accounts and sponsored gas. Stage 2 adds a Uniswap v4 market built for machines: a machine gate, spend policy on swaps, a kill switch, reputation fee tiers, staking, and buyback-and-burn.
Chain ID: 4663
Deployment range: blocks 114,059,645 – 114,059,704
Safe wiring: block 114,078,911
12 transactions, all successful. Gas: 8,779,669 (~0.000176 ETH)
$PINELY CA: 0x415fA0f3480e7c1115EF052F9a7238827DC288cF
https://t.co/LW1UkIQnuP
Verification
✅ 12 transactions, all successful
✅ 275 Foundry tests, plus 11 fork tests against the real mainnet PoolManager
✅ Owners, immutables and Registry links read back from chain: hook(), stakeContract(), burnVault(), isAuthorizedLp(PoolSeeder)
✅ Internal review with Slither and fuzzing
⚠️ No external audit yet
What’s next
Nov 17, 2026, 09:26:50 UTC: the buyback route becomes usable, then lockRoutes() locks it permanently
The first sponsored machine UserOp and the public demo
External audit
Open source
TypeScript: npm i @pinely-protocol/sdk@beta
Python: pip install pinely-sdk
Repo: https://t.co/qJR1pdjB95
Unaudited, pre-beta. Not financial advice. Verify everything. 🌲
🌐 https://t.co/ocqgDzlNL3
PINELY Stage 2 is live on Robinhood Chain Mainnet 🌲
Money for Physical AI. The economic layer for machines is onchain, and the pools are open.
Stage 1 gave machines identity, smart accounts and sponsored gas. Stage 2 adds a Uniswap v4 market built for machines: a machine gate, spend policy on swaps, a kill switch, reputation fee tiers, staking, and buyback-and-burn.
Chain ID: 4663
Deployment range: blocks 114,059,645 – 114,059,704
Safe wiring: block 114,078,911
12 transactions, all successful. Gas: 8,779,669 (~0.000176 ETH)
$PINELY CA: 0x415fA0f3480e7c1115EF052F9a7238827DC288cF
https://t.co/LW1UkIQnuP
Verification
✅ 12 transactions, all successful
✅ 275 Foundry tests, plus 11 fork tests against the real mainnet PoolManager
✅ Owners, immutables and Registry links read back from chain: hook(), stakeContract(), burnVault(), isAuthorizedLp(PoolSeeder)
✅ Internal review with Slither and fuzzing
⚠️ No external audit yet
What’s next
Nov 17, 2026, 09:26:50 UTC: the buyback route becomes usable, then lockRoutes() locks it permanently
The first sponsored machine UserOp and the public demo
External audit
Open source
TypeScript: npm i @pinely-protocol/sdk@beta
Python: pip install pinely-sdk
Repo: https://t.co/qJR1pdjB95
Unaudited, pre-beta. Not financial advice. Verify everything. 🌲
🌐 https://t.co/ocqgDzlNL3
PINELY is live on Robinhood Chain Mainnet
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
PINELY’s Stage 1 contracts are now deployed on Robinhood Chain Mainnet (Chain ID 4663), owned by a 2-of-3 Safe multisig, and anyone can verify them onchain.
Robots, drones, EV chargers and sensors can now have their own onchain identity and ERC-4337 smart accounts. They get scoped session keys, sponsored gas and USDG settlement, and the operator always keeps control.
Why this matters
Machines are starting to earn and spend on their own. A delivery rover pays for its charging. A solar charger collects revenue. A sensor sells its data.
But a machine in a public place can’t safely hold a private key. If someone steals the device, they steal the wallet too. Embedded hardware also shouldn’t have to manage ETH balances or estimate gas.
PINELY gives machines a payment rail with identity, limits, and a stable unit of account, without ever handing them the owner key.
How it works
The operator owns the account. The machine only holds a scoped session key with allowlisted targets and an expiry of 30 days max.
Machines don’t need ETH. The Paymaster sponsors native gas and bills the account in USDG.
One-transaction kill switch. Freeze a single machine or the whole fleet.
Revenue flows home. Balances above a reserve threshold get swept to the operator treasury.
Deployed on mainnet
Deployed across blocks 113,448,196 – 113,448,242: 8 transactions, about 0.000196 ETH in total gas.
🔹 MachineRegistry
Machine identity, attestation hash, session key, policy and freeze state. The 2 USDG anti-Sybil registration fee goes to the Safe treasury.
0x75Eb65C532207617B7b0CdC34348De376B16920B
🔹 PinelyAccountFactory
Deterministic ERC-4337 machine accounts via CREATE2.
0x1d312F5264202350F006789d18Ae3f21b2d00712
🔹 PinelyPaymaster
Sponsors ETH gas and bills in USDG. A price circuit breaker uses owner-set bounds and a staleness check, so sponsorship stops if the price is out of range or too old.
0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC
🔹 SurplusSweeper
Moves revenue above the reserve threshold to the operator treasury.
0x49a09d2558C4497913eAda66DB0e3ce1e7c0B579
🔐 Safe (owner and treasury), 2-of-3
0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD
External dependencies
Paxos USDG (6 decimals): 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
ERC-4337 EntryPoint v0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Governance and security
The Safe owns everything that matters. Ownership of the Registry and Paymaster was transferred to a 2-of-3 Safe with three distinct signers. The deployer is not one of them, and we read the ownership back onchain after the transfer.
The deployed bytecode matches the local build. We compared all four contracts, with immutable values masked.
No private keys in files. We deployed with an encrypted keystore.
Mainnet guards. Deploy scripts reject mock tokens, zero addresses, test keys, a non-Safe owner and the wrong chain id.
Domain separation. EIP-712 uses the PINELY domain plus the chain id.
The machine verifies before it signs. The TypeScript, Python and ROS2 SDKs check the exact UserOperation against 13 attack classes.
We rehearsed first. The full Stage 1 deployment ran on Robinhood Testnet (46630) before mainnet.
Where we honestly are
A deployment is not a finished product, so here’s the plain status:
The contracts are not externally audited.
No UserOperation has gone through mainnet yet. The first end-to-end test is next.
The app, API and indexer are not deployed yet.
The Paymaster price is set manually by the Safe. There’s no oracle feed yet.
Spend caps are not yet enforced onchain in Stage 1, and hardware-backed key storage is still on the roadmap.
Stage 2 (private Uniswap v4 pool, hook, staking, burn) and the $PINELY token are testnet only.
This is guarded pre-beta. Please don’t route real value through it yet.
Verify it yourself
You don’t need a private key:
bash
RPC=https://t.co/x5j03GWtGt
cast call 0x75Eb65C532207617B7b0CdC34348De376B16920B "owner()(address)" --rpc-url $RPC
cast call 0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC "owner()(address)" --rpc-url $RPC
cast call 0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD "getThreshold()(uint256)" --rpc-url $RPC
Both owner calls should return the Safe, and the threshold should be 2.
🔍 https://t.co/CTxnVoNseC
What’s next
The first sponsored UserOperation on mainnet through the bundler
Launching the app, API and indexer
An external security audit
Onchain spend caps and hardware-backed keys
Stage 2 and the token launch
Build with us
Running a fleet of robots, drones, chargers or sensors? Building on ERC-4337 or DePIN? Let’s talk.
🌐 https://t.co/iBbNPOx5Kh
What’s next for PINELY?
The CA is live. Stage 1 is on mainnet. Here’s what we’re building toward, in order:
1. Stage 2 on mainnet
PinelyHook, PinelyRouter and PinelyStake deploy now that the CA is out. That brings a private Uniswap v4 pool built for machines, with a machine gate, a kill switch, and fee tiers for stakers. Every address will be verified and posted here.
2. The first sponsored machine UserOp
A machine with 0 ETH executes onchain, and the Paymaster pays the gas in ETH and bills in USDG. This is the moment PINELY goes from “deployed” to “working.”
3. 9 public onchain proofs
Machine registration, USDG settlement, kill switch, session key limits, surplus sweep, and more. Each proof comes with a tx hash and a script anyone can run. Failed attempts get logged too.
4. App, API and indexer go live
A dashboard where operators can see their fleet, and where every number links to its onchain tx.
5. Hardening
• Onchain spend caps for session keys
• Hardware-backed keys (secure element / TPM) on real devices
• External security audit
6. Public Beta
Only after the proofs are done and the audit is underway.
No dates we can’t keep. Just progress you can verify onchain.
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
Our take on @LayerZero lzCompose
Machines shouldn’t care which chain the money came from.
A charger in one city, an operator treasury on another chain, a customer paying from a third. Today, that means bridges, waiting, and manual steps. A robot can’t do any of that.
lzCompose changes the shape of the problem: stablecoins arrive from another chain, and a follow-up action runs right after, in one flow.
For PINELY, the right version looks like this:
→ USDG arrives cross-chain
→ A composer credits the machine’s account or its USDG gas quota
→ Every payment still goes through the machine’s PinelyAccount, with the same allowlist, expiry and kill switch
Cross-chain money in, the same safety rules out. No side door.
What we won’t do: let a cross-chain message pay on a machine’s behalf while skipping its policy. Funding can be omnichain. Control stays in one place.
This is research, not a shipped feature. Stage 1 proofs come first, then we’ll share a design for review.
Money for Physical AI, from any chain it can safely come from.
PINELY is live on Robinhood Chain Mainnet
Money for Physical AI. Stage 1 is onchain.
Autonomous machine identity, scoped ERC-4337 session keys, and sponsored gas execution are now deployed on Robinhood Chain Mainnet. Ownership sits with a 2-of-3 Safe multisig.
Robots, drones, EV chargers and sensors can now have their own onchain identity and smart accounts. The machine holds only a limited session key. The operator holds the owner key and a kill switch.
Chain ID: 4663
Deployment range: blocks 113,448,196 – 113,448,242 (8 transactions, all successful)
Total gas: 9,605,542 (~0.000196 ETH)
Read back onchain at: block 113,624,117
Core infrastructure (Stage 1)
🔹 MachineRegistry
The onchain source of truth for machine identity, attestation hash, session key, policy, and kill switch.
Contract: https://t.co/rIQuh6F8Iw
Deploy tx (block 113,448,196): https://t.co/QfmMTnKnHi
🔹 PinelyAccountFactory
Counterfactual ERC-4337 machine accounts bound to physical session keys (CREATE2 salt: PINELY_ACCOUNT_V1).
Contract: https://t.co/vc5bYhb3Uf
Deploy tx (block 113,448,204): https://t.co/zDGLcndwfS
🔹 PinelyPaymaster
Sponsors native ETH gas on Robinhood Chain and bills against a prepaid USDG quota. A price circuit breaker uses bounds set by the owner.
Contract: https://t.co/fN3ro5VuHq
Deploy tx (block 113,448,212): https://t.co/QwobWYbqXT
🔹 SurplusSweeper
A permissionless sweeper that moves machine revenue above a reserve threshold to the operator’s cold vault.
Contract: https://t.co/ynmflLW9XQ
Deploy tx (block 113,448,220): https://t.co/xbB84vbdGs
Configuration and ownership transfers
Paymaster price bounds ($1,050 – $4,200 USD/ETH), block 113,448,227
https://t.co/BQxDKqcAJY
Anti-Sybil registration fee (2 USDG), block 113,448,232
https://t.co/IFRowXB8uJ
MachineRegistry ownership → Safe, block 113,448,237
https://t.co/jVqIN9j53V
PinelyPaymaster ownership → Safe, block 113,448,242
https://t.co/kP1bf3XCDc
PINELY is live on Robinhood Chain Mainnet
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
PINELY’s Stage 1 contracts are now deployed on Robinhood Chain Mainnet (Chain ID 4663), owned by a 2-of-3 Safe multisig, and anyone can verify them onchain.
Robots, drones, EV chargers and sensors can now have their own onchain identity and ERC-4337 smart accounts. They get scoped session keys, sponsored gas and USDG settlement, and the operator always keeps control.
Why this matters
Machines are starting to earn and spend on their own. A delivery rover pays for its charging. A solar charger collects revenue. A sensor sells its data.
But a machine in a public place can’t safely hold a private key. If someone steals the device, they steal the wallet too. Embedded hardware also shouldn’t have to manage ETH balances or estimate gas.
PINELY gives machines a payment rail with identity, limits, and a stable unit of account, without ever handing them the owner key.
How it works
The operator owns the account. The machine only holds a scoped session key with allowlisted targets and an expiry of 30 days max.
Machines don’t need ETH. The Paymaster sponsors native gas and bills the account in USDG.
One-transaction kill switch. Freeze a single machine or the whole fleet.
Revenue flows home. Balances above a reserve threshold get swept to the operator treasury.
Deployed on mainnet
Deployed across blocks 113,448,196 – 113,448,242: 8 transactions, about 0.000196 ETH in total gas.
🔹 MachineRegistry
Machine identity, attestation hash, session key, policy and freeze state. The 2 USDG anti-Sybil registration fee goes to the Safe treasury.
0x75Eb65C532207617B7b0CdC34348De376B16920B
🔹 PinelyAccountFactory
Deterministic ERC-4337 machine accounts via CREATE2.
0x1d312F5264202350F006789d18Ae3f21b2d00712
🔹 PinelyPaymaster
Sponsors ETH gas and bills in USDG. A price circuit breaker uses owner-set bounds and a staleness check, so sponsorship stops if the price is out of range or too old.
0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC
🔹 SurplusSweeper
Moves revenue above the reserve threshold to the operator treasury.
0x49a09d2558C4497913eAda66DB0e3ce1e7c0B579
🔐 Safe (owner and treasury), 2-of-3
0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD
External dependencies
Paxos USDG (6 decimals): 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
ERC-4337 EntryPoint v0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Governance and security
The Safe owns everything that matters. Ownership of the Registry and Paymaster was transferred to a 2-of-3 Safe with three distinct signers. The deployer is not one of them, and we read the ownership back onchain after the transfer.
The deployed bytecode matches the local build. We compared all four contracts, with immutable values masked.
No private keys in files. We deployed with an encrypted keystore.
Mainnet guards. Deploy scripts reject mock tokens, zero addresses, test keys, a non-Safe owner and the wrong chain id.
Domain separation. EIP-712 uses the PINELY domain plus the chain id.
The machine verifies before it signs. The TypeScript, Python and ROS2 SDKs check the exact UserOperation against 13 attack classes.
We rehearsed first. The full Stage 1 deployment ran on Robinhood Testnet (46630) before mainnet.
Where we honestly are
A deployment is not a finished product, so here’s the plain status:
The contracts are not externally audited.
No UserOperation has gone through mainnet yet. The first end-to-end test is next.
The app, API and indexer are not deployed yet.
The Paymaster price is set manually by the Safe. There’s no oracle feed yet.
Spend caps are not yet enforced onchain in Stage 1, and hardware-backed key storage is still on the roadmap.
Stage 2 (private Uniswap v4 pool, hook, staking, burn) and the $PINELY token are testnet only.
This is guarded pre-beta. Please don’t route real value through it yet.
Verify it yourself
You don’t need a private key:
bash
RPC=https://t.co/x5j03GWtGt
cast call 0x75Eb65C532207617B7b0CdC34348De376B16920B "owner()(address)" --rpc-url $RPC
cast call 0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC "owner()(address)" --rpc-url $RPC
cast call 0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD "getThreshold()(uint256)" --rpc-url $RPC
Both owner calls should return the Safe, and the threshold should be 2.
🔍 https://t.co/CTxnVoNseC
What’s next
The first sponsored UserOperation on mainnet through the bundler
Launching the app, API and indexer
An external security audit
Onchain spend caps and hardware-backed keys
Stage 2 and the token launch
Build with us
Running a fleet of robots, drones, chargers or sensors? Building on ERC-4337 or DePIN? Let’s talk.
🌐 https://t.co/iBbNPOx5Kh
The PINELY SDKs are live.
You asked for the SDK. Here it is: open source under MIT.
📦 TypeScript
npm i @pinely-protocol/sdk@beta
Machine onboarding, session keys, EIP-712 signing, and HTTP 402 payments. Comes with a CLI:
npx @pinely-protocol/sdk@beta machine create --name charger-01
🐍 Python
pip install pinely-sdk
The same signing and payment flow, with identical machine IDs and signatures for identical inputs.
🔗 Source: https://t.co/bfGLLT6KOS
Built for physical machines on Robinhood Chain: robots, drones, EV chargers, sensors.
Build something. Break something. Tell us.
What is PINELY? read this
Robots, drones and EV chargers are starting to do real work. They deliver packages, charge cars, collect data.
But to get paid or pay for things, they need a wallet. And a wallet on a machine in the street is risky: if someone steals the device, they steal the money too.
PINELY fixes that.
🔑1. The machine gets a “limited key”
Think of it like a prepaid card. It can only pay approved places, and it expires. The real owner key stays with the operator.
2. The machine never needs gas money
PINELY covers the gas, and the bill gets paid in USDG, a stable digital dollar. No crypto balance for the machine to manage.
3. There’s an off switch
Device stolen? The operator freezes it with one transaction. One machine, or the whole fleet.
4. Earnings flow home automatically
Extra revenue gets swept to the operator’s safe wallet.
In one line:
PINELY gives machines their own wallet without ever handing them the keys to the money.
It’s live on Robinhood Chain mainnet (Stage 1), and every contract can be checked onchain.
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
PINELY is live on Robinhood Chain Mainnet
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
PINELY’s Stage 1 contracts are now deployed on Robinhood Chain Mainnet (Chain ID 4663), owned by a 2-of-3 Safe multisig, and anyone can verify them onchain.
Robots, drones, EV chargers and sensors can now have their own onchain identity and ERC-4337 smart accounts. They get scoped session keys, sponsored gas and USDG settlement, and the operator always keeps control.
Why this matters
Machines are starting to earn and spend on their own. A delivery rover pays for its charging. A solar charger collects revenue. A sensor sells its data.
But a machine in a public place can’t safely hold a private key. If someone steals the device, they steal the wallet too. Embedded hardware also shouldn’t have to manage ETH balances or estimate gas.
PINELY gives machines a payment rail with identity, limits, and a stable unit of account, without ever handing them the owner key.
How it works
The operator owns the account. The machine only holds a scoped session key with allowlisted targets and an expiry of 30 days max.
Machines don’t need ETH. The Paymaster sponsors native gas and bills the account in USDG.
One-transaction kill switch. Freeze a single machine or the whole fleet.
Revenue flows home. Balances above a reserve threshold get swept to the operator treasury.
Deployed on mainnet
Deployed across blocks 113,448,196 – 113,448,242: 8 transactions, about 0.000196 ETH in total gas.
🔹 MachineRegistry
Machine identity, attestation hash, session key, policy and freeze state. The 2 USDG anti-Sybil registration fee goes to the Safe treasury.
0x75Eb65C532207617B7b0CdC34348De376B16920B
🔹 PinelyAccountFactory
Deterministic ERC-4337 machine accounts via CREATE2.
0x1d312F5264202350F006789d18Ae3f21b2d00712
🔹 PinelyPaymaster
Sponsors ETH gas and bills in USDG. A price circuit breaker uses owner-set bounds and a staleness check, so sponsorship stops if the price is out of range or too old.
0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC
🔹 SurplusSweeper
Moves revenue above the reserve threshold to the operator treasury.
0x49a09d2558C4497913eAda66DB0e3ce1e7c0B579
🔐 Safe (owner and treasury), 2-of-3
0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD
External dependencies
Paxos USDG (6 decimals): 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
ERC-4337 EntryPoint v0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Governance and security
The Safe owns everything that matters. Ownership of the Registry and Paymaster was transferred to a 2-of-3 Safe with three distinct signers. The deployer is not one of them, and we read the ownership back onchain after the transfer.
The deployed bytecode matches the local build. We compared all four contracts, with immutable values masked.
No private keys in files. We deployed with an encrypted keystore.
Mainnet guards. Deploy scripts reject mock tokens, zero addresses, test keys, a non-Safe owner and the wrong chain id.
Domain separation. EIP-712 uses the PINELY domain plus the chain id.
The machine verifies before it signs. The TypeScript, Python and ROS2 SDKs check the exact UserOperation against 13 attack classes.
We rehearsed first. The full Stage 1 deployment ran on Robinhood Testnet (46630) before mainnet.
Where we honestly are
A deployment is not a finished product, so here’s the plain status:
The contracts are not externally audited.
No UserOperation has gone through mainnet yet. The first end-to-end test is next.
The app, API and indexer are not deployed yet.
The Paymaster price is set manually by the Safe. There’s no oracle feed yet.
Spend caps are not yet enforced onchain in Stage 1, and hardware-backed key storage is still on the roadmap.
Stage 2 (private Uniswap v4 pool, hook, staking, burn) and the $PINELY token are testnet only.
This is guarded pre-beta. Please don’t route real value through it yet.
Verify it yourself
You don’t need a private key:
bash
RPC=https://t.co/x5j03GWtGt
cast call 0x75Eb65C532207617B7b0CdC34348De376B16920B "owner()(address)" --rpc-url $RPC
cast call 0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC "owner()(address)" --rpc-url $RPC
cast call 0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD "getThreshold()(uint256)" --rpc-url $RPC
Both owner calls should return the Safe, and the threshold should be 2.
🔍 https://t.co/CTxnVoNseC
What’s next
The first sponsored UserOperation on mainnet through the bundler
Launching the app, API and indexer
An external security audit
Onchain spend caps and hardware-backed keys
Stage 2 and the token launch
Build with us
Running a fleet of robots, drones, chargers or sensors? Building on ERC-4337 or DePIN? Let’s talk.
🌐 https://t.co/iBbNPOx5Kh
PINELY is live on Robinhood Chain Mainnet
Money for Physical AI.
CA: 0x415fa0f3480e7c1115ef052f9a7238827dc288cf
PINELY’s Stage 1 contracts are now deployed on Robinhood Chain Mainnet (Chain ID 4663), owned by a 2-of-3 Safe multisig, and anyone can verify them onchain.
Robots, drones, EV chargers and sensors can now have their own onchain identity and ERC-4337 smart accounts. They get scoped session keys, sponsored gas and USDG settlement, and the operator always keeps control.
Why this matters
Machines are starting to earn and spend on their own. A delivery rover pays for its charging. A solar charger collects revenue. A sensor sells its data.
But a machine in a public place can’t safely hold a private key. If someone steals the device, they steal the wallet too. Embedded hardware also shouldn’t have to manage ETH balances or estimate gas.
PINELY gives machines a payment rail with identity, limits, and a stable unit of account, without ever handing them the owner key.
How it works
The operator owns the account. The machine only holds a scoped session key with allowlisted targets and an expiry of 30 days max.
Machines don’t need ETH. The Paymaster sponsors native gas and bills the account in USDG.
One-transaction kill switch. Freeze a single machine or the whole fleet.
Revenue flows home. Balances above a reserve threshold get swept to the operator treasury.
Deployed on mainnet
Deployed across blocks 113,448,196 – 113,448,242: 8 transactions, about 0.000196 ETH in total gas.
🔹 MachineRegistry
Machine identity, attestation hash, session key, policy and freeze state. The 2 USDG anti-Sybil registration fee goes to the Safe treasury.
0x75Eb65C532207617B7b0CdC34348De376B16920B
🔹 PinelyAccountFactory
Deterministic ERC-4337 machine accounts via CREATE2.
0x1d312F5264202350F006789d18Ae3f21b2d00712
🔹 PinelyPaymaster
Sponsors ETH gas and bills in USDG. A price circuit breaker uses owner-set bounds and a staleness check, so sponsorship stops if the price is out of range or too old.
0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC
🔹 SurplusSweeper
Moves revenue above the reserve threshold to the operator treasury.
0x49a09d2558C4497913eAda66DB0e3ce1e7c0B579
🔐 Safe (owner and treasury), 2-of-3
0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD
External dependencies
Paxos USDG (6 decimals): 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
ERC-4337 EntryPoint v0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Governance and security
The Safe owns everything that matters. Ownership of the Registry and Paymaster was transferred to a 2-of-3 Safe with three distinct signers. The deployer is not one of them, and we read the ownership back onchain after the transfer.
The deployed bytecode matches the local build. We compared all four contracts, with immutable values masked.
No private keys in files. We deployed with an encrypted keystore.
Mainnet guards. Deploy scripts reject mock tokens, zero addresses, test keys, a non-Safe owner and the wrong chain id.
Domain separation. EIP-712 uses the PINELY domain plus the chain id.
The machine verifies before it signs. The TypeScript, Python and ROS2 SDKs check the exact UserOperation against 13 attack classes.
We rehearsed first. The full Stage 1 deployment ran on Robinhood Testnet (46630) before mainnet.
Where we honestly are
A deployment is not a finished product, so here’s the plain status:
The contracts are not externally audited.
No UserOperation has gone through mainnet yet. The first end-to-end test is next.
The app, API and indexer are not deployed yet.
The Paymaster price is set manually by the Safe. There’s no oracle feed yet.
Spend caps are not yet enforced onchain in Stage 1, and hardware-backed key storage is still on the roadmap.
Stage 2 (private Uniswap v4 pool, hook, staking, burn) and the $PINELY token are testnet only.
This is guarded pre-beta. Please don’t route real value through it yet.
Verify it yourself
You don’t need a private key:
bash
RPC=https://t.co/x5j03GWtGt
cast call 0x75Eb65C532207617B7b0CdC34348De376B16920B "owner()(address)" --rpc-url $RPC
cast call 0x70C63C0Fb54028F6F2b30c38d9f11f9696ACB1BC "owner()(address)" --rpc-url $RPC
cast call 0x340B621D1BB4Be8b25D75fbBD9a628eD491030dD "getThreshold()(uint256)" --rpc-url $RPC
Both owner calls should return the Safe, and the threshold should be 2.
🔍 https://t.co/CTxnVoNseC
What’s next
The first sponsored UserOperation on mainnet through the bundler
Launching the app, API and indexer
An external security audit
Onchain spend caps and hardware-backed keys
Stage 2 and the token launch
Build with us
Running a fleet of robots, drones, chargers or sensors? Building on ERC-4337 or DePIN? Let’s talk.
🌐 https://t.co/iBbNPOx5Kh
Governance
Safe multisig 2-of-3: owner and treasury of MachineRegistry and PinelyPaymaster
https://t.co/0wglFTUzn2
Deployer: 0x911Bf0fd05A53eC2d06952Ee2Fca8b17CBeA3Bad. It was used for deployment only and holds no ownership.
Protocol parameters
Registration fee: 2 USDG per machine account (anti-Sybil)
Gas sponsorship: native ETH, billed against a prepaid USDG quota
Paymaster ETH/USD price: set manually by the Safe, within the 1,050 – 4,200 bounds
Settlement: HTTP 402 machine settlement
External dependencies
ERC-4337 EntryPoint v0.7 (canonical): 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Paxos USDG (6 decimals): https://t.co/6coEfXsQt5
What we verified onchain
✅ owner() of MachineRegistry and PinelyPaymaster = the Safe
✅ treasury = the Safe
✅ Safe threshold = 2
✅ registrationFee = 2000000 (2 USDG)
✅ Price bounds = 105000000000 – 420000000000 (8 decimals)
✅ The bytecode of all four contracts matches the local build (immutable values masked)
Stage 2: implemented, not yet on mainnet
The private Uniswap v4 machine pool is built and covered by 224 automated Foundry tests. It deploys after the $PINELY contract address is live:
PinelyHook: a Uniswap v4 hook with a machine gate (EIP-712 “PINELY”), policy checks, a 1-tx kill switch, and dynamic fee tiers
PinelyRouter: binds machine session keys to the private pool via signed hookData
PinelyStake: operators stake to unlock lower fee tiers (7-day unbonding)
BurnVault: protocol fees buy back and burn $PINELY
CreatorFeeSplitter: 70% treasury / 30% BurnVault
FleetSubscription: recurring onchain billing for enterprise fleets
Where we honestly are
The contracts are not externally audited yet.
No machine UserOperation has gone through mainnet yet. That’s the next milestone.
The app, API and indexer are still being deployed.