@perkos/agent-sdk 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,7 +4,32 @@ All notable changes to `@perkos/agent-sdk` are documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
- No changes yet.
7
+ ### Added
8
+
9
+ - `NayoriPartnerClient` for invitation-bound wallet challenges, one-time OAuth client enrollment,
10
+ minimum-scope client-credentials tokens and authenticated MCP JSON-RPC calls.
11
+ - `createStacksConnectPartnerSigner` adapter for Leather-compatible `stx_signMessage` responses
12
+ without giving the SDK wallet key material.
13
+ - Partner-pilot documentation covering exact-message review, one-time secret handling, scopes,
14
+ MCP tools and the separate wallet payment-signing boundary.
15
+
16
+ ### Security
17
+
18
+ - Normalize and validate recoverable signatures and compressed public keys before registration.
19
+ - Keep OAuth credentials caller-owned: the SDK does not persist, log, refresh or treat them as
20
+ payment authorization.
21
+
22
+ ## 0.3.2 - 2026-08-27
23
+
24
+ ### Fixed
25
+
26
+ - Treat the payment intent fee as a strict upper bound when an interactive wallet returns a lower
27
+ positive origin fee. Fees above the authorized value and zero fees continue to fail closed;
28
+ payer, nonce, amount, recipient, memo and non-sponsored authorization remain exact.
29
+ - Commit the independently verified origin fee to session usage while reserving the full authorized
30
+ fee during asynchronous signing. This preserves concurrent fee caps and reports actual spend.
31
+ - Cover Leather-compatible lower-fee signing, out-of-bounds rejection, reservation release and
32
+ actual-fee policy accounting.
8
33
 
9
34
  ## 0.3.1 - 2026-08-27
10
35
 
package/README.md CHANGED
@@ -9,14 +9,15 @@ This repository is the continuation of `PerkOS-xyz/PerkOS-Agent-SDK`, renamed to
9
9
  public SDK with the Nayori product identity. The npm package remains `@perkos/agent-sdk` and the
10
10
  complete Git history, releases, issues, and pull requests are preserved.
11
11
 
12
- > Status: 0.3.1 developer release. Read clients, transaction builders, browser and headless signer
12
+ > Status: 0.4.0 developer release. Read clients, transaction builders, browser and headless signer
13
13
  > adapters, confirmation receipts, safety policies, and a transactional testnet quickstart are
14
- > implemented. The x402 v2 client and Stacks facilitator foundations are implemented; hosted quote
15
- > infrastructure now exists separately, while production settlement enablement, MCP adapters,
16
- > external review, and adoption evidence remain before Milestone 2 completion. The direct x402
14
+ > implemented. The x402 v2 client and Stacks facilitator foundations are implemented; this release
15
+ > adds wallet-linked OAuth and MCP support for the planned invite-only testnet pilot. Hosted rollout,
16
+ > external review and adoption evidence remain before Milestone 2 completion. The direct x402
17
17
  > profile includes request-bound pure verification
18
18
  > and payer-side intent, policy, Leather, and remote-signer foundations for STX, sBTC, and USDCx.
19
- > It does not broadcast transactions, and hosted production settlement remains disabled.
19
+ > Every payment signature remains delegated to the configured wallet or custody boundary. Mainnet
20
+ > facilitator settlement remains disabled.
20
21
 
21
22
  ## Requirements
22
23
 
@@ -148,6 +149,43 @@ const perkos = new PerkOSClient({ network: "mainnet", signer });
148
149
  Install `@stacks/connect` in the browser application. Wallet discovery and account selection stay
149
150
  at the application boundary so the SDK cannot silently choose an account.
150
151
 
152
+ ## Invite-only partner OAuth and MCP
153
+
154
+ `NayoriPartnerClient` enrolls an invited partner without taking custody of a wallet. It requests a
155
+ single-use challenge, delegates the exact plaintext to Leather through `stx_signMessage`, submits
156
+ the signature and returns the generated OAuth client secret once. OAuth authorizes API/MCP access
157
+ only; every payment remains a separate wallet-signed transaction.
158
+
159
+ ```ts
160
+ import { request } from "@stacks/connect";
161
+ import {
162
+ NayoriPartnerClient,
163
+ createStacksConnectPartnerSigner,
164
+ } from "@perkos/agent-sdk";
165
+
166
+ const partners = new NayoriPartnerClient();
167
+ const credentials = await partners.enroll({
168
+ invitationToken,
169
+ walletAddress: connectedTestnetAddress,
170
+ signMessage: createStacksConnectPartnerSigner(request),
171
+ });
172
+
173
+ // Move the one-time secret directly into the application's secret manager.
174
+ const token = await partners.requestToken({
175
+ clientId: credentials.clientId,
176
+ clientSecret: credentials.clientSecret,
177
+ scopes: ["mcp:invoke"],
178
+ });
179
+
180
+ const tools = await partners.callMcp({
181
+ accessToken: token.accessToken,
182
+ method: "tools/list",
183
+ });
184
+ ```
185
+
186
+ See [Partner pilot](docs/PARTNER_PILOT.md) for the complete enrollment, scope and secret-handling
187
+ boundary.
188
+
151
189
  ## Headless signer
152
190
 
153
191
  `HeadlessSigner` requests key material only when deriving the public address or signing. It caches
@@ -391,11 +429,16 @@ or facilitator-submitted signed transaction.
391
429
  - Automated workflows can wait for an explicit terminal confirmation before their next action.
392
430
  - x402 quotes are bound to the configured network, escrow contract, asset, job, and exact budget.
393
431
  - x402 settlement verifies current chain evidence and atomically consumes each funding txid once.
432
+ - Partner OAuth enrollment signs an exact, short-lived, invitation-bound message in the wallet;
433
+ the SDK normalizes the public signature but never receives a private key.
434
+ - OAuth client secrets and access tokens are application secrets. The SDK returns them to the
435
+ caller but does not persist, log or refresh them automatically.
394
436
 
395
437
  This package has not yet completed the external security review required for PerkOS Milestone 2.
396
438
  Do not treat the developer release as audited software.
397
439
 
398
- See [Architecture](docs/ARCHITECTURE.md) and [Security](SECURITY.md) for the trust boundaries and
440
+ See [Architecture](docs/ARCHITECTURE.md), [Partner pilot](docs/PARTNER_PILOT.md) and
441
+ [Security](SECURITY.md) for the trust boundaries and
399
442
  responsible disclosure process.
400
443
 
401
444
  ## Development
package/SECURITY.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Release status
4
4
 
5
- `@perkos/agent-sdk` 0.2.0 is an M2 developer release and has not completed the external security
5
+ `@perkos/agent-sdk` 0.4.0 is an M2 developer release and has not completed the external security
6
6
  review required for the PerkOS Stacks Endowment milestone.
7
7
 
8
8
  Do not use this developer release to control material funds without your own review. Inspect every
@@ -40,6 +40,10 @@ disclosure.
40
40
  - Explicit direct-payment recipient, HTTPS origin, merchant, amount, fee, and session limits.
41
41
  - Concurrent payment reservations that prevent asynchronous agents from oversubscribing a budget.
42
42
  - Independent verification of every signed direct-payment transaction before facilitator submission.
43
+ - Invitation-bound partner enrollment through exact Stacks message signing, with compressed public
44
+ key and recoverable-signature validation before API submission.
45
+ - OAuth client secrets and tokens remain caller-owned and are never persisted or automatically
46
+ refreshed by the SDK.
43
47
 
44
48
  ## Key handling
45
49
 
@@ -62,6 +66,12 @@ in-process policy is defense in depth and can be bypassed by a malicious host ap
62
66
  custody service must independently authenticate callers, revalidate intent, enforce durable limits,
63
67
  and keep keys outside the agent/LLM process.
64
68
 
69
+ `createStacksConnectPartnerSigner` uses `stx_signMessage` only for the exact partner-enrollment
70
+ challenge. This signature authorizes OAuth client creation, not a payment. The host must show the
71
+ message, network and selected address to the user, move the returned one-time client secret into a
72
+ secret manager and keep invitations, signatures, secrets and access tokens out of telemetry and
73
+ prompts.
74
+
65
75
  ## Confirmation handling
66
76
 
67
77
  A broadcast receipt means a node accepted the transaction, not that the contract call succeeded.
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { SpendingPolicy } from "./policy.js";
4
4
  export { HeadlessSigner, StacksConnectSigner } from "./signers.js";
5
5
  export { TransactionTracker } from "./tracker.js";
6
6
  export { PerkOSError } from "./errors.js";
7
+ export { NAYORI_PARTNER_SCOPES, NayoriPartnerApiError, NayoriPartnerClient, createStacksConnectPartnerSigner, } from "./partner.js";
7
8
  export { DEFAULT_DEPLOYMENTS, JOB_STATUS, CLARITY_ERROR_MESSAGES } from "./constants.js";
8
9
  export { resolveConfig, toUint } from "./validation.js";
9
10
  export { normalizeTxid } from "./txid.js";
@@ -15,6 +16,7 @@ export type { HeadlessSignerOptions, HeadlessTransactionExecutor, HeadlessTransa
15
16
  export type { TrackerFetch, TransactionTrackerOptions, } from "./tracker.js";
16
17
  export type { AgentEndpoint, AgentRecord, Amount, AmountLike, AssignProviderInput, ConfirmationOptions, ConfirmedTransactionReceipt, ContractCallPlan, ContractId, CreateJobInput, FundJobInput, JobAmountInput, JobRecord, JobStatus, PaymentAsset, PerkOSConfig, PerkOSContracts, PerkOSNetwork, PerkOSOperation, PerkOSSigner, RateProviderInput, ReadOnlyCall, ReadOnlyTransport, RegisterAgentInput, ReputationRecord, ResolvedPerkOSConfig, SettleJobInput, SignerResult, SpendingApproval, SpendingPolicyInput, SubmitWorkInput, TransactionIntent, TransactionConfirmation, TransactionConfirmationStatus, TransactionReceipt, TransactionResultValue, TransactionTrackerLike, UpdateAgentInput, } from "./types.js";
17
18
  export type { PerkOSErrorCode, PerkOSErrorDetails } from "./errors.js";
19
+ export type { NayoriPartnerAccessToken, NayoriPartnerChallenge, NayoriPartnerCredentials, NayoriPartnerFetch, NayoriPartnerMessageSignature, NayoriPartnerMessageSigner, NayoriPartnerNetwork, NayoriPartnerScope, StacksConnectMessageRequest, } from "./partner.js";
18
20
  export type { ParsedPerkOSX402Requirement, PaymentPayload, PaymentRequired, PaymentRequirements, PerkOSX402ClientLike, PerkOSX402PaymentProof, PerkOSX402PaymentRequiredInput, PerkOSX402SchemeClientOptions, ResourceInfo, SettleResponse, } from "./x402.js";
19
21
  export type { HiroX402TransactionSourceOptions, PerkOSX402FacilitatorOptions, PerkOSX402ReplayRecord, PerkOSX402ReplayStore, PerkOSX402TransactionSource, PerkOSX402VerifiedPayment, X402VerifierFetch, } from "./x402-facilitator.js";
20
22
  export type { NayoriStacksX402Network, NayoriX402AssetDefinition, NayoriX402DirectPaymentPayloadInput, NayoriX402PaymentAsset, NayoriX402ProtectedRequest, NayoriX402Quote, NayoriX402QuoteInput, NayoriX402VerifiedDirectPayment, NayoriX402ValidatedPaymentContext, ValidateNayoriX402PaymentContextInput, VerifyNayoriX402DirectPaymentInput, } from "./x402-direct.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { SpendingPolicy } from "./policy.js";
4
4
  export { HeadlessSigner, StacksConnectSigner } from "./signers.js";
5
5
  export { TransactionTracker } from "./tracker.js";
6
6
  export { PerkOSError } from "./errors.js";
7
+ export { NAYORI_PARTNER_SCOPES, NayoriPartnerApiError, NayoriPartnerClient, createStacksConnectPartnerSigner, } from "./partner.js";
7
8
  export { DEFAULT_DEPLOYMENTS, JOB_STATUS, CLARITY_ERROR_MESSAGES } from "./constants.js";
8
9
  export { resolveConfig, toUint } from "./validation.js";
9
10
  export { normalizeTxid } from "./txid.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,+BAA+B,EAC/B,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACrB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,iCAAiC,EACjC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,yCAAyC,EACzC,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,+BAA+B,EAC/B,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,qBAAqB,EACrB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,iCAAiC,EACjC,kCAAkC,EAClC,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,yCAAyC,EACzC,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,79 @@
1
+ export declare const NAYORI_PARTNER_SCOPES: readonly ["catalog:read", "quotes:create", "payments:verify", "payments:settle", "payments:read", "mcp:invoke"];
2
+ export type NayoriPartnerScope = (typeof NAYORI_PARTNER_SCOPES)[number];
3
+ export type NayoriPartnerNetwork = "testnet" | "mainnet";
4
+ export type NayoriPartnerFetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
5
+ export type NayoriPartnerChallenge = {
6
+ readonly challengeId: string;
7
+ readonly message: string;
8
+ readonly expiresAt: string;
9
+ readonly walletAddress: string;
10
+ readonly network: NayoriPartnerNetwork;
11
+ };
12
+ export type NayoriPartnerCredentials = {
13
+ readonly clientId: string;
14
+ readonly clientSecret: string;
15
+ readonly tokenEndpoint: string;
16
+ readonly scopes: readonly NayoriPartnerScope[];
17
+ readonly walletAddress: string;
18
+ };
19
+ export type NayoriPartnerAccessToken = {
20
+ readonly accessToken: string;
21
+ readonly tokenType: "Bearer";
22
+ readonly expiresIn: number;
23
+ readonly scopes: readonly NayoriPartnerScope[];
24
+ };
25
+ export type NayoriPartnerMessageSignature = {
26
+ readonly signature: string;
27
+ readonly publicKey: string;
28
+ };
29
+ export type NayoriPartnerMessageSigner = (input: {
30
+ readonly message: string;
31
+ readonly walletAddress: string;
32
+ readonly network: NayoriPartnerNetwork;
33
+ }) => Promise<NayoriPartnerMessageSignature>;
34
+ export type StacksConnectMessageRequest = (method: "stx_signMessage", params: {
35
+ readonly message: string;
36
+ }) => Promise<{
37
+ readonly signature: string;
38
+ readonly publicKey: string;
39
+ }>;
40
+ export declare class NayoriPartnerApiError extends Error {
41
+ readonly status: number;
42
+ readonly code: string;
43
+ constructor(status: number, code: string, message: string);
44
+ }
45
+ export declare function createStacksConnectPartnerSigner(request: StacksConnectMessageRequest): NayoriPartnerMessageSigner;
46
+ export declare class NayoriPartnerClient {
47
+ readonly origin: string;
48
+ private readonly fetchImpl;
49
+ constructor(options?: {
50
+ readonly origin?: string;
51
+ readonly fetch?: NayoriPartnerFetch;
52
+ });
53
+ requestChallenge(input: {
54
+ readonly invitationToken: string;
55
+ readonly walletAddress: string;
56
+ }): Promise<NayoriPartnerChallenge>;
57
+ register(input: {
58
+ readonly challengeId: string;
59
+ readonly signature: string;
60
+ readonly publicKey: string;
61
+ }): Promise<NayoriPartnerCredentials>;
62
+ enroll(input: {
63
+ readonly invitationToken: string;
64
+ readonly walletAddress: string;
65
+ readonly signMessage: NayoriPartnerMessageSigner;
66
+ }): Promise<NayoriPartnerCredentials>;
67
+ requestToken(input: {
68
+ readonly clientId: string;
69
+ readonly clientSecret: string;
70
+ readonly scopes?: readonly NayoriPartnerScope[];
71
+ }): Promise<NayoriPartnerAccessToken>;
72
+ callMcp(input: {
73
+ readonly accessToken: string;
74
+ readonly id?: string | number;
75
+ readonly method: "initialize" | "ping" | "tools/list" | "tools/call";
76
+ readonly params?: unknown;
77
+ }): Promise<Record<string, unknown>>;
78
+ }
79
+ //# sourceMappingURL=partner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../src/partner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ export const NAYORI_PARTNER_SCOPES = [
2
+ "catalog:read",
3
+ "quotes:create",
4
+ "payments:verify",
5
+ "payments:settle",
6
+ "payments:read",
7
+ "mcp:invoke",
8
+ ];
9
+ export class NayoriPartnerApiError extends Error {
10
+ status;
11
+ code;
12
+ constructor(status, code, message) {
13
+ super(message);
14
+ this.status = status;
15
+ this.code = code;
16
+ this.name = "NayoriPartnerApiError";
17
+ }
18
+ }
19
+ function apiOrigin(value) {
20
+ const url = new URL(value ?? "https://api.nayori.ai");
21
+ const local = url.hostname === "localhost" || url.hostname === "127.0.0.1";
22
+ if (url.protocol !== "https:" && !local) {
23
+ throw new Error("Nayori partner API origin must use HTTPS outside local development.");
24
+ }
25
+ return url.origin;
26
+ }
27
+ function object(value, label) {
28
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
29
+ throw new Error(`${label} is invalid.`);
30
+ }
31
+ return value;
32
+ }
33
+ function string(value, label) {
34
+ if (typeof value !== "string" || value.length === 0)
35
+ throw new Error(`${label} is invalid.`);
36
+ return value;
37
+ }
38
+ function normalizedHex(value, pattern, label) {
39
+ const normalized = value.startsWith("0x") ? value.slice(2) : value;
40
+ if (!pattern.test(normalized))
41
+ throw new Error(`${label} is invalid.`);
42
+ return normalized;
43
+ }
44
+ function scopes(value) {
45
+ if (!Array.isArray(value) ||
46
+ value.length === 0 ||
47
+ value.some((scope) => typeof scope !== "string" ||
48
+ !NAYORI_PARTNER_SCOPES.includes(scope))) {
49
+ throw new Error("Nayori partner scopes are invalid.");
50
+ }
51
+ return value;
52
+ }
53
+ async function responseJson(response) {
54
+ let payload = {};
55
+ try {
56
+ payload = object(await response.json(), "Nayori API response");
57
+ }
58
+ catch {
59
+ if (response.ok)
60
+ throw new Error("Nayori API returned invalid JSON.");
61
+ }
62
+ if (!response.ok) {
63
+ const nested = payload.error && typeof payload.error === "object"
64
+ ? payload.error
65
+ : null;
66
+ const code = (typeof payload.error === "string" && payload.error) ||
67
+ (nested && typeof nested.code === "string" && nested.code) ||
68
+ "nayori_api_error";
69
+ const message = (typeof payload.error_description === "string" && payload.error_description) ||
70
+ (nested && typeof nested.message === "string" && nested.message) ||
71
+ `Nayori API returned HTTP ${response.status}.`;
72
+ throw new NayoriPartnerApiError(response.status, code, message);
73
+ }
74
+ return payload;
75
+ }
76
+ export function createStacksConnectPartnerSigner(request) {
77
+ return async ({ message }) => {
78
+ const result = await request("stx_signMessage", { message });
79
+ return {
80
+ signature: normalizedHex(result.signature, /^[0-9a-f]{130}$/i, "Leather signature"),
81
+ publicKey: normalizedHex(result.publicKey, /^(02|03)[0-9a-f]{64}$/i, "Leather public key"),
82
+ };
83
+ };
84
+ }
85
+ export class NayoriPartnerClient {
86
+ origin;
87
+ fetchImpl;
88
+ constructor(options = {}) {
89
+ this.origin = apiOrigin(options.origin);
90
+ this.fetchImpl = options.fetch ?? globalThis.fetch.bind(globalThis);
91
+ }
92
+ async requestChallenge(input) {
93
+ const response = await this.fetchImpl(`${this.origin}/v1/partners/challenges`, {
94
+ method: "POST",
95
+ headers: { Accept: "application/json", "Content-Type": "application/json" },
96
+ body: JSON.stringify(input),
97
+ });
98
+ const payload = await responseJson(response);
99
+ const challenge = object(payload.challenge, "Nayori partner challenge");
100
+ const network = string(challenge.network, "challenge.network");
101
+ if (network !== "testnet" && network !== "mainnet") {
102
+ throw new Error("challenge.network is invalid.");
103
+ }
104
+ return {
105
+ challengeId: string(challenge.challengeId, "challenge.challengeId"),
106
+ message: string(challenge.message, "challenge.message"),
107
+ expiresAt: string(challenge.expiresAt, "challenge.expiresAt"),
108
+ walletAddress: string(challenge.walletAddress, "challenge.walletAddress"),
109
+ network,
110
+ };
111
+ }
112
+ async register(input) {
113
+ const response = await this.fetchImpl(`${this.origin}/v1/partners/register`, {
114
+ method: "POST",
115
+ headers: { Accept: "application/json", "Content-Type": "application/json" },
116
+ body: JSON.stringify({
117
+ challengeId: input.challengeId,
118
+ signature: normalizedHex(input.signature, /^[0-9a-f]{130}$/i, "wallet signature"),
119
+ publicKey: normalizedHex(input.publicKey, /^(02|03)[0-9a-f]{64}$/i, "wallet public key"),
120
+ }),
121
+ });
122
+ const payload = await responseJson(response);
123
+ const client = object(payload.client, "Nayori OAuth client");
124
+ return {
125
+ clientId: string(client.clientId, "client.clientId"),
126
+ clientSecret: string(client.clientSecret, "client.clientSecret"),
127
+ tokenEndpoint: string(client.tokenEndpoint, "client.tokenEndpoint"),
128
+ scopes: scopes(client.scopes),
129
+ walletAddress: string(client.walletAddress, "client.walletAddress"),
130
+ };
131
+ }
132
+ async enroll(input) {
133
+ const challenge = await this.requestChallenge(input);
134
+ if (challenge.walletAddress !== input.walletAddress) {
135
+ throw new Error("Nayori challenge wallet does not match the requested wallet.");
136
+ }
137
+ const signed = await input.signMessage({
138
+ message: challenge.message,
139
+ walletAddress: challenge.walletAddress,
140
+ network: challenge.network,
141
+ });
142
+ const credentials = await this.register({
143
+ challengeId: challenge.challengeId,
144
+ ...signed,
145
+ });
146
+ if (credentials.walletAddress !== input.walletAddress) {
147
+ throw new Error("Nayori OAuth client wallet does not match the enrolled wallet.");
148
+ }
149
+ return credentials;
150
+ }
151
+ async requestToken(input) {
152
+ const body = new URLSearchParams({ grant_type: "client_credentials" });
153
+ if (input.scopes?.length)
154
+ body.set("scope", scopes([...input.scopes]).join(" "));
155
+ const response = await this.fetchImpl(`${this.origin}/oauth/token`, {
156
+ method: "POST",
157
+ headers: {
158
+ Accept: "application/json",
159
+ Authorization: `Basic ${btoa(`${input.clientId}:${input.clientSecret}`)}`,
160
+ "Content-Type": "application/x-www-form-urlencoded",
161
+ },
162
+ body: body.toString(),
163
+ });
164
+ const payload = await responseJson(response);
165
+ if (payload.token_type !== "Bearer")
166
+ throw new Error("Nayori token type is invalid.");
167
+ if (typeof payload.expires_in !== "number" || !Number.isSafeInteger(payload.expires_in)) {
168
+ throw new Error("Nayori token expiry is invalid.");
169
+ }
170
+ return {
171
+ accessToken: string(payload.access_token, "access_token"),
172
+ tokenType: "Bearer",
173
+ expiresIn: payload.expires_in,
174
+ scopes: scopes(string(payload.scope, "scope").split(" ")),
175
+ };
176
+ }
177
+ async callMcp(input) {
178
+ const response = await this.fetchImpl(`${this.origin}/mcp`, {
179
+ method: "POST",
180
+ headers: {
181
+ Accept: "application/json",
182
+ Authorization: `Bearer ${input.accessToken}`,
183
+ "Content-Type": "application/json",
184
+ },
185
+ body: JSON.stringify({
186
+ jsonrpc: "2.0",
187
+ id: input.id ?? 1,
188
+ method: input.method,
189
+ ...(input.params === undefined ? {} : { params: input.params }),
190
+ }),
191
+ });
192
+ return responseJson(response);
193
+ }
194
+ }
195
+ //# sourceMappingURL=partner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.js","sourceRoot":"","sources":["../src/partner.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export interface NayoriX402PaymentIntent {
26
26
  readonly payTo: string;
27
27
  readonly payer: string;
28
28
  readonly publicKey: string;
29
+ /** Construction fee and maximum origin fee the signer may return, in micro-STX. */
29
30
  readonly fee: string;
30
31
  readonly nonce: string;
31
32
  readonly method: string;
@@ -55,7 +56,7 @@ export interface NayoriX402PaymentAuthorization {
55
56
  readonly spentThisSession: bigint;
56
57
  readonly reservedThisSession: bigint;
57
58
  readonly remainingThisSession: bigint;
58
- commit(): void;
59
+ commit(actualFee?: AmountLike): void;
59
60
  release(): void;
60
61
  }
61
62
  export interface NayoriX402PaymentSessionUsage {
@@ -1 +1 @@
1
- {"version":3,"file":"x402-paying.d.ts","sourceRoot":"","sources":["../src/x402-paying.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402-paying.d.ts","sourceRoot":"","sources":["../src/x402-paying.ts"],"names":[],"mappings":"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"}
@@ -312,11 +312,21 @@ export class NayoriX402PaymentPolicy {
312
312
  this.active.set(intent.intentId, { intent, amount, fee });
313
313
  this.activeQuotes.add(intent.quoteFingerprint);
314
314
  let finished = false;
315
- const finish = (commit) => {
315
+ const finish = (commit, actualFee) => {
316
316
  if (finished)
317
317
  return;
318
+ let committedFee;
319
+ if (commit) {
320
+ committedFee = actualFee === undefined ? fee : toUint(actualFee, "actualFee");
321
+ if (committedFee === 0n) {
322
+ throw new PerkOSError("INPUT_INVALID", "actualFee must be greater than zero.");
323
+ }
324
+ if (committedFee > fee) {
325
+ throw new PerkOSError("POLICY_DENIED", "actualFee cannot exceed the authorized transaction fee.");
326
+ }
327
+ }
328
+ this.finish(intent.intentId, commit, committedFee);
318
329
  finished = true;
319
- this.finish(intent.intentId, commit);
320
330
  };
321
331
  return Object.freeze({
322
332
  intentId: intent.intentId,
@@ -326,7 +336,7 @@ export class NayoriX402PaymentPolicy {
326
336
  spentThisSession,
327
337
  reservedThisSession,
328
338
  remainingThisSession: sessionLimit - nextAmount,
329
- commit: () => finish(true),
339
+ commit: (actualFee) => finish(true, actualFee),
330
340
  release: () => finish(false),
331
341
  });
332
342
  }
@@ -342,7 +352,7 @@ export class NayoriX402PaymentPolicy {
342
352
  feeRemaining: this.maxFeePerSession - this.feeSpent - this.feeReserved,
343
353
  });
344
354
  }
345
- finish(intentId, commit) {
355
+ finish(intentId, commit, actualFee) {
346
356
  const record = this.active.get(intentId);
347
357
  if (!record)
348
358
  return;
@@ -352,7 +362,7 @@ export class NayoriX402PaymentPolicy {
352
362
  this.feeReserved -= record.fee;
353
363
  if (commit) {
354
364
  this.spent[record.intent.asset] += record.amount;
355
- this.feeSpent += record.fee;
365
+ this.feeSpent += actualFee ?? record.fee;
356
366
  this.committed.add(intentId);
357
367
  this.committedQuotes.add(record.intent.quoteFingerprint);
358
368
  }
@@ -565,11 +575,14 @@ export class NayoriX402PaymentClient {
565
575
  }
566
576
  if (verifiedPayment.payer !== intent.payer ||
567
577
  verifiedPayment.originNonce !== BigInt(intent.nonce) ||
568
- verifiedPayment.originFee !== BigInt(intent.fee) ||
569
578
  verifiedPayment.sponsored) {
570
579
  throw new PerkOSError("SIGNING_FAILED", "The signed transaction does not match the authorized payment intent.", { intentId: intent.intentId });
571
580
  }
572
- authorization.commit();
581
+ if (verifiedPayment.originFee === 0n ||
582
+ verifiedPayment.originFee > BigInt(intent.fee)) {
583
+ throw new PerkOSError("SIGNING_FAILED", "The signed transaction fee is outside the authorized payment intent.", { intentId: intent.intentId, reason: "origin_fee_out_of_bounds" });
584
+ }
585
+ authorization.commit(verifiedPayment.originFee);
573
586
  const settlementRequest = Object.freeze({
574
587
  signedQuote: input.signedQuote,
575
588
  paymentRequirements,
@@ -1 +1 @@
1
- {"version":3,"file":"x402-paying.js","sourceRoot":"","sources":["../src/x402-paying.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402-paying.js","sourceRoot":"","sources":["../src/x402-paying.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ # Nayori invite-only partner pilot
2
+
3
+ The partner pilot exposes the Nayori x402 Platform on Stacks testnet without giving the API or SDK
4
+ custody of a wallet. An operator privately creates a single-use invitation for an existing merchant.
5
+ The partner binds that invitation to a Stacks address by signing the exact server challenge in
6
+ Leather. The server derives the address from the returned public key and atomically consumes both
7
+ the invitation and challenge before creating the OAuth client.
8
+
9
+ ## Browser enrollment
10
+
11
+ Install the SDK and the official Stacks Connect package:
12
+
13
+ ```bash
14
+ npm install @perkos/agent-sdk @stacks/connect
15
+ ```
16
+
17
+ Use the account already selected by the application. The SDK never selects an account and never
18
+ receives a private key:
19
+
20
+ ```ts
21
+ import { request } from "@stacks/connect";
22
+ import {
23
+ NayoriPartnerClient,
24
+ createStacksConnectPartnerSigner,
25
+ } from "@perkos/agent-sdk";
26
+
27
+ const nayori = new NayoriPartnerClient({ origin: "https://api.nayori.ai" });
28
+ const credentials = await nayori.enroll({
29
+ invitationToken,
30
+ walletAddress: selectedTestnetAddress,
31
+ signMessage: createStacksConnectPartnerSigner(request),
32
+ });
33
+ ```
34
+
35
+ Leather displays the exact challenge. Verify the origin, `testnet` network, merchant, wallet,
36
+ challenge identifier and expiration before approving. The client rejects a response bound to a
37
+ different wallet. The API independently verifies the recoverable signature and derived address.
38
+
39
+ `clientSecret` is returned once. Send it directly to an application-owned secret manager. Do not
40
+ put the invitation, client secret, access token or wallet signature in source, screenshots, logs,
41
+ analytics, issue trackers or prompts.
42
+
43
+ ## Scoped access token
44
+
45
+ Request only the scopes needed by the current process:
46
+
47
+ ```ts
48
+ const token = await nayori.requestToken({
49
+ clientId: credentials.clientId,
50
+ clientSecret: credentials.clientSecret,
51
+ scopes: ["quotes:create", "mcp:invoke"],
52
+ });
53
+ ```
54
+
55
+ Supported scopes are:
56
+
57
+ - `catalog:read`
58
+ - `quotes:create`
59
+ - `payments:verify`
60
+ - `payments:settle`
61
+ - `payments:read`
62
+ - `mcp:invoke`
63
+
64
+ The API uses `client_credentials` plus `client_secret_basic` and returns a short-lived EdDSA JWT.
65
+ The SDK deliberately does not persist or automatically refresh it.
66
+
67
+ ## MCP
68
+
69
+ The authenticated Streamable HTTP endpoint implements JSON-RPC `initialize`, `ping`, `tools/list`
70
+ and `tools/call`. Current tools are `nayori_supported`, `nayori_request_quote` and
71
+ `nayori_get_settlement`.
72
+
73
+ ```ts
74
+ const response = await nayori.callMcp({
75
+ accessToken: token.accessToken,
76
+ method: "tools/call",
77
+ params: {
78
+ name: "nayori_supported",
79
+ arguments: {},
80
+ },
81
+ });
82
+ ```
83
+
84
+ `mcp:invoke` opens the MCP endpoint, while a quote or settlement tool also enforces its own
85
+ downstream scope and merchant isolation.
86
+
87
+ ## Payment boundary
88
+
89
+ OAuth and the enrollment signature cannot authorize a payment. For each STX, sBTC or USDCx
90
+ payment, create a request-bound quote and let the payer separately inspect and sign the exact Stacks
91
+ transaction. Quote issuance, verification, broadcast or `pending` state is not confirmed
92
+ settlement. Require the confirmed settlement state and signed receipt before delivery.
93
+
94
+ The hosted pilot remains Stacks-testnet-only. Mainnet facilitator settlement, sponsorship and
95
+ arbitrary resource proxying remain disabled while the external review gate is open.
@@ -41,9 +41,11 @@ const policy = new NayoriX402PaymentPolicy({
41
41
  ```
42
42
 
43
43
  All values are atomic units: micro-STX, satoshis, or 10^-6 USDCx. Fee limits are micro-STX.
44
- Authorization reserves amount and fee before asynchronous signing. A valid signature commits that
45
- usage even if settlement later becomes ambiguous. Failed or cancelled signing releases it. Active
46
- reservations count toward session limits, so concurrent agents cannot oversubscribe the budget.
44
+ Authorization reserves the amount and full construction fee before asynchronous signing. A wallet
45
+ may return a lower positive origin fee, which is accepted and committed as the actual fee spent;
46
+ zero or any fee above the intent is rejected. A valid signature commits usage even if settlement
47
+ later becomes ambiguous. Failed or cancelled signing releases it. Active reservations count toward
48
+ session limits, so concurrent agents cannot oversubscribe the budget.
47
49
 
48
50
  ## Interactive Leather signing
49
51
 
@@ -83,7 +85,8 @@ const prepared = await payer.preparePayment({
83
85
 
84
86
  `LeatherSigner` calls only `stx_signTransaction` with `broadcast: false`. It rejects a wallet result
85
87
  that contains only a txid because the Nayori facilitator must receive, reserve, and broadcast the
86
- signed bytes exactly once.
88
+ signed bytes exactly once. The client independently verifies the returned origin fee: Leather may
89
+ lower it, but cannot increase it above the fee authorized in the payment intent.
87
90
 
88
91
  ## Automated agent signing
89
92
 
@@ -0,0 +1,53 @@
1
+ # Leather lower-fee x402 hotfix design
2
+
3
+ ## Problem, evidence and selected boundary
4
+
5
+ The controlled Nayori testnet E2E built an unsigned STX transfer with origin nonce `0` and an
6
+ authorized fee of `3000` micro-STX. Leather preserved nonce `0`, the standard non-sponsored
7
+ authorization, payer, amount, recipient and request-bound memo, but signed the transaction with a
8
+ lower fee of `300` micro-STX. Local direct-payment verification passed every canonical payment
9
+ check. `NayoriX402PaymentClient` then rejected the result because it required the signed fee to be
10
+ exactly equal to the construction-time fee. The failure happened before settlement: the isolated
11
+ database contained quotes but zero settlements or broadcasts.
12
+
13
+ Requiring exact equality is incompatible with a wallet that safely reduces a proposed network
14
+ fee. Predicting Leather's final fee is brittle because wallet estimation can change with software
15
+ and network conditions. Accepting an arbitrary wallet-selected fee would weaken the agent policy.
16
+ The selected rule therefore treats `intent.fee` as the maximum fee authorized for this transaction:
17
+ the signed origin fee must be positive and less than or equal to that value. A wallet fee above the
18
+ intent remains a hard failure. Payer, nonce, amount, recipient, asset, memo, post-conditions and
19
+ non-sponsored authorization remain exact.
20
+
21
+ This is a patch-level compatibility fix. It does not change contracts, assets, settlement routes,
22
+ broadcast behavior, quote validation or production flags. `LeatherSigner` still requests
23
+ `broadcast: false`; the SDK still returns a settlement request only after independent local
24
+ verification. The public intent field stays named `fee` for API compatibility, while documentation
25
+ clarifies that it is the construction fee and upper bound when a signer returns a lower positive
26
+ fee.
27
+
28
+ ## Accounting, errors, tests and release
29
+
30
+ The payment policy initially reserves the full authorized fee so concurrent signing requests
31
+ cannot exceed the per-transaction or per-session fee caps. After a signed transaction passes local
32
+ verification, the client commits the verified origin fee rather than the reservation amount. The
33
+ policy releases the full reservation and adds only the actual fee to `feeSpent`. This preserves
34
+ conservative concurrency control while reporting exact session usage. The authorization's
35
+ `commit` method gains an optional actual-fee argument; calling it without an argument preserves
36
+ the existing exact-fee behavior. An actual fee of zero or above the reservation is rejected and
37
+ the reservation remains releasable.
38
+
39
+ Client error handling distinguishes a fee-limit violation from other intent mismatches without
40
+ including transaction bytes. A signed fee above the authorized value produces `SIGNING_FAILED`
41
+ and safe details identifying `origin_fee_above_authorized`; nonce, payer or sponsored mismatches
42
+ continue to produce the generic intent-mismatch failure. No private key, raw unsigned/signed
43
+ transaction or reusable credential is added to errors, logs or documentation.
44
+
45
+ Regression coverage must prove: exact fees still work; a lower positive Leather/PolicySigner fee
46
+ is accepted; `verifiedPayment.originFee` and policy `feeSpent` equal the lower fee; a higher fee is
47
+ rejected and releases all reservations; zero actual fee is rejected; direct policy commits without
48
+ an override remain backward compatible; and an invalid actual-fee override cannot corrupt usage.
49
+ The complete typecheck, test suite, build, audit, package inspection and clean-consumer checks must
50
+ pass. Release as SDK `0.3.2`, publish only after owner review and merge, then pin the exact public
51
+ artifact in a separate Platform patch. Production remains quote-only throughout. The isolated E2E
52
+ is recreated or reset before the next controlled signature so final evidence starts with no stale
53
+ settlement state.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perkos/agent-sdk",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "TypeScript SDK for agent identity, escrow settlement, and reputation on Stacks.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",