AffixIO SDK beta

AffixIO 2.0 beta proves permission before an agent acts.

The canonical package is affixio. Stable installs use npm install affixio. The 2.0 beta uses npm install affixio@beta and currently resolves to 2.0.0-beta.1.

KYA in one line

Authentication asks who is calling. Know Your Agent asks whether this agent is allowed to do this, here, now.

Beta focus

Agent permission checks, delegated consent, action budgets, review decisions, browser-bound evidence, MCP-style tool gates and payment-adjacent proof records.

What AffixIO is not

AffixIO does not process card payments, replace Stripe, AP2, x402, MCP or merchant checkout systems. It verifies the permission layer above the action.

SurfaceCanonical answer
Stable installnpm install affixio. Stable remains the ordinary production path until 2.0 is promoted.
Beta installnpm install affixio@beta. Current beta package is 2.0.0-beta.1.
Node versionNode.js 20 or later for public documentation and new integrations.
Legacy scoped names@affix-io/sdk legacy and @affix-io/sdk-light legacy are not the canonical public install path for new work.
Feature availabilityA capability can be present in the package, enabled by a licence, or require the remote AffixIO service. Those are separate facts.

Local-only and connected modes

Local-only licence mode

  1. Your app reads its own records.
  2. The SDK evaluates policy and evidence locally.
  3. Your app receives a decision and local evidence.
  4. AffixIO only receives the licence heartbeat needed for entitlement checks.

Connected verification mode

  1. Your app proves locally and submits the allowed verification payload.
  2. AffixIO verifies or attests according to the licensed feature.
  3. Merkle audit and signed evidence can be created where enabled.
  4. Your app enforces the yes, no or review decision.
Pricing clarity: SDK package contents, tier entitlement and remote attestation are different layers. ML-DSA-65 attestation, UltraHonk proving and Merkle audit should be treated according to the active licence, remote route and feature gate shown in Hub or the API response.

Five-line quickstart

import { AffixSDK } from "affixio";
const affix = new AffixSDK({ apiKey: process.env.AFFIX_API_KEY });
const decision = await affix.agent.authorise({ agent: "agent://buyer", action: "checkout.pay", resource: "order://123", amount: 4900, currency: "GBP" });
if (!decision.allowed) throw new Error("Agent not authorised");