better-near-auth 1.1.0 → 1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAOpF,OAAO,KAAK,EACX,SAAS,EAET,OAAO,EAGP,MAAM,YAAY,CAAC;AAepB,cAAc,YAAY,CAAC;AAuB3B,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAoKD,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;QACjC,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,eAAO,MAAM,IAAI,GAAI,SAAS,iBAAiB,KAAG,gBAo5BjD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAOpF,OAAO,KAAK,EACX,SAAS,EAET,OAAO,EAGP,MAAM,YAAY,CAAC;AAepB,cAAc,YAAY,CAAC;AAuB3B,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAmKD,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;QACjC,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,eAAO,MAAM,IAAI,GAAI,SAAS,iBAAiB,KAAG,gBAo5BjD,CAAC"}
package/dist/index.js CHANGED
@@ -96,7 +96,6 @@ async function initRelayer(relayerConfig, network, adapter, secret, apiKey, rpcU
96
96
  await adapter.create({
97
97
  model: "relayerKey",
98
98
  data: {
99
- id: `relayer:${network}`,
100
99
  accountId,
101
100
  encryptedPrivateKey: encrypted,
102
101
  iv,
@@ -718,7 +717,7 @@ export const siwn = (options) => {
718
717
  if (rState.mode === "ephemeral") {
719
718
  await ctx.context.adapter.update({
720
719
  model: "relayerKey",
721
- where: [{ field: "id", operator: "eq", value: `relayer:${network}` }],
720
+ where: [{ field: "network", operator: "eq", value: network }],
722
721
  update: { lastUsedAt: new Date() },
723
722
  });
724
723
  }
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "better-near-auth",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Sign in with NEAR (SIWN) plugin for Better Auth",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -24,7 +24,8 @@
24
24
  "authentication",
25
25
  "blockchain",
26
26
  "web3",
27
- "plugin"
27
+ "plugin",
28
+ "tanstack-intent"
28
29
  ],
29
30
  "author": "efiz.near",
30
31
  "license": "MIT",
@@ -54,6 +55,7 @@
54
55
  "devDependencies": {
55
56
  "@changesets/changelog-github": "^0.6.0",
56
57
  "@changesets/cli": "^2.30.0",
58
+ "@tanstack/intent": "^0.0.40",
57
59
  "@types/bun": "latest",
58
60
  "@types/node": "^25.0.9",
59
61
  "better-auth": "^1.6.9",
@@ -63,7 +65,9 @@
63
65
  "files": [
64
66
  "dist/",
65
67
  "README.md",
66
- "LICENSE"
68
+ "LICENSE",
69
+ "skills",
70
+ "!skills/_artifacts"
67
71
  ],
68
72
  "scripts": {
69
73
  "build": "tsc",
@@ -0,0 +1,301 @@
1
+ ---
2
+ name: client
3
+ description: >
4
+ Set up the siwnClient plugin for Better Auth client, configure NEAR wallet
5
+ connection via NearConnect, use authClient.near actions for sign-in, profile
6
+ lookup, account management, delegate action building with TransactionBuilder,
7
+ and relay submission. Load when implementing NEAR wallet sign-in on the client,
8
+ using authClient.near.* methods, or building delegate actions for gasless relay.
9
+ type: core
10
+ library: better-near-auth
11
+ library_version: "1.1.0"
12
+ sources:
13
+ - "elliotBraem/better-near-auth:src/client.ts"
14
+ - "elliotBraem/better-near-auth:src/types.ts"
15
+ - "elliotBraem/better-near-auth:README.md"
16
+ - "elliotBraem/better-near-auth:LLM.txt"
17
+ ---
18
+
19
+ # Better-Near-Auth — Client Integration
20
+
21
+ Client-side plugin for NEAR wallet authentication and gasless relay. Connects to NEAR wallets via NearConnect, provides `authClient.near.*` actions for sign-in, account management, profile lookup, and delegate action building.
22
+
23
+ ## Setup
24
+
25
+ ```typescript
26
+ import { createAuthClient } from "better-auth/client";
27
+ import { siwnClient } from "better-near-auth/client";
28
+
29
+ export const authClient = createAuthClient({
30
+ plugins: [
31
+ siwnClient({
32
+ recipient: "myapp.com",
33
+ networkId: "mainnet",
34
+ }),
35
+ ],
36
+ });
37
+ ```
38
+
39
+ The `recipient` must match the server's `siwn()` recipient exactly. `networkId` defaults to `"mainnet"`.
40
+
41
+ ## Core Patterns
42
+
43
+ ### Sign in with NEAR wallet
44
+
45
+ ```typescript
46
+ await authClient.signIn.near({
47
+ onSuccess: () => {
48
+ console.log("Signed in!");
49
+ },
50
+ onError: (error) => {
51
+ console.error("Sign in failed:", error.message);
52
+ },
53
+ });
54
+ ```
55
+
56
+ `signIn.near()` handles the full flow: wallet connection → NEP-413 message signing → server verification → session creation. It automatically detects wallet capabilities and uses single-step or two-step flow.
57
+
58
+ ### Build and relay a delegate action
59
+
60
+ ```typescript
61
+ import { Gas } from "near-kit";
62
+
63
+ const payload = await authClient.near.buildSignedDelegateAction(
64
+ "myapp.near",
65
+ (builder, receiverId) => builder.functionCall(receiverId, "some_method", { key: "value" }, {
66
+ gas: Gas.Tgas(30),
67
+ attachedDeposit: BigInt(0),
68
+ })
69
+ );
70
+
71
+ const result = await authClient.near.relayTransaction({ payload });
72
+ console.log("Tx hash:", result.data.txHash);
73
+
74
+ const status = await authClient.near.getRelayStatus(result.data.txHash);
75
+ console.log("Status:", status.data.status);
76
+ ```
77
+
78
+ The `buildSignedDelegateAction` callback receives a `TransactionBuilder` from near-kit and the `receiverId`. Use `builder.functionCall()` to construct actions. The builder calls `.delegate()` internally and returns a base64 payload string.
79
+
80
+ ### Wallet state and profile management
81
+
82
+ ```typescript
83
+ // Get current account
84
+ const accountId = authClient.near.getAccountId(); // string | null
85
+
86
+ // Get full wallet state
87
+ const state = authClient.near.getState(); // { accountId, publicKey, networkId } | null
88
+
89
+ // Get profile
90
+ const profile = await authClient.near.getProfile();
91
+ const aliceProfile = await authClient.near.getProfile("alice.near");
92
+
93
+ // Disconnect wallet
94
+ await authClient.near.disconnect();
95
+ ```
96
+
97
+ ### Account linking and contract view calls
98
+
99
+ ```typescript
100
+ // Link another NEAR account to current session
101
+ await authClient.near.link({
102
+ onSuccess: () => console.log("Linked"),
103
+ onError: (err) => console.error(err),
104
+ });
105
+
106
+ // Unlink
107
+ await authClient.near.unlink({ accountId: "alice.near" });
108
+
109
+ // List linked accounts
110
+ const { data } = await authClient.near.listAccounts();
111
+
112
+ // Server-side read-only contract call
113
+ const result = await authClient.near.view({
114
+ contractId: "myapp.near",
115
+ methodName: "get_value",
116
+ args: { account_id: "alice.near" },
117
+ });
118
+ ```
119
+
120
+ ## Client Actions Reference
121
+
122
+ ### authClient.near
123
+
124
+ | Method | Returns | Description |
125
+ | ------ | ------- | ----------- |
126
+ | `nonce(params)` | `Promise<Response<NonceResponse>>` | Request nonce from server |
127
+ | `verify(params)` | `Promise<Response<VerifyResponse>>` | Verify NEP-413 signature |
128
+ | `getProfile(accountId?)` | `Promise<Response<Profile>>` | Get NEAR profile |
129
+ | `view(params)` | `Promise<Response<ViewResponse>>` | Server-side contract view call |
130
+ | `getAccountId()` | `string \| null` | Currently connected account ID |
131
+ | `getState()` | `{ accountId, publicKey, networkId } \| null` | Wallet state |
132
+ | `disconnect()` | `Promise<void>` | Disconnect wallet |
133
+ | `link(callbacks?)` | `Promise<void>` | Link NEAR account to session |
134
+ | `unlink(params)` | `Promise<Response>` | Unlink NEAR account |
135
+ | `listAccounts()` | `Promise<Response>` | List linked NEAR accounts |
136
+ | `buildSignedDelegateAction(receiverId, buildActions)` | `Promise<string>` | Build + sign delegate action, returns base64 payload |
137
+ | `relayTransaction({ payload })` | `Promise<Response<RelayResponse>>` | Submit delegate action to relayer |
138
+ | `getRelayStatus(txHash)` | `Promise<Response<RelayStatusResponse>>` | Check relayed tx status |
139
+ | `getRelayerInfo()` | `Promise<Response<RelayerInfo>>` | Get relayer info and balance |
140
+ | `relayHistory()` | `Promise<Response<RelayHistoryResponse>>` | List relayed transactions |
141
+ | `client` | `Near` | Access near-kit Near instance directly |
142
+
143
+ ### authClient.signIn
144
+
145
+ | Method | Description |
146
+ | ------ | ----------- |
147
+ | `near(callbacks?)` | Connect wallet, sign message, verify — single popup |
148
+
149
+ ### Callback Interface
150
+
151
+ ```typescript
152
+ interface AuthCallbacks {
153
+ onSuccess?: () => void;
154
+ onError?: (error: Error & { status?: number; code?: string }) => void;
155
+ }
156
+ ```
157
+
158
+ ## Common Mistakes
159
+
160
+ ### CRITICAL Recipient mismatch between server and client
161
+
162
+ Wrong:
163
+
164
+ ```typescript
165
+ // Server
166
+ siwn({ recipient: "myapp.near" });
167
+
168
+ // Client
169
+ siwnClient({ recipient: "myapp.com" });
170
+ ```
171
+
172
+ Correct:
173
+
174
+ ```typescript
175
+ // Server
176
+ siwn({ recipient: "myapp.com" });
177
+
178
+ // Client
179
+ siwnClient({ recipient: "myapp.com" });
180
+ ```
181
+
182
+ The client embeds the recipient in the signed message. The server verifies against its own recipient. A mismatch causes the verify endpoint to reject the signature with "Unauthorized: Invalid signature" — which is confusing because the signature is valid, just for a different recipient.
183
+
184
+ Source: src/client.ts:17, src/index.ts:225
185
+
186
+ See also: siwn/SKILL.md — server plugin recipient configuration
187
+
188
+ ### HIGH Calling buildSignedDelegateAction without connected wallet
189
+
190
+ Wrong:
191
+
192
+ ```typescript
193
+ // No wallet connected yet
194
+ const payload = await authClient.near.buildSignedDelegateAction(
195
+ "myapp.near",
196
+ (builder, receiverId) => builder.functionCall(receiverId, "method", {})
197
+ );
198
+ ```
199
+
200
+ Correct:
201
+
202
+ ```typescript
203
+ // Check wallet state before building delegate action
204
+ const accountId = authClient.near.getAccountId();
205
+ if (!accountId) {
206
+ await authClient.signIn.near();
207
+ }
208
+ const payload = await authClient.near.buildSignedDelegateAction(
209
+ "myapp.near",
210
+ (builder, receiverId) => builder.functionCall(receiverId, "method", {})
211
+ );
212
+ ```
213
+
214
+ `buildSignedDelegateAction` reads `accountId` from the `nearState` atom. If the wallet is not connected, nearState is null and the function throws "No wallet connected — cannot sign delegate action" with no user-facing prompt to connect.
215
+
216
+ Source: src/client.ts:176-179
217
+
218
+ ### HIGH Constructing transactions with wrong builder pattern
219
+
220
+ Wrong:
221
+
222
+ ```typescript
223
+ // Wrong: trying to use .send() directly instead of delegate flow
224
+ const result = await near.transaction(accountId)
225
+ .functionCall(receiverId, "method", args, { gas: Gas.Tgas(30) })
226
+ .send({ waitUntil: "EXECUTED" });
227
+ ```
228
+
229
+ Correct:
230
+
231
+ ```typescript
232
+ // Correct: use buildSignedDelegateAction + relayTransaction
233
+ const payload = await authClient.near.buildSignedDelegateAction(
234
+ "myapp.near",
235
+ (builder, receiverId) => builder.functionCall(receiverId, "method", args, {
236
+ gas: Gas.Tgas(30),
237
+ attachedDeposit: BigInt(0),
238
+ })
239
+ );
240
+ const result = await authClient.near.relayTransaction({ payload });
241
+ ```
242
+
243
+ Delegate actions must be built through `buildSignedDelegateAction`, which uses near-kit's `TransactionBuilder.delegate()` method. Direct `.send()` broadcasts from the client account and requires the user to pay gas — defeating the gasless relay purpose.
244
+
245
+ Source: src/client.ts:172-185, maintainer interview
246
+
247
+ See also: relay/SKILL.md — relay endpoint validation and whitelisting
248
+
249
+ ### MEDIUM Using authClient.near.verify directly instead of signIn.near
250
+
251
+ Wrong:
252
+
253
+ ```typescript
254
+ // Manually calling verify without proper wallet signing flow
255
+ await authClient.near.verify({
256
+ signedMessage: someMessage,
257
+ message: "Sign in to myapp.com",
258
+ recipient: "myapp.com",
259
+ nonce: someNonce,
260
+ accountId: "alice.near",
261
+ });
262
+ ```
263
+
264
+ Correct:
265
+
266
+ ```typescript
267
+ // Use the single-step sign-in method that handles the full flow
268
+ await authClient.signIn.near({
269
+ onSuccess: () => { /* signed in */ },
270
+ onError: (error) => { console.error(error); },
271
+ });
272
+ ```
273
+
274
+ `signIn.near()` handles wallet connection, NEP-413 message signing, nonce management, and server verification in a single call. Calling `verify` directly requires manually constructing all parameters and does not handle wallet connection.
275
+
276
+ Source: src/client.ts:314-348
277
+
278
+ ### MEDIUM Not subscribing to wallet disconnect events
279
+
280
+ Wrong:
281
+
282
+ ```typescript
283
+ // Read account ID once — never updates
284
+ const accountId = authClient.near.getAccountId();
285
+ ```
286
+
287
+ Correct:
288
+
289
+ ```typescript
290
+ // Subscribe to nearState for reactive updates
291
+ import { useStore } from "nanostores/react";
292
+ const { nearState } = authClient.$store;
293
+ const state = useStore(nearState);
294
+ // state is null when wallet disconnects externally
295
+ ```
296
+
297
+ When the wallet disconnects externally (user signs out from wallet UI), the `nearState` atom is set to null. UI components that only read `getAccountId()` once will show stale account info.
298
+
299
+ Source: src/client.ts:62,82-92
300
+
301
+ See also: siwn/SKILL.md — server-side nonce and verify endpoints
@@ -0,0 +1,295 @@
1
+ ---
2
+ name: relay
3
+ description: >
4
+ Configure the gasless NEP-366 delegate action relayer in ephemeral or explicit
5
+ mode, relay signed delegate actions on-chain, enforce contract whitelisting and
6
+ gas/deposit limits, check relay status and history, and use the contract view
7
+ endpoint. Load when setting up relayer config, debugging relay failures, or
8
+ configuring RotatingKeyStore for high-throughput relay.
9
+ type: core
10
+ library: better-near-auth
11
+ library_version: "1.1.0"
12
+ sources:
13
+ - "elliotBraem/better-near-auth:src/index.ts"
14
+ - "elliotBraem/better-near-auth:src/utils.ts"
15
+ - "elliotBraem/better-near-auth:src/types.ts"
16
+ - "elliotBraem/better-near-auth:src/schema.ts"
17
+ - "elliotBraem/better-near-auth:README.md"
18
+ - "elliotBraem/better-near-auth:LLM.txt"
19
+ ---
20
+
21
+ # Better-Near-Auth — Gasless Relay
22
+
23
+ Built-in NEP-366 delegate action relayer that broadcasts signed transactions on behalf of authenticated users, paying gas from a relayer account. Supports ephemeral mode (auto-generated keypair) and explicit mode (named account with provided keys).
24
+
25
+ ## Setup
26
+
27
+ ### Ephemeral mode (zero-config)
28
+
29
+ ```typescript
30
+ import { siwn } from "better-near-auth";
31
+
32
+ export const auth = betterAuth({
33
+ plugins: [
34
+ siwn({
35
+ recipient: "myapp.com",
36
+ relayer: {}, // auto-generates keypair on first startup
37
+ }),
38
+ ],
39
+ });
40
+ ```
41
+
42
+ On first startup, the server logs the ephemeral account ID. **Fund this account with NEAR** to enable relay:
43
+
44
+ ```
45
+ [siwn] Relayer created in EPHEMERAL mode: 7a3c4b5c... (mainnet)
46
+ [siwn] Fund this account with NEAR to enable gasless relay
47
+ [siwn] Private key is encrypted in DB — persists across restarts
48
+ ```
49
+
50
+ The private key is encrypted with AES-256-GCM using `BETTER_AUTH_SECRET` as the KEK and stored in the `relayerKey` database table.
51
+
52
+ ### Explicit mode (production)
53
+
54
+ ```typescript
55
+ siwn({
56
+ recipient: "myapp.com",
57
+ relayer: {
58
+ accountId: "relayer.myapp.near",
59
+ privateKey: process.env.RELAYER_PRIVATE_KEY, // base64 ed25519:...
60
+ whitelistedContracts: ["myapp.near"],
61
+ maxGasPerTransaction: "300000000000000", // 300 Tgas
62
+ maxDepositPerTransaction: "0",
63
+ },
64
+ });
65
+ ```
66
+
67
+ ### Rotating keys (high-throughput)
68
+
69
+ ```typescript
70
+ siwn({
71
+ recipient: "myapp.com",
72
+ relayer: {
73
+ accountId: "relayer.myapp.near",
74
+ privateKeys: [
75
+ process.env.RELAYER_KEY_1,
76
+ process.env.RELAYER_KEY_2,
77
+ process.env.RELAYER_KEY_3,
78
+ ],
79
+ whitelistedContracts: ["myapp.near"],
80
+ },
81
+ });
82
+ ```
83
+
84
+ Multiple keys cycle round-robin via `RotatingKeyStore`, eliminating nonce collisions for high-throughput relayers.
85
+
86
+ ## Core Patterns
87
+
88
+ ### Relay a delegate action from client to on-chain
89
+
90
+ ```typescript
91
+ import { Gas } from "near-kit";
92
+
93
+ // 1. Build signed delegate action using wallet's function-call access key
94
+ const payload = await authClient.near.buildSignedDelegateAction(
95
+ "myapp.near",
96
+ (builder, receiverId) => builder.functionCall(receiverId, "some_method", { key: "value" }, {
97
+ gas: Gas.Tgas(30),
98
+ attachedDeposit: BigInt(0),
99
+ })
100
+ );
101
+
102
+ // 2. Relay it — the server pays gas
103
+ const result = await authClient.near.relayTransaction({ payload });
104
+ console.log("Tx hash:", result.data.txHash);
105
+
106
+ // 3. Check status
107
+ const status = await authClient.near.getRelayStatus(result.data.txHash);
108
+ console.log("Status:", status.data.status); // "pending" | "completed" | "failed"
109
+ ```
110
+
111
+ The `buildSignedDelegateAction` callback receives a `TransactionBuilder` and the `receiverId`. The builder must use `.functionCall()` — external code constructs the transaction object using near-kit's builder API. Do not use `.send()` directly.
112
+
113
+ ### Check relayer info and balance
114
+
115
+ ```typescript
116
+ const info = await authClient.near.getRelayerInfo();
117
+ console.log("Relayer:", info.data.accountId);
118
+ console.log("Mode:", info.data.mode); // "ephemeral" | "explicit"
119
+ console.log("Balance:", info.data.balance);
120
+ console.log("Enabled:", info.data.enabled);
121
+ ```
122
+
123
+ ### Server-side contract view call
124
+
125
+ ```typescript
126
+ const result = await authClient.near.view({
127
+ contractId: "myapp.near",
128
+ methodName: "get_value",
129
+ args: { account_id: "alice.near" },
130
+ });
131
+ console.log("Result:", result.data.result);
132
+ ```
133
+
134
+ View calls are read-only, authenticated, and executed server-side.
135
+
136
+ ## Relay Endpoints
137
+
138
+ | Method | Path | Description |
139
+ | ------ | ---- | ----------- |
140
+ | POST | `/near/relay` | Relay a signed delegate action on-chain |
141
+ | GET | `/near/relay-status/:txHash` | Check relayed transaction status |
142
+ | GET | `/near/relayer-info` | Get relayer accountId, mode, balance |
143
+ | GET | `/near/relay-history` | List relayed transactions for current user |
144
+ | POST | `/near/view` | Server-side read-only contract call |
145
+
146
+ ## Relayer Configuration
147
+
148
+ | Option | Type | Default | Description |
149
+ | ------ | ---- | ------- | ----------- |
150
+ | `accountId` | `string` | — | Named relayer account (explicit mode) |
151
+ | `privateKey` | `string` | — | Single private key, base64 ed25519:... (explicit mode) |
152
+ | `privateKeys` | `string[]` | — | Multiple keys for RotatingKeyStore |
153
+ | `whitelistedContracts` | `string[]` | — | Restrict relay to these contract IDs |
154
+ | `maxGasPerTransaction` | `string` | — | Max gas per relayed transaction (yoctoNEAR) |
155
+ | `maxDepositPerTransaction` | `string` | — | Max deposit per relayed transaction (yoctoNEAR) |
156
+
157
+ When `accountId` + `privateKey`/`privateKeys` are omitted → ephemeral mode (auto-generated keypair, encrypted in DB).
158
+
159
+ ## Encryption Details
160
+
161
+ - **KEK derivation**: HKDF-SHA256 with `BETTER_AUTH_SECRET`, salt `better-near-auth-relayer`, info empty
162
+ - **Encryption**: AES-256-GCM with 12-byte random IV
163
+ - **Storage**: `encryptedPrivateKey` (base64) + `iv` (base64) in `relayerKey` table
164
+ - **Trust model**: Same as Better Auth session tokens — DB access + `BETTER_AUTH_SECRET` = full access
165
+
166
+ ## Common Mistakes
167
+
168
+ ### CRITICAL Not funding the ephemeral relayer account
169
+
170
+ Wrong:
171
+
172
+ ```typescript
173
+ siwn({
174
+ recipient: "myapp.com",
175
+ relayer: {}, // ephemeral — but account has zero balance
176
+ });
177
+ // Server starts, relayer created, but every relay attempt fails
178
+ ```
179
+
180
+ Correct:
181
+
182
+ ```typescript
183
+ siwn({
184
+ recipient: "myapp.com",
185
+ relayer: {}, // ephemeral
186
+ });
187
+ // After startup, check logs for the accountId:
188
+ // [siwn] Relayer created in EPHEMERAL mode: 7a3c4b5c...
189
+ // Send NEAR to that account ID to fund the relayer
190
+ ```
191
+
192
+ The ephemeral mode generates an implicit account (hex of public key) with zero balance. Without funding, every relay attempt fails with an insufficient balance error from the NEAR RPC. Alternatively, use explicit mode with a pre-funded named account.
193
+
194
+ Source: src/index.ts:179-181, maintainer interview
195
+
196
+ ### CRITICAL Omitting whitelistedContracts in production
197
+
198
+ Wrong:
199
+
200
+ ```typescript
201
+ siwn({
202
+ recipient: "myapp.com",
203
+ relayer: {
204
+ accountId: "relayer.myapp.near",
205
+ privateKey: process.env.RELAYER_PRIVATE_KEY,
206
+ // No whitelistedContracts — any contract can be called at relayer's expense
207
+ },
208
+ });
209
+ ```
210
+
211
+ Correct:
212
+
213
+ ```typescript
214
+ siwn({
215
+ recipient: "myapp.com",
216
+ relayer: {
217
+ accountId: "relayer.myapp.near",
218
+ privateKey: process.env.RELAYER_PRIVATE_KEY,
219
+ whitelistedContracts: ["myapp.near"],
220
+ },
221
+ });
222
+ ```
223
+
224
+ Without whitelistedContracts, any authenticated user can relay transactions to arbitrary contracts, spending the relayer's NEAR. Always restrict in production.
225
+
226
+ Source: src/index.ts:891-898, maintainer interview
227
+
228
+ ### HIGH Constructing transactions with wrong builder pattern
229
+
230
+ Wrong:
231
+
232
+ ```typescript
233
+ // Wrong: trying to send directly instead of delegate
234
+ const result = await near.transaction(accountId)
235
+ .functionCall(receiverId, "method", args, { gas: Gas.Tgas(30) })
236
+ .send({ waitUntil: "EXECUTED" });
237
+ ```
238
+
239
+ Correct:
240
+
241
+ ```typescript
242
+ // Correct: build signed delegate action, then relay via server
243
+ const payload = await authClient.near.buildSignedDelegateAction(
244
+ "myapp.near",
245
+ (builder, receiverId) => builder.functionCall(receiverId, "method", args, {
246
+ gas: Gas.Tgas(30),
247
+ attachedDeposit: BigInt(0),
248
+ })
249
+ );
250
+ const result = await authClient.near.relayTransaction({ payload });
251
+ ```
252
+
253
+ Delegate actions must be built using the near-kit `TransactionBuilder` with `.delegate()`, not `.send()` directly. The wallet signs a delegate action; the relayer submits it on-chain. External code should construct the transaction object using the builder API, not attempt to broadcast directly.
254
+
255
+ Source: src/client.ts:172-185, maintainer interview
256
+
257
+ See also: client/SKILL.md — client buildSignedDelegateAction API
258
+
259
+ ### HIGH Missing BETTER_AUTH_SECRET for ephemeral key encryption
260
+
261
+ Wrong:
262
+
263
+ ```typescript
264
+ // No BETTER_AUTH_SECRET set — ephemeral key encryption uses empty string
265
+ siwn({
266
+ recipient: "myapp.com",
267
+ relayer: {},
268
+ });
269
+ ```
270
+
271
+ Correct:
272
+
273
+ ```typescript
274
+ // BETTER_AUTH_SECRET is required by Better Auth and used by the relayer
275
+ // Set it in your environment or Better Auth config
276
+ process.env.BETTER_AUTH_SECRET = "your-secure-secret";
277
+ siwn({
278
+ recipient: "myapp.com",
279
+ relayer: {},
280
+ });
281
+ ```
282
+
283
+ The ephemeral relayer encrypts its private key using HKDF-SHA256 derived from `BETTER_AUTH_SECRET`. If missing, key derivation falls back to an empty string, which is insecure and may cause decryption failures on server restart.
284
+
285
+ Source: src/utils.ts:21-41, src/index.ts:134
286
+
287
+ ### HIGH Tension: Ephemeral simplicity vs production reliability
288
+
289
+ Ephemeral mode is zero-config but requires funding an implicit account with no human-readable name. Explicit mode uses a named, pre-funded account but requires managing private keys securely. Agents optimizing for setup simplicity may default to ephemeral without warning about the funding requirement, or use explicit mode with the private key hardcoded instead of using environment variables.
290
+
291
+ See also: client/SKILL.md — delegate action building pattern
292
+
293
+ ### HIGH Tension: Whitelist security vs development flexibility
294
+
295
+ Strict `whitelistedContracts` prevents relay abuse but blocks calls to new contracts during development. Omitting the whitelist enables any contract call at the relayer's expense. Agents may copy quickstart examples without `whitelistedContracts` into production code, or add overly permissive whitelists that defeat the security purpose.
@@ -0,0 +1,257 @@
1
+ ---
2
+ name: siwn
3
+ description: >
4
+ Set up the SIWN server plugin for Better Auth, configure NEP-413 authentication
5
+ with recipient and API key, handle nonce generation, signature verification,
6
+ account linking and unlinking, and NEAR profile lookup. Load when adding
7
+ NEAR wallet sign-in to a Better Auth server, configuring siwn() plugin options,
8
+ or debugging NEP-413 verify or nonce issues.
9
+ type: core
10
+ library: better-near-auth
11
+ library_version: "1.1.0"
12
+ sources:
13
+ - "elliotBraem/better-near-auth:src/index.ts"
14
+ - "elliotBraem/better-near-auth:src/profile.ts"
15
+ - "elliotBraem/better-near-auth:src/types.ts"
16
+ - "elliotBraem/better-near-auth:src/schema.ts"
17
+ - "elliotBraem/better-near-auth:README.md"
18
+ - "elliotBraem/better-near-auth:LLM.txt"
19
+ ---
20
+
21
+ # Better-Near-Auth — SIWN Authentication
22
+
23
+ Better Auth plugin for NEAR wallet authentication following NEP-413. Provides server-side nonce generation, signature verification, account linking, and profile lookup.
24
+
25
+ ## Setup
26
+
27
+ ```typescript
28
+ import { betterAuth } from "better-auth";
29
+ import { siwn } from "better-near-auth";
30
+
31
+ export const auth = betterAuth({
32
+ database: drizzleAdapter(db, {
33
+ // your DB adapter config
34
+ }),
35
+ plugins: [
36
+ siwn({
37
+ recipient: "myapp.com",
38
+ apiKey: process.env.FASTNEAR_API_KEY,
39
+ }),
40
+ ],
41
+ });
42
+ ```
43
+
44
+ After adding the plugin, generate the database schema:
45
+
46
+ ```bash
47
+ npx @better-auth/cli generate
48
+ ```
49
+
50
+ This creates three tables: `nearAccount`, `relayedTransaction`, and `relayerKey`.
51
+
52
+ ## Core Patterns
53
+
54
+ ### Configure with custom RPC URL
55
+
56
+ For sandbox or private nodes, override the default RPC endpoint:
57
+
58
+ ```typescript
59
+ siwn({
60
+ recipient: "myapp.com",
61
+ rpcUrl: "http://localhost:3030",
62
+ apiKey: process.env.FASTNEAR_API_KEY,
63
+ });
64
+ ```
65
+
66
+ ### Custom profile lookup
67
+
68
+ Override the default FastNear KV → NEAR Social fallback chain:
69
+
70
+ ```typescript
71
+ siwn({
72
+ recipient: "myapp.com",
73
+ getProfile: async (accountId) => {
74
+ const res = await fetch(`https://api.myapp.com/profiles/${accountId}`);
75
+ if (res.ok) {
76
+ const p = await res.json();
77
+ return { name: p.displayName, description: p.bio, image: { url: p.avatar } };
78
+ }
79
+ return null;
80
+ },
81
+ });
82
+ ```
83
+
84
+ ### Validate function-call access keys
85
+
86
+ By default the plugin validates that the signing key is either a full-access key or a function-call key scoped to the recipient. Override with `validateLimitedAccessKey`:
87
+
88
+ ```typescript
89
+ siwn({
90
+ recipient: "myapp.com",
91
+ validateLimitedAccessKey: async ({ accountId, publicKey, recipient }) => {
92
+ const allowed = ["myapp.near", "social.near"];
93
+ return recipient ? allowed.includes(recipient) : true;
94
+ },
95
+ });
96
+ ```
97
+
98
+ ### Link and unlink NEAR accounts
99
+
100
+ After authentication, link additional NEAR accounts to the same session:
101
+
102
+ ```typescript
103
+ // Client: link another NEAR account
104
+ await authClient.near.link({
105
+ onSuccess: () => console.log("linked"),
106
+ onError: (err) => console.error(err),
107
+ });
108
+
109
+ // Client: unlink an account
110
+ await authClient.near.unlink({ accountId: "alice.near" });
111
+ ```
112
+
113
+ You cannot unlink the last authentication method — link another account first.
114
+
115
+ ## Server Endpoints
116
+
117
+ | Method | Path | Description |
118
+ | ------ | ---- | ----------- |
119
+ | POST | `/near/nonce` | Generate hex-encoded nonce for signing |
120
+ | POST | `/near/verify` | Verify NEP-413 signature, create session |
121
+ | POST | `/near/profile` | Get NEAR profile (requires session) |
122
+ | POST | `/near/link-account` | Link NEAR account to session |
123
+ | POST | `/near/unlink-account` | Unlink NEAR account |
124
+ | GET | `/near/list-accounts` | List linked NEAR accounts |
125
+
126
+ ## Plugin Options
127
+
128
+ | Option | Type | Default | Description |
129
+ | ------ | ---- | ------- | ----------- |
130
+ | `recipient` | `string` | — | NEP-413 recipient identifier (required) |
131
+ | `requireFullAccessKey` | `boolean` | `false` | Require full access keys |
132
+ | `getNonce` | `() => Promise<Uint8Array>` | `generateNonce()` | Custom nonce generation |
133
+ | `getProfile` | `(accountId) => Promise<Profile \| null>` | FastNear KV → NEAR Social | Custom profile lookup |
134
+ | `validateLimitedAccessKey` | `(args) => Promise<boolean>` | Default FAK validation | Validate limited access keys |
135
+ | `apiKey` | `string` | `process.env.FASTNEAR_API_KEY` | API key for RPC |
136
+ | `rpcUrl` | `string` | — | Custom RPC URL |
137
+ | `relayer` | `RelayerConfig` | — | See relay skill |
138
+
139
+ ## Email Handling
140
+
141
+ - `.near` accounts: `efiz.near` → `efiz@near.email` (automatic)
142
+ - Non-`.near` accounts (e.g. implicit hex accounts): no email set; users add email via other Better Auth plugins
143
+
144
+ ## Common Mistakes
145
+
146
+ ### CRITICAL Recipient mismatch between server and client
147
+
148
+ Wrong:
149
+
150
+ ```typescript
151
+ // Server
152
+ siwn({ recipient: "myapp.near" });
153
+
154
+ // Client
155
+ siwnClient({ recipient: "myapp.com" });
156
+ ```
157
+
158
+ Correct:
159
+
160
+ ```typescript
161
+ // Server
162
+ siwn({ recipient: "myapp.com" });
163
+
164
+ // Client
165
+ siwnClient({ recipient: "myapp.com" });
166
+ ```
167
+
168
+ The client signs a message with the recipient embedded. The server verifies against its own recipient. A mismatch causes verification to fail with no clear error.
169
+
170
+ Source: src/index.ts:225, src/client.ts:17
171
+
172
+ See also: client/SKILL.md — client recipient must match server recipient
173
+
174
+ ### HIGH Sending raw nonce bytes instead of hex-encoded string
175
+
176
+ Wrong:
177
+
178
+ ```typescript
179
+ const nonce = new Uint8Array(32);
180
+ await authClient.near.verify({
181
+ signedMessage,
182
+ message,
183
+ recipient,
184
+ nonce: nonce, // raw bytes
185
+ accountId,
186
+ });
187
+ ```
188
+
189
+ Correct:
190
+
191
+ ```typescript
192
+ const nonceBytes = generateNonce();
193
+ const nonceHex = hex.encode(nonceBytes);
194
+ // ...sign with nonceBytes via wallet...
195
+ await authClient.near.verify({
196
+ signedMessage,
197
+ message,
198
+ recipient,
199
+ nonce: nonceHex, // hex-encoded string
200
+ accountId,
201
+ });
202
+ ```
203
+
204
+ The verify endpoint hex-decodes the nonce string. Sending raw bytes or a non-hex string causes decode failure or nonce replay detection failure.
205
+
206
+ Source: src/types.ts:53-58, src/client.ts:106-109
207
+
208
+ ### HIGH Forgetting to generate DB schema after adding plugin
209
+
210
+ Wrong:
211
+
212
+ ```typescript
213
+ // Add siwn() to plugins, then start the server immediately
214
+ export const auth = betterAuth({
215
+ plugins: [siwn({ recipient: "myapp.com" })],
216
+ });
217
+ ```
218
+
219
+ Correct:
220
+
221
+ ```typescript
222
+ // Add siwn() to plugins, THEN generate schema before starting
223
+ export const auth = betterAuth({
224
+ plugins: [siwn({ recipient: "myapp.com" })],
225
+ });
226
+ // Run: npx @better-auth/cli generate
227
+ ```
228
+
229
+ The plugin adds nearAccount, relayedTransaction, and relayerKey tables. Without running the CLI, the database will be missing these tables and all endpoints will fail at runtime with adapter errors.
230
+
231
+ Source: README.md:56-60
232
+
233
+ ### MEDIUM Network mismatch from account ID suffix
234
+
235
+ Wrong:
236
+
237
+ ```typescript
238
+ await authClient.near.nonce({
239
+ accountId: "alice.near",
240
+ networkId: "testnet", // .near is mainnet
241
+ });
242
+ ```
243
+
244
+ Correct:
245
+
246
+ ```typescript
247
+ await authClient.near.nonce({
248
+ accountId: "alice.near",
249
+ networkId: "mainnet", // matches .near suffix
250
+ });
251
+ ```
252
+
253
+ Network is auto-detected from the accountId: `.testnet` → testnet, otherwise → mainnet. The nonce endpoint validates that networkId matches the account's detected network and rejects mismatches.
254
+
255
+ Source: src/profile.ts:6-8, src/index.ts:546-552
256
+
257
+ See also: client/SKILL.md — client siwnClient networkId should match the account's network