Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions docs/ai-agents/skills/agentkit/ngz.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: "No-Going-Zone (NGZ)"
description: "AgentKit action provider for querying and interacting with NGZ, an onchain habit accountability tracker on Base"
keywords: ["NGZ skill", "onchain habit tracker", "AgentKit action provider", "Base agent skill", "habit accountability agent"]
---

No-Going-Zone (NGZ) is an onchain habit accountability tracker on Base. Users declare a habit, check in daily to build a streak, earn soulbound milestone NFTs at 7, 30, 90, 180, and 365 days, and face permanent onchain consequences — a Wall of Shame NFT — when they relapse. All data lives onchain with no backend or database.

The NGZ action provider lets any AgentKit-powered agent read leaderboard data, look up user stats, and send transactions on behalf of a user.

## Install

Add the NGZ action provider to your AgentKit instance:

```bash Terminal
npm install @coinbase/agentkit
```

```typescript TypeScript
import { AgentKit } from "@coinbase/agentkit";
import { ngzActionProvider } from "@coinbase/agentkit";

const agentKit = await AgentKit.from({
walletProvider,
actionProviders: [ngzActionProvider()],
});
```

## What the skill covers

| Action | Wallet required | Description |
|--------|-----------------|-------------|
| `get_ngz_leaderboard` | No | Fetch top streak holders ranked by current streak |
| `get_ngz_user` | No | Look up a user's full stats by wallet address |
| `get_ngz_wall_of_shame` | No | Fetch recent relapse events from the Wall of Shame |
| `check_in_ngz` | Yes | Record today's check-in to maintain your onchain streak |
| `tip_ngz_user` | Yes | Send ETH respect directly to another user's wallet |

## Example prompts

```text
Show me the top 10 users on the NGZ leaderboard

Look up the NGZ profile for 0x1234...abcd

Show me the latest relapses on the NGZ Wall of Shame

Check me in on NGZ to keep my streak going

Send 0.001 ETH tip to 0x1234...abcd on NGZ with the message "Keep going!"
```

## Networks

Supported on `base-mainnet` and `base-sepolia`.

<Note>
The NGZ contract is currently deployed on Base Sepolia testnet at `0x4D1b5da45a5D278900aedfc6c96F0EE0D4e28bF6`. Mainnet deployment is in progress.
</Note>

## Streak milestones

NGZ mints a soulbound NFT each time a user hits a milestone. These NFTs cannot be transferred or burned.

| Days clean | Tier |
|------------|------|
| 7 | Novice Resister |
| 30 | Goon Slayer |
| 90 | Monk Mode Activated |
| 180 | Half-Year Warrior |
| 365 | NGZ Legend |

Relapsing mints a permanent **Fell Off** Wall of Shame NFT in addition to resetting the streak to zero.

## Reference

- [NGZ on Base Sepolia](https://sepolia.basescan.org/address/0x4D1b5da45a5D278900aedfc6c96F0EE0D4e28bF6#code)
- [NGZ frontend](https://frontend-one-khaki-22.vercel.app)
- [coinbase/agentkit PR #1126](https://github.com/coinbase/agentkit/pull/1126)
- [@coinbase/agentkit documentation](https://docs.cdp.coinbase.com/agent-kit/docs/agentkit-overview)
4 changes: 4 additions & 0 deletions docs/ai-agents/skills/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ Skills are installable knowledge packs that give your AI agent specific onchain
<Card title="Swap Execution" icon="arrows-rotate" href="/ai-agents/skills/trading/swap-execution">
Execute token swaps using wallet-native skills across Bankr, CDP, and Sponge.
</Card>

<Card title="No-Going-Zone (NGZ)" icon="fire" href="/ai-agents/skills/agentkit/ngz">
Onchain habit accountability on Base — leaderboard, user stats, check-ins, and tips via AgentKit.
</Card>
</CardGroup>
13 changes: 10 additions & 3 deletions docs/apps/quickstart/migrate-to-standard-web-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,21 @@ Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth,
Install wagmi, viem, and React Query if you don't have them already:

```bash Terminal
npm install wagmi viem @tanstack/react-query @base-org/account
npm install wagmi viem ox @tanstack/react-query @base-org/account
```

Create a wagmi config for Base and wrap your app with `WagmiProvider` and `QueryClientProvider`:

```tsx config.ts lines expandable wrap
```tsx config.ts lines expandable wrap highlight={4,6-9,24}
import { http, createConfig, createStorage, cookieStorage } from 'wagmi';
import { base } from 'wagmi/chains';
import { baseAccount, injected } from 'wagmi/connectors';
import { Attribution } from 'ox/erc8021';

// Get your Builder Code from base.dev > Settings > Builder Code
const DATA_SUFFIX = Attribution.toDataSuffix({
codes: ['YOUR-BUILDER-CODE'],
});

export const config = createConfig({
chains: [base],
Expand All @@ -67,6 +73,7 @@ Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth,
transports: {
[base.id]: http(),
},
dataSuffix: DATA_SUFFIX,
});

declare module 'wagmi' {
Expand Down Expand Up @@ -173,7 +180,7 @@ Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth,
</Step>

<Step title="Register on Base.dev">
If you haven't registered yet, create a project at [Base.dev](https://www.base.dev) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata.
If you haven't registered yet, create a project at [Base.dev](https://www.base.dev) and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and [builder code](/apps/builder-codes/builder-codes). Already registered apps do not need to re-register or update metadata. To attribute transactions from web users outside the Base App browser, also add your Builder Code as a `dataSuffix` to your wagmi config. See [Builder Codes for App Developers](/apps/builder-codes/app-developers).
</Step>
</Steps>

Expand Down
6 changes: 6 additions & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,12 @@
"ai-agents/skills/trading/alchemy-agentic-gateway",
"ai-agents/skills/trading/swap-execution"
]
},
{
"group": "AgentKit",
"pages": [
"ai-agents/skills/agentkit/ngz"
]
}
]
}
Expand Down