phygital-token-mcp 0.1.1 → 0.2.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/README.md CHANGED
@@ -28,7 +28,7 @@ Requires **Node.js 20+**. See [`cursor-mcp.example.json`](./cursor-mcp.example.j
28
28
  | **Docs** | `search_docs`, `read_doc`, `list_docs` |
29
29
  | **Gating** | `explain_gating`, `gating_filter_schema`, `gating_recipe`, `format_gating_predicate`, `summarize_gating_result` |
30
30
  | **Verification** | `recommend_verification`, `plan_verify_asset`, `explain_verification` |
31
- | **Planning** | `plan_create_mint`, `plan_mint_token`, `plan_transfer`, `find_asset_pda` |
31
+ | **Planning** | `plan_create_mint`, `plan_mint_token`, `plan_transfer`, `plan_remove_ownership`, `find_asset_pda` |
32
32
  | **SDK** | `list_sdk_exports` |
33
33
 
34
34
  ## Optional: monorepo contributors
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { listDocs, readDocById, searchDocs } from "./lib/docs.js";
7
7
  import { jsonResult, textResult } from "./lib/format.js";
8
8
  import { GATING_FILTER_SCHEMA, GATING_OVERVIEW, GATING_RECIPES, GATING_TIER_EXAMPLE, getGatingRecipe, } from "./lib/gating-json.js";
9
9
  import { runGraphify } from "./lib/graphify.js";
10
- import { parseAssetType, planCreateMint, planMintToken, planTransfer, planVerifyAsset, } from "./lib/instructions.js";
10
+ import { parseAssetType, planCreateMint, planMintToken, planRemoveOwnership, planTransfer, planVerifyAsset, } from "./lib/instructions.js";
11
11
  import { SDK_SURFACE, readSourceExcerpt } from "./lib/sdk-surface.js";
12
12
  import { ON_CHAIN_PATTERNS, VERIFICATION_DECISION_TREE, listVerificationUseCases, recommendVerification, } from "./lib/verification.js";
13
13
  const SERVER_INSTRUCTIONS = [
@@ -20,7 +20,7 @@ const SERVER_INSTRUCTIONS = [
20
20
  "- Building on phygital (CPI) → read_doc building-on-phygital/*, rust_cpi_verify_asset_guide",
21
21
  "- SDK export map → list_sdk_exports",
22
22
  "- Gating rules → explain_gating, gating_filter_schema, gating_recipe, format_gating_predicate",
23
- "- Mint / transfer flows → plan_create_mint, plan_mint_token, plan_transfer",
23
+ "- Mint / transfer / forfeiture flows → plan_create_mint, plan_mint_token, plan_transfer, plan_remove_ownership",
24
24
  "- Code architecture (repo clone) → query_codebase (graphify)",
25
25
  "",
26
26
  "Live gating evaluation and asset fetch: use phygital-token-sdk in your app (evaluateAssetGating, fetchAssetDisplayInfo).",
@@ -146,6 +146,15 @@ function registerTools(server) {
146
146
  assetType: parseAssetType(assetType),
147
147
  credentialId,
148
148
  })));
149
+ server.tool("plan_remove_ownership", "Plan a wallet-signed forfeiture: return token to custody and reset asset.owner (offline).", {
150
+ assetPublicKey: z
151
+ .string()
152
+ .describe("Base64url-encoded secp256r1 public key for the phygital asset"),
153
+ owner: z
154
+ .string()
155
+ .describe("Current asset owner wallet — must match asset.owner on-chain"),
156
+ mint: z.string().describe("Design mint address for the asset"),
157
+ }, async ({ assetPublicKey, owner, mint }) => jsonResult(await planRemoveOwnership({ assetPublicKey, owner, mint })));
149
158
  server.tool("plan_transfer", "Plan a passkey-authorized transfer: flow steps, derived accounts, and challenge formula (offline).", {
150
159
  assetPublicKey: z
151
160
  .string()
@@ -166,6 +175,7 @@ function registerTools(server) {
166
175
  "deep_link_from_prior_scan",
167
176
  "offline_identification",
168
177
  "login_ui_only",
178
+ "vault_gated_experience",
169
179
  "onchain_standalone_verify",
170
180
  "onchain_inspect_verify_asset",
171
181
  "onchain_cpi_verify_asset",
@@ -185,8 +195,8 @@ function registerTools(server) {
185
195
  methods: {
186
196
  identification: ["verifyDynamicUrl", "verifyDynamicUrlWithoutCounterCheck"],
187
197
  authenticationOffChain: [
198
+ "startAuthenticationWithChallengeResponse",
188
199
  "verifyWithChallengeResponse",
189
- "verifyWithChallengeResponseOverNfc",
190
200
  ],
191
201
  onChainComposable: [
192
202
  "beginVerifyAsset",
@@ -245,7 +255,7 @@ function registerTools(server) {
245
255
  : "clients/rust/phygital-token — VerifyAssetCpiBuilder",
246
256
  docIds: ["building-on-phygital:overview", "building-on-phygital:rust-cpi"],
247
257
  testing: "programs/phygital-token/tests/verify_asset_flow.rs",
248
- note: "verifyWithChallengeResponse accepts optional message (off-chain challenge binding only). On-chain message binding uses beginVerifyAsset.",
258
+ note: "Off-chain tap: startAuthenticationWithChallengeResponse (client) + verifyWithChallengeResponse (server, expectedMessage + response). On-chain message binding uses beginVerifyAsset.",
249
259
  }));
250
260
  }
251
261
  function registerResources(server) {
@@ -369,7 +379,7 @@ function registerPrompts(server) {
369
379
  isNativeApp != null ? `Native app: ${isNativeApp}` : "",
370
380
  hasPriorScanUrl != null ? `Has prior scan URL params: ${hasPriorScanUrl}` : "",
371
381
  "",
372
- "verifyWithChallengeResponse is off-chain only (no verify_asset tx).",
382
+ "Off-chain tap: startAuthenticationWithChallengeResponse (client) + verifyWithChallengeResponse (server). No verify_asset tx.",
373
383
  "On-chain: Pattern A = client posts verify_asset, program inspects sysvar.",
374
384
  "On-chain: Pattern B = buildVerifyAssetArgs, program CPIs verify_asset.",
375
385
  "Use recommend_verification, explain_verification, plan_verify_asset.",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -128,4 +128,31 @@ export declare function planVerifyAsset(input: {
128
128
  };
129
129
  notes: string[];
130
130
  }>;
131
+ export declare function planRemoveOwnership(input: {
132
+ assetPublicKey: string;
133
+ owner: string;
134
+ mint: string;
135
+ }): Promise<{
136
+ instruction: string;
137
+ sdk: string;
138
+ flow: string[];
139
+ derivedAccounts: {
140
+ assetPda: Address;
141
+ assetPublicKey: string;
142
+ programAuthority: Address<string>;
143
+ mint: string;
144
+ owner: string;
145
+ programAuthorityTokenAccount: Address;
146
+ ownerTokenAccount: Address;
147
+ tokenProgram: Address<"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb">;
148
+ transferHookProgram: Address<"2jgBvsDmUW9gEsakLDEvnEFEjG1WwCUzGtNbqbtUr7xR">;
149
+ program: Address<"DdwhetyqgSB56XVcR33ySG5dFmvwbjSc5aSMHRg5Bk6A">;
150
+ };
151
+ requiredSigners: {
152
+ name: string;
153
+ role: string;
154
+ }[];
155
+ onChainEffects: string[];
156
+ notes: string[];
157
+ }>;
131
158
  export declare function parseAssetType(value: string): "Lockable" | "Transferable";
@@ -3,6 +3,7 @@ import { AssetType, PHYGITAL_TOKEN_PROGRAM_ADDRESS, findProgramAuthorityPda, par
3
3
  import { sha256 } from "@noble/hashes/sha2.js";
4
4
  const TOKEN_2022_PROGRAM_ADDRESS = address("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
5
5
  const ASSOCIATED_TOKEN_PROGRAM_ADDRESS = address("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
6
+ const TRANSFER_HOOK_PROGRAM_ADDRESS = address("2jgBvsDmUW9gEsakLDEvnEFEjG1WwCUzGtNbqbtUr7xR");
6
7
  async function findAssociatedTokenAddress(owner, mint, tokenProgram) {
7
8
  const [ata] = await getProgramDerivedAddress({
8
9
  programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
@@ -181,7 +182,7 @@ export async function planVerifyAsset(input) {
181
182
  buildArgs: "buildVerifyAssetArgs",
182
183
  complete: "completeVerifyAsset",
183
184
  instruction: "getVerifyAssetInstruction",
184
- offChainAuthOnly: "verifyWithChallengeResponse (does NOT submit verify_asset)",
185
+ offChainAuthOnly: "startAuthenticationWithChallengeResponse (client) + verifyWithChallengeResponse (server); does NOT submit verify_asset",
185
186
  },
186
187
  message: {
187
188
  utf8: input.message,
@@ -215,13 +216,62 @@ export async function planVerifyAsset(input) {
215
216
  clientDataJson: "Uint8Array",
216
217
  },
217
218
  notes: [
218
- "verifyWithChallengeResponse is off-chain only — it does not submit verify_asset.",
219
+ "startAuthenticationWithChallengeResponse + verifyWithChallengeResponse is off-chain only — it does not submit verify_asset. Verify on your server.",
219
220
  "Pattern A: client includes verify_asset; your program inspects instructions sysvar.",
220
221
  "Pattern B: client uses buildVerifyAssetArgs; your program CPIs verify_asset.",
221
222
  "verify_asset updates asset.last_transfer_slot; slot must be strictly increasing.",
222
223
  ],
223
224
  };
224
225
  }
226
+ export async function planRemoveOwnership(input) {
227
+ const assetPda = await findAssetPda(parseSecp256r1Pubkey(input.assetPublicKey));
228
+ const [programAuthority] = await findProgramAuthorityPda();
229
+ const mint = address(input.mint);
230
+ const owner = address(input.owner);
231
+ const programAuthorityTokenAccount = await findAssociatedTokenAddress(programAuthority, mint, TOKEN_2022_PROGRAM_ADDRESS);
232
+ const ownerTokenAccount = await findAssociatedTokenAddress(owner, mint, TOKEN_2022_PROGRAM_ADDRESS);
233
+ return {
234
+ instruction: "remove_ownership",
235
+ sdk: "getRemoveOwnershipInstructionAsync",
236
+ flow: [
237
+ "1. Confirm the connected wallet is asset.owner on-chain",
238
+ "2. Build remove_ownership with getRemoveOwnershipInstructionAsync",
239
+ "3. Owner signs and submits the transaction (no passkey tap required)",
240
+ ],
241
+ derivedAccounts: {
242
+ assetPda,
243
+ assetPublicKey: input.assetPublicKey,
244
+ programAuthority,
245
+ mint: input.mint,
246
+ owner: input.owner,
247
+ programAuthorityTokenAccount,
248
+ ownerTokenAccount,
249
+ tokenProgram: TOKEN_2022_PROGRAM_ADDRESS,
250
+ transferHookProgram: TRANSFER_HOOK_PROGRAM_ADDRESS,
251
+ program: PHYGITAL_TOKEN_PROGRAM_ADDRESS,
252
+ },
253
+ requiredSigners: [
254
+ {
255
+ name: "owner",
256
+ role: "Current asset owner wallet — must match asset.owner on-chain",
257
+ },
258
+ ],
259
+ onChainEffects: [
260
+ "Transfers one SPL token from owner ATA back to program custody",
261
+ "Sets asset.owner to program_authority (unclaimed / custody state)",
262
+ "Clears asset.is_locked (forfeiture unlocks lockable assets)",
263
+ "Closes owner ATA when balance was exactly 1 on that mint",
264
+ "Preserves asset.last_transfer_slot",
265
+ ],
266
+ notes: [
267
+ "Wallet-signed forfeiture — unlike execute_transfer, no secp256r1_verify or passkey tap.",
268
+ "Owner must hold at least one token in their ATA for the design mint.",
269
+ "Fails if asset is already in custody (program_authority is owner).",
270
+ "Fails if signer is not asset.owner or mint does not match the asset record.",
271
+ "Program authority custody ATA is created idempotently when needed.",
272
+ ],
273
+ };
274
+ }
225
275
  export function parseAssetType(value) {
226
276
  const normalized = value.trim();
227
277
  if (normalized === "Lockable" || normalized === "Transferable") {
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  export declare const SDK_SURFACE: {
2
2
  readonly mint: readonly ["buildCreateMintInstructions", "buildMintTokenInstructions", "parseSecp256r1Pubkey", "parseCredentialId", "validateMetadataFields"];
3
3
  readonly transfer: readonly ["beginTransfer", "authenticatePasskeyForTransfer", "completeTransfer"];
4
+ readonly removeOwnership: readonly ["getRemoveOwnershipInstructionAsync"];
4
5
  readonly verifyAssetComposable: readonly ["beginVerifyAsset", "authenticatePasskeyForVerifyAsset", "buildVerifyAssetArgs", "completeVerifyAsset"];
5
- readonly verification: readonly ["verifyDynamicUrl", "verifyDynamicUrlWithoutCounterCheck", "verifyWithChallengeResponse", "verifyWithChallengeResponseOverNfc"];
6
+ readonly verification: readonly ["verifyDynamicUrl", "verifyDynamicUrlWithoutCounterCheck", "startAuthenticationWithChallengeResponse", "verifyWithChallengeResponse"];
6
7
  readonly onChainComposition: {
7
8
  readonly patternA_inspect: {
8
9
  readonly client: readonly ["beginVerifyAsset", "completeVerifyAsset"];
@@ -18,12 +19,12 @@ export declare const SDK_SURFACE: {
18
19
  readonly assetLookup: readonly ["findAssetPda", "fetchAssetFromCredentialId", "fetchAllAssetsFromOwner", "fetchAssetDisplayInfo", "resolveMedia"];
19
20
  readonly gating: readonly ["Gating", "GatingTraitValue", "formatGatingPredicate", "summarizeGatingEvaluationFailure", "summarizeGatingFailure", "summarizeGatingTierFailure", "evaluateAssetGating"];
20
21
  readonly gatingTypes: readonly ["EvaluateAssetGatingOptions", "GatingFilter", "GatingAssetPredicate", "GatingTier", "GatingEvaluationResult", "GatingFilterResult", "GatingTierEvaluationResult", "GatingTiersEvaluationResult"];
21
- readonly generated: readonly ["getCreateMintInstructionAsync", "getMintTokenInstructionAsync", "getExecuteTransferInstructionAsync", "getVerifyAssetInstruction", "getSetLockStateInstruction", "fetchAsset", "findProgramAuthorityPda", "PHYGITAL_TOKEN_PROGRAM_ADDRESS"];
22
+ readonly generated: readonly ["getCreateMintInstructionAsync", "getMintTokenInstructionAsync", "getExecuteTransferInstructionAsync", "getVerifyAssetInstruction", "getSetLockStateInstruction", "getRemoveOwnershipInstructionAsync", "fetchAsset", "findProgramAuthorityPda", "PHYGITAL_TOKEN_PROGRAM_ADDRESS"];
22
23
  readonly rustClient: {
23
24
  readonly crate: "phygital-token-client";
24
25
  readonly path: "clients/rust/phygital-token";
25
26
  readonly features: readonly ["anchor", "fetch"];
26
- readonly cpi: readonly ["VerifyAssetCpi", "VerifyAssetCpiBuilder", "VerifyAssetInstructionArgs"];
27
+ readonly cpi: readonly ["VerifyAssetCpi", "VerifyAssetCpiBuilder", "VerifyAssetInstructionArgs", "RemoveOwnershipCpi", "RemoveOwnershipCpiBuilder"];
27
28
  readonly types: readonly ["Asset", "Secp256r1VerifyArgs", "AssetType"];
28
29
  };
29
30
  };
@@ -13,6 +13,7 @@ export const SDK_SURFACE = {
13
13
  "authenticatePasskeyForTransfer",
14
14
  "completeTransfer",
15
15
  ],
16
+ removeOwnership: ["getRemoveOwnershipInstructionAsync"],
16
17
  verifyAssetComposable: [
17
18
  "beginVerifyAsset",
18
19
  "authenticatePasskeyForVerifyAsset",
@@ -22,8 +23,8 @@ export const SDK_SURFACE = {
22
23
  verification: [
23
24
  "verifyDynamicUrl",
24
25
  "verifyDynamicUrlWithoutCounterCheck",
26
+ "startAuthenticationWithChallengeResponse",
25
27
  "verifyWithChallengeResponse",
26
- "verifyWithChallengeResponseOverNfc",
27
28
  ],
28
29
  onChainComposition: {
29
30
  patternA_inspect: {
@@ -69,6 +70,7 @@ export const SDK_SURFACE = {
69
70
  "getExecuteTransferInstructionAsync",
70
71
  "getVerifyAssetInstruction",
71
72
  "getSetLockStateInstruction",
73
+ "getRemoveOwnershipInstructionAsync",
72
74
  "fetchAsset",
73
75
  "findProgramAuthorityPda",
74
76
  "PHYGITAL_TOKEN_PROGRAM_ADDRESS",
@@ -77,7 +79,13 @@ export const SDK_SURFACE = {
77
79
  crate: "phygital-token-client",
78
80
  path: "clients/rust/phygital-token",
79
81
  features: ["anchor", "fetch"],
80
- cpi: ["VerifyAssetCpi", "VerifyAssetCpiBuilder", "VerifyAssetInstructionArgs"],
82
+ cpi: [
83
+ "VerifyAssetCpi",
84
+ "VerifyAssetCpiBuilder",
85
+ "VerifyAssetInstructionArgs",
86
+ "RemoveOwnershipCpi",
87
+ "RemoveOwnershipCpiBuilder",
88
+ ],
81
89
  types: ["Asset", "Secp256r1VerifyArgs", "AssetType"],
82
90
  },
83
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-surface.js","sourceRoot":"","sources":["../../src/lib/sdk-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-surface.js","sourceRoot":"","sources":["../../src/lib/sdk-surface.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type VerificationUseCase = "product_page_lookup" | "deep_link_from_prior_scan" | "offline_identification" | "login_ui_only" | "onchain_standalone_verify" | "onchain_inspect_verify_asset" | "onchain_cpi_verify_asset" | "transfer_ownership" | "wallet_holdings_gate" | "native_mobile_app";
1
+ export type VerificationUseCase = "product_page_lookup" | "deep_link_from_prior_scan" | "offline_identification" | "login_ui_only" | "vault_gated_experience" | "onchain_standalone_verify" | "onchain_inspect_verify_asset" | "onchain_cpi_verify_asset" | "transfer_ownership" | "wallet_holdings_gate" | "native_mobile_app";
2
2
  export type OnChainCompositionPattern = "inspect" | "cpi" | "standalone";
3
3
  export type VerificationRecommendation = {
4
4
  method: string;
@@ -50,12 +50,30 @@ const RECOMMENDATIONS = {
50
50
  cautions: ["Copied links can be replayed."],
51
51
  },
52
52
  login_ui_only: {
53
- method: "authentication off-chain — verifyWithChallengeResponse",
54
- sdkExports: ["verifyWithChallengeResponse", "verifyWithChallengeResponseOverNfc"],
53
+ method: "authentication off-chain — startAuthentication + verifyWithChallengeResponse",
54
+ sdkExports: [
55
+ "startAuthenticationWithChallengeResponse",
56
+ "verifyWithChallengeResponse",
57
+ ],
55
58
  requiresTap: true,
56
59
  onChain: false,
57
- rationale: "Live NFC tap verified in the client. Optional message binds the WebAuthn challenge (UTF-8). No on-chain transaction.",
60
+ rationale: "Server issues challenge; client taps NFC via startAuthenticationWithChallengeResponse; server verifies with verifyWithChallengeResponse. No on-chain transaction.",
58
61
  docIds: ["verification:methods", "verification:overview"],
62
+ cautions: ["Run verifyWithChallengeResponse on your server, not in the browser."],
63
+ },
64
+ vault_gated_experience: {
65
+ method: "vault gate — server-verified tap + evaluateAssetGating",
66
+ sdkExports: [
67
+ "startAuthenticationWithChallengeResponse",
68
+ "verifyWithChallengeResponse",
69
+ "evaluateAssetGating",
70
+ "Gating",
71
+ "GatingTraitValue",
72
+ ],
73
+ requiresTap: true,
74
+ onChain: false,
75
+ rationale: "Prove vault holder is present (server-verified tap), then check owner wallet holdings for tiered unlock.",
76
+ docIds: ["verification:methods", "verification:overview", "gating:overview"],
59
77
  },
60
78
  onchain_standalone_verify: {
61
79
  method: "on-chain verify_asset only",
@@ -115,16 +133,23 @@ const RECOMMENDATIONS = {
115
133
  sdkExports: ["evaluateAssetGating", "Gating", "GatingTraitValue"],
116
134
  requiresTap: false,
117
135
  onChain: false,
118
- rationale: "Wallet holdings via DAS. No passkey tap.",
136
+ rationale: "Wallet holdings via DAS given an asset publicKey. Pair with off-chain tap auth when you need live presence.",
119
137
  docIds: ["gating:overview"],
138
+ cautions: [
139
+ "startAuthenticationWithChallengeResponse + verifyWithChallengeResponse first, then evaluateAssetGating.",
140
+ ],
120
141
  },
121
142
  native_mobile_app: {
122
- method: "authentication off-chain — verifyWithChallengeResponseOverNfc",
123
- sdkExports: ["verifyWithChallengeResponseOverNfc"],
143
+ method: "authentication off-chain — startAuthentication (transceive) + verifyWithChallengeResponse",
144
+ sdkExports: [
145
+ "startAuthenticationWithChallengeResponse",
146
+ "verifyWithChallengeResponse",
147
+ ],
124
148
  requiresTap: true,
125
149
  onChain: false,
126
- rationale: "Native NFC transceive. Off-chain only; use beginVerifyAsset for on-chain proof.",
150
+ rationale: "Pass transceive to startAuthenticationWithChallengeResponse for native NFC readers; verify on server. Use beginVerifyAsset for on-chain proof.",
127
151
  docIds: ["verification:methods"],
152
+ cautions: ["Run verifyWithChallengeResponse on your server, not in the native client."],
128
153
  },
129
154
  };
130
155
  export function recommendVerification(useCase) {
@@ -136,6 +161,7 @@ export function listVerificationUseCases() {
136
161
  { id: "deep_link_from_prior_scan", summary: "App opens from signed deep link" },
137
162
  { id: "offline_identification", summary: "Identify asset offline (weak replay)" },
138
163
  { id: "login_ui_only", summary: "Off-chain tap-to-login (no chain tx)" },
164
+ { id: "vault_gated_experience", summary: "tap + wallet holdings check" },
139
165
  { id: "onchain_standalone_verify", summary: "On-chain verify_asset only" },
140
166
  {
141
167
  id: "onchain_inspect_verify_asset",
@@ -155,12 +181,13 @@ Identification vs Authentication
155
181
  ├── Need holder present NOW?
156
182
  │ NO → verifyDynamicUrl / verifyDynamicUrlWithoutCounterCheck
157
183
  │ YES → Need on-chain proof?
158
- │ NO → verifyWithChallengeResponse (web) / OverNfc (native) — off-chain only
184
+ │ NO → startAuthenticationWithChallengeResponse (client tap)
185
+ │ → verifyWithChallengeResponse (server verify) — off-chain only
159
186
  │ YES → beginVerifyAsset composable flow:
160
187
  │ Pattern A: [secp256r1_verify, verify_asset, your_ix] — program inspects sysvar
161
188
  │ Pattern B: [secp256r1_verify, your_ix] — program CPIs verify_asset
162
189
  └── Transfer ownership? → beginTransfer → completeTransfer
163
190
 
164
- verifyWithChallengeResponse never submits verify_asset. On-chain proof always uses beginVerifyAsset.
191
+ verifyWithChallengeResponse never submits verify_asset. Run it on your server. On-chain proof always uses beginVerifyAsset.
165
192
  `.trim();
166
193
  //# sourceMappingURL=verification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/lib/verification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/lib/verification.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,12 @@ Best when your program orchestrates verification as part of its own instruction.
29
29
 
30
30
  ## Off-chain authentication (no `verify_asset`)
31
31
 
32
- `verifyWithChallengeResponse` proves presence in the client only. It does **not** write to chain. Use for UI login when no program needs to inspect `verify_asset`.
32
+ Off-chain tap auth is split:
33
+
34
+ 1. **Client:** `startAuthenticationWithChallengeResponse(expectedMessage)` — NFC tap.
35
+ 2. **Server:** `verifyWithChallengeResponse({ expectedMessage, response, rpc })` — signature check → `publicKey`.
36
+
37
+ Does **not** write to chain. Use for UI login, vault gates, and `evaluateAssetGating` when no program needs to inspect `verify_asset`.
33
38
 
34
39
  ## Message design checklist
35
40
 
package/docs/glossary.md CHANGED
@@ -28,6 +28,7 @@ Collection (group_mint)
28
28
  | `create_mint` | Creates a **design** mint (member of a collection `group_mint`). |
29
29
  | `mint_token` | Mints one SPL token into custody and initializes an **asset** PDA. |
30
30
  | `execute_transfer` | Passkey-authorized claim/transfer from current owner to recipient. |
31
+ | `remove_ownership` | Wallet-signed forfeiture — returns token to custody and resets `asset.owner`. |
31
32
  | `set_lock_state` | Owner toggles transfer lock on a configurable asset. |
32
33
  | `create_domain_config` / `update_domain_config` | WebAuthn RP ID and origin allowlist. |
33
34
 
@@ -20,6 +20,12 @@ TypeScript package: `phygital-token-sdk` (`clients/js/phygital-token`).
20
20
  | `authenticatePasskeyForTransfer` | WebAuthn NFC tap |
21
21
  | `completeTransfer` | `secp256r1_verify` + `execute_transfer` |
22
22
 
23
+ ## Remove ownership
24
+
25
+ | Export | Purpose |
26
+ |--------|---------|
27
+ | `getRemoveOwnershipInstructionAsync` | Wallet-signed forfeiture — return token to custody and reset `asset.owner` |
28
+
23
29
  ## Verify asset (composable)
24
30
 
25
31
  | Export | Purpose |
@@ -35,8 +41,10 @@ TypeScript package: `phygital-token-sdk` (`clients/js/phygital-token`).
35
41
  |--------|---------|
36
42
  | `verifyDynamicUrl` | Identification via signed URL (server) |
37
43
  | `verifyDynamicUrlWithoutCounterCheck` | Identification offline |
38
- | `verifyWithChallengeResponse` | Off-chain authentication (browser); does not submit `verify_asset` |
39
- | `verifyWithChallengeResponseOverNfc` | Off-chain authentication (native NFC) |
44
+ | `startAuthenticationWithChallengeResponse` | Client: NFC tap trigger; returns WebAuthn response |
45
+ | `verifyWithChallengeResponse` | Server: verify tap signature; returns `publicKey` |
46
+
47
+ Pair `startAuthenticationWithChallengeResponse` (client) with `verifyWithChallengeResponse` (server). Pass optional `transceive` for kiosk / native NFC readers.
40
48
 
41
49
  On-chain proof always uses `beginVerifyAsset` / `buildVerifyAssetArgs` / `completeVerifyAsset`.
42
50
 
@@ -63,7 +71,7 @@ On-chain proof always uses `beginVerifyAsset` / `buildVerifyAssetArgs` / `comple
63
71
 
64
72
  Re-exported from `./generated/index.js`:
65
73
 
66
- - Instructions: `getCreateMintInstructionAsync`, `getMintTokenInstructionAsync`, `getExecuteTransferInstructionAsync`, `getVerifyAssetInstruction`, `getSetLockStateInstruction`, ...
74
+ - Instructions: `getCreateMintInstructionAsync`, `getMintTokenInstructionAsync`, `getExecuteTransferInstructionAsync`, `getRemoveOwnershipInstructionAsync`, `getVerifyAssetInstruction`, `getSetLockStateInstruction`, ...
67
75
  - Accounts: `fetchAsset`, `Asset`, ...
68
76
  - Types: `AssetType`, `Secp256r1VerifyArgs`, `CredentialId`, ...
69
77
  - PDAs: `findProgramAuthorityPda`, ...
@@ -14,36 +14,53 @@ All exports from `clients/js/phygital-token/src/utils/verify.ts`.
14
14
 
15
15
  ## Authentication — off-chain only (live tap)
16
16
 
17
- ### `verifyWithChallengeResponse({ rpc, message?, fetchPublicKeyFromCredentialIdCallback? })`
17
+ Off-chain authentication is **split**: NFC tap on the client, signature verification on your server.
18
18
 
19
- **Use when:** Browser web app; prove holder is present **without** an on-chain transaction.
19
+ ### `startAuthenticationWithChallengeResponse(message, transceive?)`
20
20
 
21
- Optional `message` sets the WebAuthn challenge (UTF-8 encoded). When omitted, a random 32-byte challenge is used. This lets you bind the tap to app-specific context (e.g. session id, action label) without going on-chain.
21
+ **Client trigger the tap.**
22
+
23
+ Opens the system NFC modal (browser) or talks to an NFC reader via `transceive` (kiosk / native). Returns a WebAuthn `AuthenticationResponseJSON`.
22
24
 
23
25
  ```ts
24
- // Random challenge
25
- await verifyWithChallengeResponse({ rpc });
26
+ // Browser
27
+ const response = await startAuthenticationWithChallengeResponse(message);
28
+
29
+ // Kiosk / native reader
30
+ const response = await startAuthenticationWithChallengeResponse(message, transceive);
31
+ ```
32
+
33
+ `message` must be the same string your server issued as the challenge (store server-side with a short TTL).
34
+
35
+ ### `verifyWithChallengeResponse({ rpc, expectedMessage, response, ... })`
36
+
37
+ **Server — verify the tap.**
26
38
 
27
- // Bound challenge (still off-chain)
28
- await verifyWithChallengeResponse({
39
+ Checks the WebAuthn signature against `expectedMessage`, resolves the vault `publicKey` via RPC (or `fetchPublicKeyFromCredentialIdCallback`). Returns `{ publicKey, isVerified }`. Does **not** submit `verify_asset`.
40
+
41
+ ```ts
42
+ // API route after client POSTs { message, response }
43
+ const { publicKey, isVerified } = await verifyWithChallengeResponse({
29
44
  rpc,
30
- message: `login:${sessionId}`,
45
+ expectedMessage: message,
46
+ response,
31
47
  });
32
48
  ```
33
49
 
34
- Returns `{ publicKey, isVerified }`. Does **not** submit `verify_asset`.
50
+ Typical flow:
35
51
 
36
- For on-chain proof with a bound message, use `beginVerifyAsset({ message: Uint8Array })` instead.
52
+ 1. Server issues `message` (e.g. `randomUUID()`), stores it for the session.
53
+ 2. Client calls `startAuthenticationWithChallengeResponse(message)` → user taps vault.
54
+ 3. Client POSTs `{ message, response }` to your verify API.
55
+ 4. Server calls `verifyWithChallengeResponse`, then runs your business logic (e.g. `evaluateAssetGating`).
37
56
 
38
- ### `verifyWithChallengeResponseOverNfc({ rpc, message?, transceive, ... })`
39
-
40
- Same as above for React Native / native NFC apps. Optional `message` binds the challenge the same way.
57
+ For on-chain proof with a bound message, use `beginVerifyAsset({ message: Uint8Array })` instead.
41
58
 
42
59
  ## Off-chain auth vs on-chain composable
43
60
 
44
61
  | Need | Use |
45
62
  |------|-----|
46
- | UI login, bound or random challenge, no tx | `verifyWithChallengeResponse({ message? })` |
63
+ | UI login / vault gate, no tx | `startAuthenticationWithChallengeResponse` + `verifyWithChallengeResponse` |
47
64
  | On-chain proof — Pattern A | `completeVerifyAsset` + your ix |
48
65
  | On-chain proof — Pattern B | `buildVerifyAssetArgs` + your ix |
49
66
  | Transfer ownership | `beginTransfer` → `completeTransfer` |
@@ -52,7 +69,7 @@ Same as above for React Native / native NFC apps. Optional `message` binds the c
52
69
 
53
70
  | Context | `message` type | Effect |
54
71
  |---------|----------------|--------|
55
- | `verifyWithChallengeResponse` | optional `string` | WebAuthn challenge bytes (UTF-8) |
72
+ | `startAuthenticationWithChallengeResponse` / `verifyWithChallengeResponse` | `string` (`expectedMessage`) | WebAuthn challenge bytes (UTF-8); must match on client and server |
56
73
  | `beginVerifyAsset` | `Uint8Array` | Hashed into slot-bound on-chain challenge |
57
74
 
58
- An off-chain `message` in `verifyWithChallengeResponse` does **not** produce an on-chain `verify_asset` record. Use the composable flow when your program must inspect or CPI `verify_asset`.
75
+ An off-chain `expectedMessage` does **not** produce an on-chain `verify_asset` record. Use the composable flow when your program must inspect or CPI `verify_asset`.
@@ -19,14 +19,21 @@ Do you need the holder physically present right now?
19
19
  │ ├─ Online, replay protection → verifyDynamicUrl
20
20
  │ └─ Offline / no backend → verifyDynamicUrlWithoutCounterCheck (weaker)
21
21
  └─ YES → Authentication
22
- ├─ Off-chain only (UI login, no chain) → verifyWithChallengeResponse / OverNfc
22
+ ├─ Off-chain only (UI login, vault gate, no chain tx)
23
+ │ Server issues challenge → startAuthenticationWithChallengeResponse (client tap)
24
+ │ → verifyWithChallengeResponse (server verify) → your logic (e.g. evaluateAssetGating)
23
25
  ├─ On-chain proof for your program → beginVerifyAsset composable flow (see below)
24
26
  └─ Transfer ownership → beginTransfer → completeTransfer (NOT verify_asset)
25
27
  ```
26
28
 
27
29
  ## Off-chain vs on-chain authentication
28
30
 
29
- `verifyWithChallengeResponse` and `verifyWithChallengeResponseOverNfc` are **off-chain only**. They prompt an NFC tap and verify the WebAuthn signature in the client. They do **not** submit a transaction.
31
+ Off-chain authentication uses two SDK functions:
32
+
33
+ - **`startAuthenticationWithChallengeResponse`** — client only; opens NFC and returns a WebAuthn response.
34
+ - **`verifyWithChallengeResponse`** — server only; checks the signature and resolves `publicKey`.
35
+
36
+ Neither submits a transaction. Verification should run on your backend so the client cannot fake a successful tap.
30
37
 
31
38
  For on-chain proof that a passkey holder signed a specific message at a specific slot, use the composable `beginVerifyAsset` flow.
32
39
 
@@ -56,6 +63,7 @@ The client uses `buildVerifyAssetArgs` to get `secp256r1Verify` and the verify a
56
63
  - **Transfer** challenge binds the asset PDA (recipient chosen later at wallet confirm).
57
64
  - **Verify asset** challenge binds arbitrary `message` bytes. Hash on-chain: `SHA256(message)`.
58
65
  - **Dynamic URL** binds `counter || nonce` (uint32 BE + 8 random bytes).
66
+ - **Off-chain tap** binds `expectedMessage` (UTF-8) into the WebAuthn challenge.
59
67
 
60
68
  Embed domain-specific bytes in `message` so a proof for one action cannot authorize another.
61
69
 
@@ -1,6 +1,6 @@
1
1
  # Composable `verify_asset` (TypeScript)
2
2
 
3
- On-chain passkey authentication for custom programs. **Not** the same as `verifyWithChallengeResponse` (which is off-chain only).
3
+ On-chain passkey authentication for custom programs. **Not** the same as off-chain `startAuthenticationWithChallengeResponse` + `verifyWithChallengeResponse`.
4
4
 
5
5
  ## Session flow
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phygital-token-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for the phygital-token Solana program, TypeScript SDK, and Rust client",
5
5
  "license": "ISC",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  "@modelcontextprotocol/sdk": "^1.29.0",
35
35
  "@noble/hashes": "^2.0.1",
36
36
  "@solana/kit": "^6.4.0",
37
- "phygital-token-sdk": "^0.6.0",
37
+ "phygital-token-sdk": "^0.7.0",
38
38
  "zod": "^3.25.76"
39
39
  },
40
40
  "devDependencies": {