Skip to content

feat(ngz): add No-Going-Zone onchain habit accountability action provider#1126

Open
bennytimz wants to merge 1 commit intocoinbase:mainfrom
bennytimz:feat/ngz-action-provider
Open

feat(ngz): add No-Going-Zone onchain habit accountability action provider#1126
bennytimz wants to merge 1 commit intocoinbase:mainfrom
bennytimz:feat/ngz-action-provider

Conversation

@bennytimz
Copy link
Copy Markdown

Summary

Adds a new action provider for No-Going-Zone (NGZ), an onchain habit accountability tracker deployed on Base.

NGZ lets users declare habits, check in daily to build streaks, earn soulbound milestone NFTs at 7/30/90/180/365 days, and face permanent onchain consequences (Wall of Shame NFTs) when they relapse. All data lives onchain — no backend, no database.

Actions Added

Read-only (no wallet required)

  • get_ngz_leaderboard — Fetch top streak holders ranked by current streak
  • get_ngz_user — Look up a user's full stats by wallet address
  • get_ngz_wall_of_shame — Fetch recent relapse events from the Wall of Shame

Write (wallet required)

  • check_in_ngz — Record today's check-in to maintain your onchain streak
  • tip_ngz_user — Send ETH respect directly to another user's wallet (100% goes to recipient, no fee)

Implementation Notes

  • Read actions use viem's createPublicClient to query the NGZ contract directly — no external API dependency
  • Write actions use the WalletProvider interface so they work with any wallet (CDP, Privy, viem, etc.)
  • Supports base-mainnet and base-sepolia
  • Contract address: 0x4D1b5da45a5D278900aedfc6c96F0EE0D4e28bF6 (Base Sepolia — mainnet deployment in progress)
  • All actions return structured JSON strings following the existing provider pattern

Tests

16/16 tests passing. Coverage includes:

  • Happy path for all 5 actions
  • Empty/zero state responses
  • Contract and transaction failure handling
  • Network support validation

Checklist

  • Tests added and passing (pnpm test -- --testPathPattern=ngz)
  • Lint passing (pnpm run lint)
  • Format passing (pnpm run format)
  • Changeset created
  • Export added to action-providers/index.ts
  • README included

@cb-heimdall
Copy link
Copy Markdown

cb-heimdall commented Apr 18, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@bennytimz bennytimz requested a review from murrlincoln as a code owner April 18, 2026 21:58
@github-actions github-actions Bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Apr 18, 2026
@bennytimz bennytimz force-pushed the feat/ngz-action-provider branch from aa4a994 to c9b53c9 Compare April 19, 2026 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

2 participants