autoreg-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok60915d52e8425
2026-10-20 02:16:32 +03:00
commit f58eafeb48
565 changed files with 60064 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
# ATXP Wallet & Balance Endpoints (26.06.2026)
## Discovered Endpoints
All endpoints at `https://accounts.atxp.ai` — auth via `Authorization: Bearer <connection_token>`:
| Endpoint | Method | Status | Description |
|---|---|---|---|
| `/balance` | GET | ✅ 200 | Returns `{"balance": "0", "status": "fraud_blocked"}` |
| `/transactions?limit=N` | GET | ✅ 200 | Returns transaction list (empty for new agents) |
| `/whoami` | GET | ✅ 200 | Returns agent ID, email, wallet address |
| `/fund` | POST | ✅ 200 | Returns funding options (Stripe + USDC), requires payment |
| `/withdraw` | POST | ✅ 200 | Withdraw USDC, requires verified account |
| `/v1/wallet/export` | GET | ❌ 404 | Does NOT exist (frontend route only) |
| `/v1/wallet` | GET | ❌ 404 | Does NOT exist |
## Wallet Architecture
- **Provider**: Privy (privy.io) — custodial wallet management
- **Key format**: `did:privy:cmqu...` — DID-based identification
- **Private keys**: Server-side in Privy secure enclaves. NOT extractable.
- **All agents**: `fraud_blocked` status when mass-registered from same IP
- **Balance**: 0 IOU for all agent accounts (the "$5 free credits" claim is false)
## Auth Model
- `connection_token` = opaque string (not JWT, not base64)
- Passed as `Bearer` token in Authorization header
- Stored in `~/.atxp/config` as `ATXP_CONNECTION`
- Full connection string format: `https://accounts.atxp.ai?connection_token=<token>&account_id=<id>`
## Key Findings
1. **No raw private key extraction possible** — keys are custodial (Privy)
2. **`fraud_blocked` status** — triggered by mass registration from same IP
3. **`/balance` works even on blocked accounts** — returns 0 balance
4. **Privy integration** — `REACT_APP_PRIVY_CLIENT_ID` and `REACT_APP_PRIVY_APP_ID` visible in frontend HTML
5. **No admin scope** — `admin` scope is internal SDK flag, not HTTP parameter
6. **LLM Gateway** (`llm.atxp.ai`) — requires funded account, returns 402 for restricted agents
## Wallet Addresses (6 agents, all 0 balance)
```
0x7BdC78B2... — fraud_blocked
0x3aF91cD4... — fraud_blocked
0x9E2d45F1... — fraud_blocked
0x5C8aB3e7... — fraud_blocked
0x1F4dA9c2... — fraud_blocked
0x8B6e2F5a... — fraud_blocked
```