Skip to content
Back to skills

Altllm Portal Auth

ASecurity

Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.

  • 5,279 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentsgoapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add internet-court/internet-court-skill --skill altllm-portal-auth --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Altllm Portal Auth?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Altllm Portal Auth
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/internet-court-altllm-portal-auth/badge)](https://www.skillsdirectory.com/skills/internet-court-altllm-portal-auth)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: altllm-portal-auth
description: Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.
user-invocable: true
---

# AltLLM Portal Auth

Wallet login and session bootstrap for the local `altllm` CLI, including external signers such as Privy.

## Shared Setup

> Before the first `altllm` command in a fresh checkout, read and follow:
> - `../_shared/preflight.md`
> - `../_shared/session-and-target.md`

## Command Index

| Command | Purpose |
|---|---|
| `login-wallet --private-key-env <name>` | Sign in with a locally available private key from an environment variable |
| `login-wallet --private-key-file <path>` | Sign in with a locally available private key from a file |
| `login-wallet --private-key <hex> --allow-unsafe-private-key-argv` | Sign in with an inline private key when argv exposure is explicitly accepted |
| `login-wallet --prepare` | Fetch a challenge for external signing |
| `login-wallet --nonce <nonce> --signature <sig>` | Verify an externally signed challenge and save the session |
| `status` | Show saved Portal session user and target URL status without exposing the token |
| `logout` | Remove the local saved Portal session file |

## Rules

- Do not assume the CLI must control the wallet private key.
- If the wallet can sign the challenge message, use the prepare + verify flow.
- External signers such as Privy are valid as long as they return a standard wallet signature for the challenge.
- If neither a local private key nor `--signature` is available, return the challenge payload and stop.
- Before local auto-signing, validate that the returned challenge matches the requested wallet, chain, and expected AltLLM login challenge structure.
- For non-default, non-loopback API hosts, prefer `--prepare` and external signing instead of local auto-signing.
- Current backend support is still limited to EVM addresses and Ethereum-style signatures.
- Save the resulting session to `~/.altllm/portal-cli-session.json` unless overridden.
- Use `status` or its `whoami` alias to confirm the saved user and target URL before running live commands.
- `logout` only removes the local session file. It does not revoke API keys.

## Reference

See [references/cli-reference.md](references/cli-reference.md) for commands, payloads, and troubleshooting notes.

Files in this skill

  • LICENSE322 B
  • SKILL.md2.5 KB
  • references/cli-reference.md3.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.