Heads Down
Your phone'snight shift.
Face-down, it digs ORE. Pick it up, the rig goes cold.
A focus timer whose tree is an ORE rig. Any Android.
The night
One approval at bedtime. The phone works the shift. Your alarm ends it.
| 1 | Tap Clock in, in the app or on its Quick Settings tile. | On the Redmi |
| 2 | One wallet approval funds a capped shift in your own ORE Automation and arms the rig. | On mainnet |
| 3 | Face-down, the phone signs a heartbeat every ORE round, about a minute. | On mainnet |
| 4 | A dig happens only when the on-chain price gate is open. | On mainnet |
| 5 | Pick it up: 10 s of cooling, then cold. Unlock: cold at once. | On mainnet |
| 6 | In the morning the reveal page shows the shift. Clock out there, and it replays the night from chain data. | On the Redmi |
| 7 | One approval seals the shift. Take your SOL back whenever you like. | On mainnet |
Why you come back
A streak stored on-chain, two nights off a month, and a morning worth opening.
1
approval a shift
bedtime, the charger and the alarm are already habits
2
nights off every 30 days
one bad night does not end the streak; the program stores both
30M
downloads of Pokémon Sleep
its own tips teach the same posture: plugged in, face-down, all night
What brings you back: the reveal after your own alarm · a home-screen widget and a Quick Settings tile · every shift on the Nights screen · a share card with no wallet address.
What is new
The referee is the phone's own hardware. Solana checks its signature in the same transaction as the dig.
The phone
Keystore key
P-256. It signs a heartbeat each ORE round and never leaves the phone.
Anyone
Crank
Carries the heartbeat to the chain. It cannot forge one.
Solana
secp256r1 precompile
Verifies the signature in the same transaction.
heads_down
Executor PDA
Signs only if this rig's key signed this round. It picks amount and squares.
ORE
deploy
From your own Automation. Your wallet funds it; ORE owns it.
No fresh heartbeat, no deploy.
171 program tests, 138 of them on a fork of live mainnet ORE
SKR · the Focus Bond
Lock SKR on a shift. Finish, and the same SKR comes back. Nobody is paid when you fail.
| Who decides you failed | Who gets the money | |
|---|---|---|
| Forfeit | the company: staff or AI review your proof | the company keeps it |
| Digital Detox | the app | its developer: “We only get paid if you decide to break your own rules” |
| Heads Down | the phone's secure hardware, checked by Solana | nobody: it is sold for ORE that is burned |
Heads Down emits no SKR, pays nothing for holding it and keeps none. Also in the program, with no screen yet: Stack tables and Gift a Rig.
Plain about money
Mining is one route to ORE, not income. The rig digs only under a price ceiling, and the reveal shows the market price beside yours.
| 58,801 real ORE rounds, 47 nights | Against buying |
|---|---|
| Dig every round | +36% to +90% |
| Dig 0.001 SOL chunks when the gate opens, buy the rest | −1.4% to −3.0% |
ORE
Other ORE miners place SOL from a wallet or a server. Heads Down digs only while this phone is face-down.
| On the Seeker store | Digs only while the phone is down | Who can place your SOL | Mine-or-buy, with a published backtest | |
|---|---|---|---|---|
| ORE's own app | yes, and ore.com | no | ORE's own executor | not found |
| RefinORE AutoMiner | yes | no: “even with the app closed” | a server | not found |
| Orestack (was Minemore) | yes | no | a server | not found |
| Oreminer | yes | no | a server | not found |
| Heads Down | not yet: an APK | yes | a program, only for this phone's fresh heartbeat | yes |
“Not found” means our review did not find it, not that it cannot exist.
Each rig is your own ORE Automation, and ORE can recompute our usage from its own DeployEvents.
Native Android
Native Kotlin and Compose, on system surfaces a web app cannot reach.
- Quick Settings tile or the app, then one wallet approval (Mobile Wallet Adapter 2.2.0)
- One clock-in transaction: ORE automate, register, caps, arm
- Foreground service. Killed by the OS means cold, nothing spent
- HyperOS keep-alive setup and a “killed last night” check
- Android 16 Live Update notification, with a 14/15 fallback
- Home-screen widgets, haptics, and a reveal aligned to your own alarm
1,440
JVM unit tests passed; 5 more are skipped
Redmi 14C
Android 16, HyperOS 3, accelerometer only. Since 10 Oct 2026: setup, a TEE rig key, attestation and ten shifts on mainnet.
On mainnet
Proof
On mainnet since 10 October 2026. Every shift, dig and lamport below is public.
| Program deployed, slot 455,359,196 | 4naP…Pae2 |
| Crank, registrar, indexer, dashboard | live, on Railway |
| Clock-in from the Redmi 14C, signed in Jupiter | 4DvP…aQht |
| First dig, ORE round 435,224 | 25nB…zovY |
| The pickup, and the BREAK the phone signed | 63FZ…yqVb |
| Clock-out | 3Vfb…uTUm |
| SOL taken back: 0.00502704 SOL, what the screen said, to the lamport | 46NX…DcFF |
| To 11 Oct: 5 more shifts, 15 digs in 15 rounds | 0.0019 ORE mined |
| Night of 12 Oct: three hours, about 170 heartbeats, 5 digs | 3Ngn…JJgf |
| 12 Oct: shift completed, 37 dark rounds, 10 SKR back | BaiM…Lvdt |

Open, and next
What protects the user, what is still open, and what comes next.
- The phone's key cannot leave its Keystore, and acts only inside limits the wallet signed
- Success is shown only after the chain confirms it
- Every key has a written worst case
- One key, the founder's, can upgrade the program
- No third-party audit; a debug-signed APK, not on the dApp Store
- Not run on a Seeker; no screen sends the Seeker check yet
- One user so far, the founder. The morning page did not open by itself on this phone.
- The haul already on screen when the alarm rings
- Nights that arm themselves: one approval a week
- A night partner: two phones, one streak
- A multisig, then an immutable v1; the dApp Store