开发者

用钱包登录控制台即可,不需要另外注册账号。控制台创建的 API key 兼容 OpenAI 接口,接口地址如下。

Base URL https://openrouter.ai/api/v1

步骤

  1. 1拿到 BEAD:质押领取、在市场买入,或接收转账。
  2. 2激活:销毁 BEAD,记入 API 余额。
  3. 3在控制台创建一个 key。明文只显示一次。
  4. 4用这个 key 调用兼容 OpenAI 的接口。

BSC 上的合约

一次调用里买入并激活

先用 USD1 授权 maxCost 的额度,再调用 BeadMarket.buy。accountId 填控制台里你的账户编号;填 0 时 BEAD 会转进钱包,不会激活。

示例中的 fills 和 maxCost 仅作演示,请换成你确认过的报价。maxCost 需要覆盖成交金额和买方手续费。

import { parseAbi } from "viem";

const usd1 = "0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d";
const market = "0xc424f86CFCA94104d5153ca316430D3FEF125F78";
// Account id from the console. Zero delivers BEAD to the wallet instead of activating it.
const accountId = "0x1111111111111111111111111111111111111111111111111111111111111111";

// wallet is a viem WalletClient on BSC (chain id 56).
const usd1Abi = parseAbi([
  "function approve(address spender, uint256 amount) returns (bool)",
]);
const marketAbi = parseAbi([
  "function buy((uint256 listingId, uint256 amount)[] fills, uint256 maxCost, bytes32 accountId) returns (uint256 totalPaid)",
]);

// Example only: 10 BEAD from listing 1. Replace both with the quote you accept.
const fills = [{ listingId: 1n, amount: 10n * 10n ** 18n }];
const maxCost = 8_500_000_000_000_000_000n;

await wallet.writeContract({
  address: usd1,
  abi: usd1Abi,
  functionName: "approve",
  args: [market, maxCost],
});

await wallet.writeContract({
  address: market,
  abi: marketAbi,
  functionName: "buy",
  args: [fills, maxCost, accountId],
});

调用接口

curl

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-4o-mini","messages":[{"role":"user","content":"Hello"}]}'

OpenAI SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
});

await client.chat.completions.create({
  model: "openai/gpt-4o-mini",
  messages: [{ role: "user", content: "Hello" }],
});