Skip to content

Commit 15ed7cf

Browse files
author
asbestos22
committed
feat(v10.1): live ERC-8004 registration on BSC mainnet (agentId 129156)
NRI registered as discoverable on-chain agent via real bnbagent SDK. - agentId: 129156 - network: bsc-mainnet (chain 56) - tx: 0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d - block: 102791231 - gas paid: 0 BNB (MegaFuel paymaster sponsored) - registry: 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 Dashboard now displays live on-chain identity block at the top. agent_identity.json provides reproducibility snapshot.
1 parent fd7e411 commit 15ed7cf

8 files changed

Lines changed: 1192 additions & 10 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ __pycache__/
1212
# Environment
1313
.env
1414
.venv/
15+
venv/
1516

1617
# IDE
1718
.vscode/

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,16 +163,41 @@ Tampering with the amount after signing fails signer recovery and is rejected. S
163163

164164
## BNB AI Agent SDK Integration
165165

166-
`bnb_agent_integration.py` registers NRI as a discoverable on-chain agent using the real [`bnbagent` SDK](https://github.com/bnb-chain/bnbagent-sdk) (ERC-8004 agent identity). Registration is gas-free on BSC testnet via the MegaFuel paymaster.
166+
NRI is registered as a discoverable on-chain agent on **BSC mainnet** using the real [`bnbagent` SDK](https://github.com/bnb-chain/bnbagent-sdk) (ERC-8004 agent identity).
167+
168+
### Live on-chain identity (BSC mainnet)
169+
170+
| Field | Value |
171+
|-------|-------|
172+
| `agentId` | **#129156** |
173+
| Network | BSC Mainnet (chain 56) |
174+
| Registry | `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432` |
175+
| Agent wallet | `0x7D93a5a96f9306E9b0D3B185aef702d03D1572C1` |
176+
| Tx hash | [`0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d`](https://bscscan.com/tx/0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d) |
177+
| Gas paid | **0 BNB** (sponsored by MegaFuel paymaster) |
178+
| Block | 102791231 |
179+
180+
The agent record points to two live endpoints:
181+
- `https://nri.realdo.org/mcp``scan_narratives`, `score_narrative`, `detect_regime`, `rank_stables`, `rotation_target`
182+
- `https://nri.realdo.org/signal``full_scan`, `regime_update`, `stablecoin_risk`
183+
184+
Any agent on BSC can resolve `agentId 129156` against the registry and discover NRI's MCP and signal APIs without an out-of-band registry. Snapshot lives at [`agent_identity.json`](./agent_identity.json).
185+
186+
### Reproducing registration
187+
188+
`bnb_agent_integration.py` builds the ERC-8004 agent URI and broadcasts the registration tx. Registration is gas-free on BSC mainnet via the MegaFuel paymaster.
167189

168190
```bash
169-
pip install bnbagent
170191
python bnb_agent_integration.py # offline dry-run: builds the agent URI, no wallet/chain
171192
python bnb_agent_integration.py --register # real ERC-8004 registration (needs WALLET_PASSWORD)
172193
```
173194

174195
The default mode is offline: it constructs the exact ERC-8004 agent URI the SDK would submit and prints it, touching no wallet and broadcasting nothing. On-chain registration is gated behind `--register` and a wallet password.
175196

197+
```bash
198+
pip install bnbagent
199+
```
200+
176201
## Architecture
177202

178203
```

agent_identity.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"agentId": 129156,
3+
"transactionHash": "0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d",
4+
"wallet_address": "0x7D93a5a96f9306E9b0D3B185aef702d03D1572C1",
5+
"network": "bsc-mainnet",
6+
"chain_id": 56,
7+
"registry_contract": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
8+
"registered_at": "2026-06-07T06:23:00Z",
9+
"block_number": 102791231,
10+
"gas_paid_bnb": 0,
11+
"paymaster": "MegaFuel (gas sponsored)",
12+
"bscscan_tx": "https://bscscan.com/tx/0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d",
13+
"bscscan_token": "https://bscscan.com/token/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432?a=129156",
14+
"skill_name": "narrative-rotation-index",
15+
"skill_version": "10.0",
16+
"endpoints": [
17+
{
18+
"name": "MCP",
19+
"endpoint": "https://nri.realdo.org/mcp",
20+
"capabilities": ["scan_narratives", "score_narrative", "detect_regime", "rank_stables", "rotation_target"]
21+
},
22+
{
23+
"name": "x402-signal-api",
24+
"endpoint": "https://nri.realdo.org/signal",
25+
"capabilities": ["full_scan", "regime_update", "stablecoin_risk"]
26+
}
27+
]
28+
}

bnb_agent_integration.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,27 @@
3434
import sys
3535

3636
SKILL_NAME = "narrative-rotation-index"
37-
SKILL_VERSION = "8.1"
37+
SKILL_VERSION = "10.0"
3838
SKILL_DESCRIPTION = (
39-
"CMC-native crypto narrative rotation strategy: regime detection, "
40-
"5-bucket relative-strength scoring, and a late-cycle exhaustion detector."
39+
"CMC-native crypto narrative rotation strategy with stablecoin risk overlay: "
40+
"regime detection, 5-bucket relative-strength scoring, late-cycle exhaustion, "
41+
"and defensive rotation via Stablecoin Risk Radar."
4142
)
4243

4344
# Public endpoints NRI exposes as an on-chain agent. The MCP server is the
4445
# primary callable surface; the x402-priced HTTP signal API is secondary.
4546
AGENT_ENDPOINTS = [
4647
{
4748
"name": "MCP",
48-
"endpoint": "https://narrative-rotation-index.example/mcp",
49+
"endpoint": "https://nri.realdo.org/mcp",
4950
"version": SKILL_VERSION,
50-
"capabilities": ["scan_narratives", "score_narrative", "detect_regime"],
51+
"capabilities": ["scan_narratives", "score_narrative", "detect_regime", "rank_stables", "rotation_target"],
5152
},
5253
{
5354
"name": "x402-signal-api",
54-
"endpoint": "https://narrative-rotation-index.example/signal",
55+
"endpoint": "https://nri.realdo.org/signal",
5556
"version": SKILL_VERSION,
56-
"capabilities": ["full_scan", "regime_update"],
57+
"capabilities": ["full_scan", "regime_update", "stablecoin_risk"],
5758
},
5859
]
5960

skill.yaml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,36 @@ stablecoin_risk_radar:
4747
- USDC_SVB_2023
4848
- UST_DEATH_2022
4949

50+
bnb_ai_agent_sdk:
51+
description: >
52+
NRI is registered as a discoverable on-chain agent on BSC mainnet via the
53+
real bnbagent SDK (pip install bnbagent). Any BSC client can resolve the
54+
agentId against the ERC-8004 registry to discover NRI's MCP and signal
55+
endpoints without an out-of-band registry.
56+
protocol: ERC-8004
57+
network: bsc-mainnet
58+
chain_id: 56
59+
agent_id: 129156
60+
agent_wallet: "0x7D93a5a96f9306E9b0D3B185aef702d03D1572C1"
61+
registry_contract: "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
62+
transaction_hash: "0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d"
63+
block_number: 102791231
64+
gas_paid_bnb: 0
65+
paymaster: "MegaFuel (gas sponsored)"
66+
bscscan_tx: "https://bscscan.com/tx/0xcc86de3451e1623655f3f4c3b96ef453953191633bdbf088fb70e2c4b656c66d"
67+
bscscan_token: "https://bscscan.com/token/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432?a=129156"
68+
agent_endpoints:
69+
- name: MCP
70+
endpoint: "https://nri.realdo.org/mcp"
71+
capabilities: [scan_narratives, score_narrative, detect_regime, rank_stables, rotation_target]
72+
- name: x402-signal-api
73+
endpoint: "https://nri.realdo.org/signal"
74+
capabilities: [full_scan, regime_update, stablecoin_risk]
75+
reproducibility:
76+
sdk_install: "pip install bnbagent"
77+
register_command: "python bnb_agent_integration.py --register"
78+
snapshot_file: "agent_identity.json"
79+
5080
scoring_model:
5181
description: >
5282
5-bucket weighted scoring with narrative-specific fundamental customization.
@@ -321,7 +351,7 @@ example_call:
321351
X-Tier: "full_scan"
322352
output:
323353
skill: "narrative-rotation-index"
324-
version: "8.1"
354+
version: "10.0"
325355
regime: "TRANSITION"
326356
top_narrative: "Meme"
327357
verdict: "STRONG_LONG"

0 commit comments

Comments
 (0)