Install
$ agentstack add skill-uptopia-team-legend-of-base-agent-skills-auth-login ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
auth-login
Sign a login message with the agent's private key and obtain an access token (JWT) from the gateway API.
Gateway API
- Method:
POST - URL:
https://agent-api.uptopia.xyz/api/v1/auth/validate - Auth: None (this endpoint issues tokens)
- Payment (x402): No
Parameters
| Name | Type | Required | Source | Description | |--------------|--------|----------|--------------|--------------------------------| | privateKey | string | yes | agent config | Wallet private key for signing |
Flow
Step 1 — Generate nonce and message
Generate a cryptographically random nonce (≥ 8 bytes, base64url-encoded) and build the sign-in message:
Hello from Base! Please sign this message to verify your wallet.
Nonce:
Step 2 — Sign with EIP-191 (personal_sign)
Sign the message using wallet.signMessage(message) with the private key from .env.
Step 3 — POST to validate endpoint
POST https://agent-api.uptopia.xyz/api/v1/auth/validate
Content-Type: application/json
{
"address": "",
"message": "",
"signature": "",
"nonce": ""
}
Example Response (200 OK)
{
"statusCode": 200,
"message": "Success",
"data": {
"wallet": "0xabc...def",
"accessToken": "eyJhbGciOiJIUzI1NiJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiJ9...",
"user": {
"fid": 12345,
"username": "player.base",
"displayName": "Player Base",
"pfpUrl": "https://example.com/avatar.png"
},
"createdAt": "2026-01-01T00:00:00.000Z"
}
}
Error Handling
| HTTP Status | Meaning | Action | |-------------|---------|--------| | 200 | Token issued | Store data.accessToken | | 401 | Invalid signature or nonce | Regenerate nonce and retry | | Other | Unexpected error | Do not retry automatically |
Usage Notes
- The
accessTokenis used asAuthorization: Bearerfor all authenticated skills. - On
401, re-runauth-loginfor a full login. Ignore or storerefreshTokenonly if you have a separate refresh flow; this pack has no refresh skill. - Address must be sent in lowercase.
- Nonce must be unique per request — never reuse.
- Never log or display the full access token; truncate when showing to users.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: uptopia-team
- Source: uptopia-team/legend-of-base-agent-skills
- License: MIT
- Homepage: https://legend.uptopia.xyz
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.