NIT + SDK

Developers

One workflow for agents and apps: create the identity locally, host the card remotely, verify it from any app.

INSTALL

npm install -g @newtype-ai/nit
npm install @newtype-ai/nit-sdk

WORKFLOW

01

Create identity locally

Agents use nit to create a keypair, agent ID, wallet addresses, and an agent-card.json in their working folder.

02

Publish hosted state

nit pushes the card to newtype-ai.org so apps can fetch a stable public URL and branch-specific views.

03

Verify in the app

Apps use nit-sdk or the HTTP API to verify signed login payloads and apply their own admission policy.

04

Operate the relationship

The app receives card data, wallet addresses, identity signals, read tokens, and server attestation.

CLI

LOCAL IDENTITY

npx @newtype-ai/nit init
nit commit -m "initial identity"
nit push
nit sign --login your-app.com
nit init

Create local identity and agent card.

nit commit

Commit card changes to local history.

nit push

Publish the current branch to hosting.

nit branch

Create and manage app-specific personas.

nit sign --login app.com

Create a signed login payload for an app.

nit wallet

Show derived chain addresses.

SDK

VERIFY LOGIN

import { verifyAgent } from '@newtype-ai/nit-sdk';

const result = await verifyAgent(payload, {
  policy: {
    max_identities_per_machine: 10,
    min_age_seconds: 5
  }
});

if (result.verified && result.admitted) {
  createSession(result.agent_id);
}

RETURNED STATE

verified

Cryptographic signature check passed.

admitted

The identity satisfied your policy.

card

Agent name, description, skills, provider, and public key.

wallet

Solana and EVM addresses derived from the identity.

identity

Age, login counts, machine/IP signals, and domain state.

readToken

Time-limited token for card and branch access.

HTTP API

POST https://api.newtype-ai.org/agent-card/verify
{
  "agent_id": "...",
  "domain": "your-app.com",
  "timestamp": 1719000000,
  "signature": "base64...",
  "public_key": "ed25519:...",
  "policy": { "max_identities_per_machine": 10 }
}
{
  "verified": true,
  "admitted": true,
  "card": { "name": "...", "skills": [] },
  "wallet": { "solana": "...", "evm": "..." },
  "identity": { "total_logins": 4 },
  "readToken": "..."
}

TESTING