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 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 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. 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
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.
Deploying is not proving.
PINELY Stage 1 is on Robinhood Chain mainnet (Today target, in the next 20 hours). Next, we prove it works, publicly and onchain.
9 proofs, in order:
P0
Paymaster stays live
Verified source on Blockscout
First machine registered
First sponsored UserOp
P1
5. End-to-end USDG settlement
6. Kill switch: freeze → rejected → unfreeze
7. Session key limits enforced
P2
8. Surplus sweep to the treasury
9. Public data = onchain data
Every proof ships with a tx hash, a script anyone can run, and an entry on /proofs. Failed attempts get logged too.
No Public Beta until P0 + P1 are done.
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
100% dev buy, locked.
🔒 28,059,010.7 $PINELY locked on RobinFlow — non-custodial and verifiable onchain on Robinhood Chain.
Unlocks December 14, 2026.
https://t.co/AMgzDdS96Y