[2604 Grant] RBTC Onboarding EventKit

Proposal Content

A. Project Name:
RBTC Onboarding EventKit

B. Classification:

  • Project stage: MVP

  • Sector: Developer Tools / Infrastructure

  • Target audience: Wallets, exchanges, and dApps that support the official BTC to RBTC peg-in flow on Rootstock

Submission Date:
April 6, 2026


Founder Information

Founder name(s)

Professional background
Crackdevs is a builder collective focused on developer tooling and core infrastructure. The team works on the kinds of tools that reduce integration friction: SDKs, CLIs, templates, backend utilities, and the glue code around them.

Ifedimeji Omoniyi is a Technical Product Manager with experience across developer tooling, protocols, and infrastructure.

Ayomide Ojutalayo is a Developer Engineer focused on implementation and tooling.

Prior blockchain experience
Crackdevs focuses on developer tooling and infrastructure-oriented product work for blockchain teams. This proposal continues that direction with a narrow integration tool for Rootstock onboarding.


Team

Key team members and roles

  • Ayomide Ojutalayo — Developer Engineer

  • Ifedimeji Omoniyi — Technical Product Manager

Relevant experience and expertise

  • Building developer tooling and integration utilities

  • Designing backend event flows with retries, deduplication, and signature verification

  • Shipping open-source packages with examples, documentation, and CI

Previous blockchain/web3 projects
N/A


Media & Resources

Screenshots/mockups
N/A

Technical documentation
Current technical documentation is in the prototype repository:
https://github.com/Crackdevs/RBTC-Onboarding-EventKit


Current Progress Before Submission

Before submitting this grant, we self-funded and published a working MVP to reduce execution risk and show that this is already moving beyond the idea stage.

Public prototype / MVP:
https://github.com/Crackdevs/RBTC-Onboarding-EventKit

The current repository already covers the project foundation:

  • SDK package structure

  • webhook-worker package structure

  • example receiver applications

  • documentation scaffolding

  • CI and release workflow scaffolding

We are presenting it as a working foundation. The grant request covers the remaining work needed to take that foundation to release-grade quality: lifecycle hardening, payload and signature stability, retry and idempotency guarantees, fixture coverage, packaging, polished integration examples, and full documentation.


Traction & Metrics

TVL (if applicable)
N/A

Growth trajectory
N/A

Key achievements to date

  • Public MVP published before grant submission

  • Project has moved past the concept stage into working implementation groundwork

  • Initial architecture and package boundaries have already been validated in code


Grant Request

Total amount requested
$9,300

Milestone breakdown with associated deliverables and dates

For scheduling clarity, T0 means grant kickoff.

Milestone 1 — Lifecycle model and SDK core

Target date: T0 + 2 weeks
Amount: 2,700 USDRIF or rBTC equivalent at disbursement

Deliverables

  • Finalized canonical peg-in lifecycle model for official BTC to RBTC onboarding flows

  • Hardened backend adapter layer that normalizes official peg-in status responses

  • Typed TypeScript payloads and helpers

  • Fixture-based tests covering the shipped lifecycle states

What the existing MVP already contributes
The current prototype already includes the early foundation for the SDK package and lifecycle handling. This milestone covers the release-grade completion of that work.

Acceptance criteria

  • The SDK normalizes official peg-in status responses into one documented lifecycle model

  • The lifecycle model has clear terminal, non-terminal, and failure states

  • Fixture tests cover all shipped lifecycle states without ambiguity

Milestone 2 — Signed webhook worker

Target date: T0 + 4 weeks
Amount: 2,800 USDRIF or rBTC equivalent at disbursement

Deliverables

  • Self-hostable webhook worker

  • Signed webhook payload generation

  • Signature verification helpers

  • Retry and backoff logic

  • Idempotency keys and deduplication

What the existing MVP already contributes
The current prototype already includes the early foundation for the webhook-worker package. This milestone covers the release-grade completion of signing, retry, verification, and delivery guarantees.

Acceptance criteria

  • Webhook payloads are signed and verifiable

  • Duplicate state changes do not trigger duplicate downstream processing

  • Retry behavior is deterministic and documented

  • The worker can be configured without application-specific code changes

Milestone 3 — Reference integrations and test suite

Target date: T0 + 6 weeks
Amount: 2,000 USDRIF or rBTC equivalent at disbursement

Deliverables

  • One wallet-backend example

  • One exchange / deposit-processor example

  • End-to-end lifecycle tests

  • CI workflow

Acceptance criteria

  • Both examples run successfully with documented setup

  • CI passes consistently

  • The examples show exact app-side state transitions for deposit tracking and completion handling

Milestone 4 — Docs, packaging, and release polish

Target date: T0 + 7 weeks
Amount: 1,800 USDRIF or rBTC equivalent at disbursement

Deliverables

  • npm packaging

  • Quickstart

  • Webhook payload specification

  • Integration guide

  • Short post-release bug-fix window

Acceptance criteria

  • Package is installable from npm

  • A reviewer can follow the docs and run a sample flow without guesswork

  • Webhook format and verification steps are fully documented

  • Release artifacts are versioned and usable without relying on internal setup knowledge

Amounts per milestone in desired coin/token: USDRIF, rBTC

  • M1: 2,700 USDRIF or rBTC equivalent

  • M2: 2,800 USDRIF or rBTC equivalent

  • M3: 2,000 USDRIF or rBTC equivalent

  • M4: 1,800 USDRIF or rBTC equivalent


Mission & Vision

How your project aligns with Rootstock ecosystem goals
RBTC Onboarding EventKit improves the developer-side reliability of the official BTC to RBTC onboarding flow.

The onboarding path already exists. What many product teams still need is a reusable way to turn peg-in status changes into backend actions they can trust. That includes updating deposit records, marking funds as available, notifying users, and reducing support uncertainty around deposits in progress.

This proposal stays close to that real workflow. It does not introduce a new bridge, a new hosted service, or a new protocol. It strengthens a flow Rootstock already has by making it easier for other teams to integrate correctly.


Product Details

Core features and functionality
RBTC Onboarding EventKit will ship as two open-source packages.

1. TypeScript SDK

The SDK will provide:

  • a canonical peg-in lifecycle model

  • typed status payloads

  • lifecycle normalization helpers

  • webhook signature verification helpers

  • integration utilities for backend applications

2. Self-hostable webhook worker

The webhook worker will provide:

  • polling against the official status backend

  • signed webhook delivery

  • retry handling

  • idempotency keys

  • deduplication

  • configurable webhook destinations

Technical architecture

  • TypeScript packages published to npm

  • One lightweight worker process for polling and webhook delivery

  • No hosted infrastructure in the grant scope

  • Fixture-based lifecycle tests and CI

  • Reference integrations that show real application usage

Integration with Rootstock
This project is purpose-built for the official BTC to RBTC peg-in flow on Rootstock.

Version 1 is intentionally limited to:

  • native BTC to RBTC peg-ins

  • fast-mode peg-ins only where the official backend already exposes the required statuses

This tight scope is deliberate. It keeps the project realistic within budget and avoids drifting into quote routing, LP selection, full peg-out support, or broad bridge abstraction.

Security considerations

  • Signed webhook payloads for authenticity

  • Idempotency keys and deduplication to prevent double-processing

  • No custody of user funds

  • No key management beyond webhook signing configuration

  • No hosted-service exposure introduced by the grant deliverable


Description

Core problem being solved
The current onboarding flow gives end users a manual way to check peg-in progress, but products that support BTC to RBTC onboarding need more than a manual status page.

A wallet, exchange, or application usually needs to know when a peg-in:

  • has been detected

  • is still pending

  • has completed

  • has failed

Without a reusable integration layer, each team ends up building and maintaining its own polling logic, status mapping, retry handling, and webhook delivery. That repeated work is inefficient and easy to get wrong.

Solution overview
RBTC Onboarding EventKit packages the missing integration layer on top of the official peg-in flow.

It gives integrators:

  • one documented lifecycle model

  • one signed webhook format

  • one TypeScript package for verification and parsing

  • example integrations that show exactly how to automate app-side updates

You can already see the project foundation in the public MVP repository:
https://github.com/Crackdevs/RBTC-Onboarding-EventKit

Unique value proposition

  • It solves a real integration problem without requiring protocol changes

  • It is narrow enough to ship within the requested budget

  • It improves a live onboarding flow instead of inventing a new one

  • It is useful immediately to teams that support official peg-ins

  • It stays separate from quote tools, routing tools, Relay tools, and local dev stacks

Competitive analysis
Existing Rootstock onboarding infrastructure already helps users initiate and monitor peg-ins. Existing lower-level packages help developers interact with bridge-related components.

What is still missing is a small, reusable product layer for:

  • canonical lifecycle states

  • signed webhook delivery

  • retry and deduplication rules

  • integration-ready backend examples

This proposal does not try to replace the current backend. It builds on top of that flow and turns it into a practical developer tool.


Project Roadmap

Clear timeline with measurable deliverables

Phase 1 — Lifecycle model and SDK core

Completion target: T0 + 2 weeks
Measurable deliverables:

  • canonical lifecycle model documented

  • SDK normalizes official peg-in status responses

  • fixture tests cover the shipped states

Phase 2 — Signed webhook worker

Completion target: T0 + 4 weeks
Measurable deliverables:

  • signed payloads emitted

  • signature verification helpers shipped

  • retry and deduplication logic implemented and tested

Phase 3 — Reference integrations and CI

Completion target: T0 + 6 weeks
Measurable deliverables:

  • wallet example shipped

  • exchange / deposit-processor example shipped

  • CI passing consistently

Phase 4 — Packaging and release

Completion target: T0 + 7 weeks
Measurable deliverables:

  • npm release published

  • quickstart and integration guide complete

  • payload specification published

  • post-release bug-fix window started

Major milestones and expected completion dates

  • T0 + 2 weeks

  • T0 + 4 weeks

  • T0 + 6 weeks

  • T0 + 7 weeks

Key success metrics for each phase

  • Lifecycle normalization works from fixture inputs without ambiguity

  • Signed webhooks are verifiable and safe for backend use

  • Duplicate events do not cause duplicate downstream processing

  • Example integrations make the usage of the tool immediately clear

  • A reviewer can run the example flow by following the docs without guesswork


Performance Targets

Transaction volume
N/A

TVL (Total Value Locked)
N/A

User acquisition
N/A for direct end users, since this is developer infrastructure

Other relevant metrics

  • SDK successfully normalizes official peg-in states into one documented lifecycle model

  • Signed webhooks pass verification and deduplication tests consistently

  • CI passes across the shipped fixture and integration tests

  • A reviewer can run a sample flow in under 30 minutes using the documentation

  • Example backends can update internal deposit records correctly when a peg-in lifecycle state changes


Conclusion

RBTC Onboarding EventKit is a focused developer-tooling proposal for Rootstock’s official BTC to RBTC onboarding flow.

The current flow already lets users track progress manually. What many integrators still need is a reliable, reusable way to turn peg-in status changes into backend automation.


Social & Community

Website: crackdevs.org
Email: info@crackdevs.org
Twitter/X: crackdevs

1 Like

We understand the motivation behind this proposal and that handling BTC to RBTC peg-in status is part of the integration process for teams building on Rootstock. However, from our perspective, the core question is not whether this can be improved, but whether it is a pain point significant enough for teams to adopt a shared solution instead of continuing to build their own logic.

As outlined in the proposal, teams currently need to build and maintain their own polling logic, status mapping, retry handling, and webhook delivery. While this proposal aims to standardize that process, it is not yet clear that this represents a major bottleneck for existing integrators.

Have you validated demand with wallets, exchanges, or dApps that would adopt this EventKit?

Thank you @Curia, we agree the key issue is not whether status handling can be improved, but whether it is recurring enough in practice that a shared solution is justified.

We believe the public Rootstock materials already show that this is a concrete integration need that is not fully solved by the current user-facing flow.

1. The current official status flow is still oriented around manual checking.
The peg-in status guide tells users to open the transaction status page, paste the transaction ID, and refresh to see progress. That is useful for an individual user, but it is not a reusable backend interface for products that need to update deposit records, trigger internal actions, or notify users automatically.

2. Peg-ins are long-running enough that backend lifecycle handling matters.
The official PowPeg overview describes native peg-ins as taking about 17 hours to complete, and the PowPeg FAQ describes fast mode as roughly 20 minutes depending on LP conditions. For a flow that can remain in progress for that length of time, product teams usually need more than a manual refresh pattern.

3. Rootstock already positions wallets, exchanges, and dApps as the intended integrators for this onboarding path.
The Flyover integration overview explicitly names wallets, exchanges, dApps, DEXs, and swaps as the audience for these flows. Those teams commonly need machine-readable lifecycle updates in addition to a user-facing page, because they need to know when deposits are pending, completed, or failed inside their own systems.

4. The official stack already relies on dedicated backend status-tracking components.
The public 2wp-api repository describes the solution as a web interface plus a REST API, with a separate daemon or worker responsible for obtaining blockchain data and updating transaction status. That is evidence that status handling is already substantial enough to justify dedicated infrastructure. Our proposal does not replace that stack. It adds the missing developer-facing layer on top of it: normalized lifecycle states, signed webhooks, retries, deduplication, and backend examples.

So our point is not simply that status is important in the abstract. It is that Rootstock’s own public flow already shows long-running deposit states, product integrator use cases, and a non-trivial backend for status tracking. EventKit is meant to package the missing integration layer on top of that, so teams do not each have to rebuild the same lifecycle and webhook logic privately.

Thank you so much for the questions!

Thanks for the proposal, @Crackdevs.

We reviewed the MVP repository and have concerns.

The MVP already implements most of the grant deliverables. The webhook worker, SDK, and example backends are all working code. The proposal frames the remaining work as “hardening to release-grade quality,” but the gap between this and a publishable package is test coverage and documentation, not $9,300 across four milestones.

The codebase contains no Rootstock-specific code. Your reply to @Curia positions EventKit as a layer on top of 2wp-api, but nothing in the repository actually connects to it. The worker polls a generic HTTP endpoint, the lifecycle states are generic deposit states, and the signing is standard. The hard part, building a concrete adapter that works against Rootstock’s status infrastructure, is the work that would justify a grant, but it’s not in the MVP and not clearly scoped in the milestones.

We agree with @Curia on demand validation. We’d add: even setting demand aside, the treasury should fund work that is specific to Rootstock’s ecosystem and hard to build independently. A generic webhook relay doesn’t meet that bar.

1 Like

Hi @Crackdevs, welcome to the Rootstock Collective! Appreciate you already self funding an MVP of the SDK. I think the open question, as other delegates have brought up, is whether the SDK will have usage. I’m tagging RLabs Product Manager @tobyj so he can maybe shed some more light. Hang tight!

Thank you for the review @Tane We took the feedback seriously and updated both the build and the repo to address the main concern you raised.

We have made the implementation Rootstock-specific and updated the repository accordingly, so it is no longer just a generic webhook pattern. Please check again and let us know whether this now addresses the concern well enough for the proposal to proceed on-chain, or if there is still one specific gap you think needs to be resolved first. GitHub - Crackdevs/RBTC-Onboarding-EventKit · GitHub.

Hi @Axia , thank you - we are following up on your last comment since we did not hear from @tobyj. Please let us know if we can move forward with the proposal for on chain voting. Thank you.

Hi @Crackdevs you can go ahead and move forward with the onchain vote since the discussion has been on the forum for ~3 weeks.

Thanks for the update, @Crackdevs. We re-reviewed the repo and agree the implementation concern in our comment is now resolved.

The demand-validation question has not been addressed. Until there are concrete integrator commitments in the proposal, our position remains against.

Hi @Tane, since your last comment, three external product teams have posted public validation comments directly on the EventKit repo.

The validation now includes:

  • Pistachio.fi — a mobile crypto app focused on saving, earning, sending, and spending. They said deposit lifecycle visibility would be useful for future Rootstock onboarding and that they are open to reviewing/testing EventKit’s signed webhook events:

  • Deserialize — API-layer swap infrastructure with significant swap volume. They noted that unclear transaction states can become a support and operations issue at scale, and they are willing to review/test EventKit’s payload design and lifecycle model:

  • PouchSwap — a swap/bridge product. They confirmed that BTC to RBTC onboarding would need clear lifecycle visibility for any future Rootstock support, and they are open to testing whether EventKit fits their flow:

Link to validation: Issues · Crackdevs/RBTC-Onboarding-EventKit · GitHub

Given that the implementation concern has already been resolved, and there are now public validation comments from external products, we would appreciate your reconsideration on whether this is enough for the proposal to proceed on-chain.
Thank you.

Thanks @Crackdevs. One factual flag on the validation links: issue #1 (PouchSwap) and issue #2 (Deserialize) on the EventKit repo are both filed by the same GitHub user, Bravark, claiming to represent two distinct protocols. Those don’t establish two independent validation signals.

Hi @Crackdevs

Have you had a chance to review the updated grant guidelines? Published on May 6th, 2026.

How do you see EventKit aligning with the 2026 strategic themes?

The closest theme appears to be Rootstock Onboarding UX, which is framed around reducing Time-to-First-Transaction — wallet abstraction, onramp integrations, simplified swap and bridge UI. EventKit operates one layer removed from that: it helps product teams handle peg-in lifecycle events on the backend, but doesn’t directly reduce onboarding friction for end users.

Would appreciate your thoughts on where this proposal fits within the current funding priorities.

Thanks!

Hi @Tane , thank you. Please kindly note that the Guthub user Bravark is the Co-founder for Deserialize and the CTO for Pouch wallet. Here’s his twitter/X for verification:https://x.com/0xazach . These are two different product entirely. Please let me know if this clears the flag. Thanks.

Thanks for raising this @DAOstar_gov. We reviewed the V3.2 guidelines, and EventKit is positioned as Developer Tooling & SDKs / Infrastructure & Protocol Integrations, with a supporting connection to Rootstock Onboarding UX. It is not a consumer onboarding UI, an onramp, or a tool that reduces protocol confirmation time. It supports the backend side of the official BTC to RBTC peg-in flow by helping teams handle detected, pending, completed, and failed states more reliably.

That backend layer matters because a smooth onboarding experience does not end when a user starts a peg-in. Wallets, exchanges, and dApps still need to track deposit progress, update records, notify users, and avoid unclear “stuck deposit” situations. EventKit reduces that repeated integration work by providing a reusable SDK/webhook layer instead of each team rebuilding polling, status mapping, and event handling privately. For impact, we would track external teams reviewing/testing it, public feedback or PRs, successful sample integrations, and how quickly a developer can run the example receiver and verify signed webhook delivery.

Thank you!

2 Likes

We’re glad to share that we have now submitted the Milestone 1 funding request on-chain for RBTC Onboarding EventKit.

We appreciate your continued review and support.

Hey @Crackdevs can you please share your latest Milestones with deliverables and relevant links? Particularly for Milestone 1, what are you committing to deliver?

Hi @Axia , yes. Thank you for the request. Below are the latest milestones with relevant links:

Milestone 1 — Lifecycle model and SDK core
Amount: 2,700 USDRIF or rBTC equivalent
Timeline: T0 + 2 weeks from grant kickoff

Deliverables:

  • Finalized canonical peg-in lifecycle model for the official BTC → RBTC onboarding flow
  • Concrete adapter to the official PowPeg App / 2wp-api status response surface
  • Mapping of official peg-in response shapes into one documented Rootstock peg-in lifecycle model
  • Typed TypeScript payloads and helpers
  • Fixture-based tests covering the shipped lifecycle states

Acceptance criteria:

  • The SDK normalizes official peg-in status responses into one documented Rootstock peg-in lifecycle model
  • The lifecycle model has clear terminal, non-terminal, and failure states
  • Fixture tests cover all shipped lifecycle states without ambiguity
  • The adapter is specific to the official PowPeg App / 2wp-api status surface, not just a generic HTTP endpoint

Milestone 2 — Signed webhook worker
Amount: 2,800 USDRIF or rBTC equivalent
Timeline: T0 + 4 weeks from grant kickoff

Deliverables:

  • Self-hostable webhook worker
  • Signed webhook payload generation for the documented Rootstock peg-in lifecycle states
  • Signature verification helpers
  • Retry and backoff logic
  • Idempotency keys and deduplication
  • Webhook emission driven by the official peg-in lifecycle model

Acceptance criteria:

  • Webhook payloads are signed and verifiable
  • Duplicate state changes do not trigger duplicate downstream processing
  • Retry behavior is deterministic and documented
  • The worker can be configured without application-specific code changes
  • Webhook events are tied to the documented Rootstock peg-in lifecycle states, not generic deposit states

Milestone 3 — Reference integrations and test suite
Amount: 2,000 USDRIF or rBTC equivalent
Timeline: T0 + 6 weeks from grant kickoff

Deliverables:

  • One wallet-backend example
  • One exchange / deposit-processor example
  • End-to-end lifecycle tests
  • CI workflow

Acceptance criteria:

  • Both examples run successfully with documented setup
  • CI passes for the shipped test suite
  • The examples show expected app-side state transitions for deposit tracking and completion handling
  • The example backends persist state transitions from the documented lifecycle model and reject duplicate webhook deliveries

Milestone 4 — Docs, packaging, and release polish
Amount: 1,800 USDRIF or rBTC equivalent
Timeline: T0 + 7 weeks from grant kickoff

Deliverables:

  • npm packaging
  • Quickstart
  • Webhook payload specification
  • Integration guide
  • Short post-release bug-fix window

Acceptance criteria:

  • Package is installable from npm
  • A reviewer can run the example receiver flow from the documented setup and verify signed webhook delivery and lifecycle parsing
  • Webhook format and verification steps are fully documented
  • Release artifacts are versioned and usable without relying on internal setup knowledge

Relevant links:

Repo: github dot com / Crackdevs / RBTC-Onboarding-EventKit (we are unable to post link in the right format because the forum doesnt allow us)