@chipi-stack/backend

中文文档
14.19.0发布于 2026/10/27MITTypeScriptESM + CJS近 30 天下载 1882

服务器 SDK 用于无气Starknet钱包——钱包提供,支付,SKU购买和加密汇款

中文使用文档
文档目录9 节
  1. 安装
  2. 快速启动
  3. 确认交易
  4. 国库
  5. Bramble 和其他 Starknet 钱包
  6. USDC(环CCTP V2)
  7. 你可以运送的东西
  8. 文档
  9. 许可证

@ chipi- stack/ 后端

服务器侧SDK为Chipi Pay. 处理钱包创建,交易,SKU购买,以及交换.

安装

npm install @chipi-stack/backend

快速启动

import { ChipiSDK } from "@chipi-stack/backend";

const sdk = new ChipiSDK({
  apiPublicKey: process.env.CHIPI_API_PUBLIC_KEY!,
  apiSecretKey: process.env.CHIPI_API_SECRET_KEY!,
});

const bearerToken = "your-bearer-token"; // From your auth provider (e.g., Clerk)

// Create a wallet
const wallet = await sdk.createWallet({
  params: {
    externalUserId: "user-123",
    chain: "STARKNET",
    encryptKey: "user-pin-or-passkey",
  },
  bearerToken,
});

// Transfer USDC
const tx = await sdk.transfer({
  params: {
    wallet: wallet.wallet,
    token: "USDC",
    recipient: "0x...",
    amount: 10,
    encryptKey: "user-pin-or-passkey",
  },
  bearerToken,
});

确认交易

每个无油的书写都回了一笔散文,没有别的,所以 waitForTransaction 回答以下两个问题:它是否成功,以及 它释放出什么.

import { waitForTransaction } from "@chipi-stack/backend";

const receipt = await waitForTransaction(tx);

if (!receipt.success) {
  throw new Error(receipt.revertReason ?? "reverted on chain");
}

// Raw events, decode against your own ABI.
const transferred = receipt.events.filter((e) => e.from_address === USDC);

回来的回来作为 结果 (单位:千美元)success: false 加号 revertReason(没有) 投出一个球,因为回转是正常的结果... ...你枝了。 只是"我们没有 也就是超时或运输故障 重试就是 正确的反应.

选项 : nodeUrl, (中文(简体) ), retryIntervalMs (违约3000)和 timeoutMs (默认为300000). nodeUrl 是你喜欢的终点 而不是唯一的终点 尝试过,因为阅读收据是一意孤行的,并落入RPC链.

国库

sdk.treasury 从自己的服务器驱动 SHHH 多西格 。 三者以下都需要 (单位:千美元) sk_,所以保持他们的服务器侧.

// Discover a treasury instead of pinning its id in an env var.
const { items } = await sdk.treasury.list();
const ops = items.find((t) => t.name === "Ops Treasury");

// Require more signatures to borrow than to repay.
await sdk.treasury.setPolicy(ops.id, { sensitiveQuorum: 3 });
const policy = await sdk.treasury.getPolicy(ops.id);

// A transport bound to one treasury + owner, wireable into chipi-react's hooks.
const transport = sdk.treasury.forTreasury({ treasuryId: ops.id, ownerPubkey });

法定人数只能 提高 requiredApprovals 在钱包上方的链上 阈值。 连锁店是硬楼 所以下面的法定人数能产生建议 达到批准,然后在执行时返回.

Bramble 和其他 Starknet 钱包

已经拥有 Bramble, Braavos 或 Ready 的用户可以和 Chipi 一起使用. 他们的钥匙从不离开钱包.

签到史塔克网 (14.16.0+): Bramble 签下SNIP-12信息,一次性非ce,账户检查.

import { createStarknetSignInTypedData, verifyStarknetSignIn } from "@chipi-stack/backend";
import { RpcProvider } from "starknet";

const now = Math.floor(Date.now() / 1000);
const typedData = createStarknetSignInTypedData({
  domain: "app.example.com",
  uri: "https://app.example.com",
  address: brambleAddress, // from wallet_requestAccounts
  nonce,
  issuedAt: now,
  expirationTime: now + 600,
});
// The browser asks Bramble: wallet_signTypedData(typedData) → signature
const result = await verifyStarknetSignIn({
  typedData,
  signature,
  provider: new RpcProvider({ nodeUrl }),
  expected: { domain: "app.example.com", uri: "https://app.example.com", nonce },
});
if (result.ok) console.log("signed in as", result.address);

信任的钱包 (14.17.0+):Bramble可以是Chipi钱包的共同所有人或回收监护人,通过 STARK_SNIP12 签字人种. 一旦加入为共同所有者,Bramble批准与 wallet_signTypedData 奇皮毫无气息地传达他们:

const txHash = await sdk.executeWithExternalSigner({
  params: {
    walletAddress: chipiWallet.publicKey,
    ownerIndex: brambleOwnerId,
    calls,
    signTypedData: async (typedData) =>
      (await bramble.request({ type: "wallet_signTypedData", params: typedData })) as string[],
    // Checked off-chain before relaying (key from resolveStarkSnip12Signer).
    signer: { address: brambleAddress, starkPubkey },
  },
  bearerToken,
});

这个 STARK_SNIP12 主网公布核查员类别; isShhhVerifierDeclared 检查任何网络。 指南: 签到史塔克网 财务报告和审定财务报表 信任的钱包。 。 。 .

USDC(环CCTP V2)

原生的USDC从Base,Arbitrum,Optimism,Polygon或Ethereum进入了Chipi钱包,然后返回出局,一个链条上燃烧Circle,另一个链条上薄荷. Chipi支付斯塔克内薄荷;用户免费(15–20分从一L2)或快取(Circle的收费,约一分). 反应钩子( R)useCrossChainDeposit, (中文(简体) ), useCrossChainWithdraw)做整流;棋子在这里用于服务器和自定义流.

import { ChipiServerSDK, CCTP_EVM_CHAINS, cctpQuote, formatCctpEta } from "@chipi-stack/backend";

export async function depositFromBase(sdk: ChipiServerSDK, burnTxHash: string) {
  const base = CCTP_EVM_CHAINS.find((c) => c.key === "base")!;
  const quotes = await cctpQuote({ sourceDomain: base.domain, destinationDomain: 25, amount: "25" });
  console.log(`free in ${formatCctpEta(quotes.standard.eta)}, or ${quotes.fast.feeUsdc} USDC fee for ${formatCctpEta(quotes.fast.eta)}`);

  // Once the user's EVM wallet burned (depositFromEvm in the browser), register the burn:
  // Chipi mints on Starknet even if the user's page is gone.
  await sdk.registerCctpDeposit({
    burnTxHash,
    sourceDomain: base.domain,
    mintRecipient: wallet.address,
    amountUsdc: quotes.standard.amountUsdc,
  });
  return sdk.getCctpDepositStatus(burnTxHash); // PENDING | MINTED | FAILED | UNREGISTERED
}

索拉纳是一个单独的入口, @chipi-stack/backend/solana,则需要 @solana/web3.js (可选的同伴依赖性) : depositFromSolana 烧穿了主人的钱包 等待烧到着陆, buildCctpWithdrawToSolanaCalls 命名所有者的 USDC 令牌账户( 唯一的账户) receiveMessage 薄荷到, solanaUsdcAtaExists 财务报告和审定财务报表 isSolanaWalletAddress 打开接收器.

指南 : 交叉链路。 。 。 .

你可以运送的东西

  • 现职钱包 APIs ——从后端为用户提供和管理钱包
  • SKU市场(机票、账单、礼品卡) - 将现实世界的采购与加密铁路结合起来
  • 加密汇款后端 ——建设有稳定币结算的跨境支付服务
  • Fintechs的无气支付处理 ——接受并发送USDC而不由用户支付汽油

有主意吗? 告诉我们你想建什么

文档

完整文件时间 页面存档备份,存于互联网档案馆. docs.chipipay.com

许可证

麻省理工学院

版本与发布记录

@chipi-stack/backend 共发布 94 个版本,首次发布于 2025/08/24;过去 12 个月发布了 64 个版本。

版本发布日期距今
14.19.0latest2026/10/2714 天前
14.18.02026/10/2614 天前
14.17.22026/10/2317 天前
14.17.12026/10/1624 天前
14.17.02026/10/1525 天前
14.16.02026/10/1129 天前

关于 @chipi-stack/backend 的常见问题

@chipi-stack/backend 是什么?

服务器 SDK 用于无气Starknet钱包——钱包提供,支付,SKU购买和加密汇款

如何安装 @chipi-stack/backend?

在项目目录运行 npm install @chipi-stack/backend,或使用 pnpm add / yarn add / bun add。

@chipi-stack/backend 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@chipi-stack/backend 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@chipi-stack/backend 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@chipi-stack/backend 可以商用吗?

@chipi-stack/backend 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@chipi-stack/backend 的下载量有多少?

根据 npm 官方下载统计,@chipi-stack/backend 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,882 次,日均约 63 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@chipi-stack/backend 还在维护吗?

最新版本 14.19.0 发布于 2026/10/27(14 天前);至今共发布 94 个版本,其中过去 12 个月发布了 64 个;首次发布于 2025/08/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。