跳到主要内容

简介

欢迎使用 AXBlade 开发者文档。AXBlade 是高性能的加密货币永续合约交易平台,提供 REST API、WebSocket 实时数据推送、链上充提等完整功能。

基本信息

项目内容
REST Base URLhttps://api.axblade.io/api/v1
WebSocket URLwss://api.axblade.io/ws
测试网 REST URLhttps://testnet.axblade.io/api/v1
测试网 WebSocket URLwss://testnet.axblade.io/ws
响应格式JSON

身份验证

API 使用基于 Ethereum 的 EIP-712 签名验证机制。大多数私有接口需要 JWT Token 认证。

认证流程

  1. 获取 Nonce - 调用 GET /auth/nonce/:address 获取随机数
  2. EIP-712 签名 - 使用钱包私钥对结构化数据签名
  3. 登录获取 Token - 调用 POST /auth/login 获取 JWT Token
  4. 携带 Token - 在 Header 中添加 Authorization: Bearer <token>

EIP-712 Domain 配置

const domain = {
name: "AXBlade",
version: "1",
chainId: 421614, // Arbitrum Sepolia
verifyingContract: "0xFDe43f8e6e082975d246844DEF4fE8E704403d43"
};

签名示例 (TypeScript)

import { ethers } from 'ethers';

const API_BASE = 'https://api.axblade.io/api/v1';

async function login(signer: ethers.Signer): Promise<string> {
const address = await signer.getAddress();

// 1. 获取 Nonce
const nonceRes = await fetch(`${API_BASE}/auth/nonce/${address}`);
const { typed_data } = await nonceRes.json();

// 2. 签名
const signature = await signer.signTypedData(
typed_data.domain,
{ Login: typed_data.types.Login },
typed_data.message
);

// 3. 登录
const loginRes = await fetch(`${API_BASE}/auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
address,
signature,
timestamp: parseInt(typed_data.message.timestamp)
})
});

const { token } = await loginRes.json();
return token;
}

错误码

状态码描述含义
200OK请求成功
400Bad Request参数错误或业务逻辑违规
401Unauthorized签名验证失败或 Token 无效
403Forbidden权限不足
404Not Found资源不存在
429Too Many Requests触发频率限制
500Internal Server Error服务器内部错误

速率限制

端点类型限制
公开接口100 请求/分钟
私有接口60 请求/分钟
订单接口30 请求/分钟
WebSocket10 订阅/连接

智能合约地址 (Arbitrum Sepolia)

合约地址
AXBladeVault0xFDe43f8e6e082975d246844DEF4fE8E704403d43
USDT0x572E474C3Cf364D085760784F938A1Aa397a8B9b
ReferralRebate0xaF486e11c824389E4Ab3ced7608ac3Bd43c176B8
ReferralStorage0x984BC1C4Aa3995F9B78BA54372a10d3088C249D5

Chain ID: 421614 RPC: https://sepolia-rollup.arbitrum.io/rpc Explorer: https://sepolia.arbiscan.io

快速集成 (Quick Start)

这是一个使用 TypeScript 快速登录并查询余额的示例:

import { ethers } from 'ethers';

const API_BASE = 'https://api.axblade.io/api/v1';

async function main() {
// 初始化
const provider = new ethers.BrowserProvider(window.ethereum);
const signer = await provider.getSigner();

// 登录
const token = await login(signer);
console.log('登录成功');

// 查询余额
const balancesRes = await fetch(`${API_BASE}/account/balances`, {
headers: { 'Authorization': `Bearer ${token}` }
});
const { balances } = await balancesRes.json();
console.log('账户余额:', balances);
}

main();