Explore the Developer Architecture Stratum V2 and ARM integration proposals
Bitcoin proof-of-work integration for phones, Pi-class devices, and ASIC fleets. Integration runs through the verified dashboard: signed releases, a documented stack, and connection details issued once your access is approved.
Access Status
Builders and integration teams can request access now. Public pages describe what is live today.
- Configured onboarding
- Verify an email to open your dashboard. Connection details are private and are issued there once your access is approved.
- Alpha
- Developer access is documented at the concept level while private interfaces remain gated.
Live today
One endpoint is live and keyless. Everything else on this page is proposed, and says so.
GET https://melanin.engineering/api/v1/miner/<chain>/<address>- Current mining statistics for one wallet address on one chain. No key, no signup.
- The chain segment
- The lowercase slug of a chain named on our public pages —
btcfor Bitcoin. The response echoes it asprojectId. The chain is never guessed from the address. - One address per request
- There is no endpoint that lists miners, and there will not be one.
/api/v1/miner/<chain>/with no address is a 404 like any other malformed request, and rig names are never returned. - Limits
- Responses are cached for 60 seconds; anonymous requests are limited to 60 per 10 minutes per IP.
GET https://melanin.engineering/api/v1/miner/<address>- The same lookup without a chain segment: the permanent Bitcoin alias, identical in every byte to
/api/v1/miner/btc/<address>. Existing integrations keep working unchanged. - Explorer share pages
- The explorer separately publishes opt-in share profiles. A published profile shows the wallet address — the same figure the blockchain already carries — never rig names, and no route lists miners.
Response fields. Top level: address, projectId, observedAt (ISO 8601) and metrics. The projectId is the chain slug from the request, never an internal id.
Metrics: hashrate1m, hashrate5m, hashrate1h, hashrate1d, hashrate7d (H/s), shares, bestShare, bestEver, lastShareAt (ISO 8601). This list is frozen in code — a new field cannot appear without being deliberately added to the allow-list.
200 — address known to the pool (sample values, placeholder address)
{"ok": true,
"address": "bc1qexampleexampleexampleexampleexampleq3v9k",
"projectId": "btc",
"observedAt": "2026-08-24T09:00:00Z",
"metrics": {"hashrate1m": 98000000000000, "hashrate5m": 97400000000000,
"hashrate1h": 96100000000000, "hashrate1d": 95800000000000,
"hashrate7d": 94200000000000, "shares": 1284511,
"bestShare": 8123456789, "bestEver": 21474836470,
"lastShareAt": "2026-08-24T08:59:41Z"}}
404 — unknown or never-seen address (captured from production)
{"ok": false, "error": "not_found"}
The same body answers a malformed address, and a chain segment this platform does not name publicly. The endpoint deliberately does not reveal whether an address exists anywhere beyond this pool's own records, nor which chains exist here.
Proposed API Surface
None of the following is implemented. These route names reserve documentation space, and no client library has been published to any package registry.
GET /v1/status- Network status.
GET /v1/stats/public- Aggregate statistics.
POST /v1/device/register- Device registration.
GET /v1/earnings/{address}- Reserved for a future opt-in accounting view. No earnings or payout records exist behind it.
One endpoint is live and keyless today: GET /api/v1/miner/<chain>/<address>, with GET /api/v1/miner/<address> as its Bitcoin alias, documented in full in Live today at the top of this page. Client libraries are planned for Python and JavaScript, with Rust on a research track and Go a concept only.
Now, next, later
- Now
- Release notes and a simple stack diagram. Integration happens through the verified dashboard rather than a public API.
- Next
- A public RFC index and fuller reliability notes, once the service is ready to run them.
- Later
- Chaos-testing summaries, audit artifacts, public maintenance windows.
Proposed System Architecture
User Devices
Potential Click, Mobile, MSBX, and ASIC client classes
Edge / Network
Managed proxy and collaborative-network design. Connection details are private and are issued in an approved dashboard.
Blockchain
Rewards settle on-chain in the block’s own coinbase — 97% miner, 3% platform. Melanin holds no balances.
Planned protocol and connectivity
- Encrypted
- Stratum V2 is under consideration for a future encrypted connection path; no public path is enabled.
- Efficient
- A binary protocol can reduce bandwidth compared with JSON (Stratum V1); implementation remains future work.
- Version Rolling
- Version rolling is a protocol feature being evaluated for future clients.
- Job Negotiation
- Job negotiation is a future protocol consideration, not a currently exposed feature.
- Edge Proxies
- Local gateways are a future design option; none are publicly available.
- Managed Defaults
- Safe defaults and scheduling are design work; what ships lands in the release registry.
Non-custodial by construction: your share is written into the block's own coinbase, 97/3 to miner and platform. Bitcoin is the public path and the pool is accepting work. Onboarding needs a verified email, private endpoints stay off public pages, and public code is reviewed before release.