HTTP API / WALLET CLIENT
submitTransfer
@hazbase/kit/walletが呼び出すHTTP APIのパス・引数・レスポンスを確認できます。認証・パスキーなどの追加APIは、認証SDKのリファレンスと実装ガイドで扱います。
APIごとに、利用者セッション・署名・操作権限の要件が異なります。以下の仕様と、利用するAPI環境の接続条件を確認してください。 APIの利用方法を確認
POST /api/wallet/transfer/submit
リクエスト
@hazbase/kit/wallet
submitTransfer(input: SubmitTransferInput): Promise<SubmitTransferResult>emailSessionをAuthorization: Bearerヘッダーに設定します。
deviceBindingIdとhighTrustTokenによる操作承認が必要です。
| 項目 | 型 | 必須 | 送信先 |
|---|---|---|---|
emailSession | string | 必須 | Authorization header |
chainId | number | 任意 | JSON body |
token | string | 必須 | JSON body |
account | string | 必須 | JSON body |
recipient | string | 必須 | JSON body |
amount | string | 必須 | JSON body |
deviceBindingId | string | 必須 | JSON body |
highTrustToken | string | 必須 | JSON body |
accountSalt | string | 任意 | JSON body |
paymasterValiditySec | number | 任意 | JSON body |
waitForReceipt | boolean | 任意 | JSON body |
metadata | Record<string, unknown> | 任意 | JSON body |
endpoint | string | 任意 | SDKの接続パス上書き |
POSTではContent-Type: application/jsonとx-request-idを付与します。x-request-idは処理の追跡用で、API全体の冪等性を保証するものではありません。
レスポンス
typescript
export type SubmitTransferResult = {
chainId: number;
token: WalletTokenSummary;
transfer: {
account: string;
recipient: string;
amount: PrepareTransferResult['amount'];
execution: PrepareTransferResult['execution'];
};
relayMode?: string;
bundlerRpcUrl?: string;
entryPointAddress?: string;
smartAccountAddress: string;
nonce: string;
initCode: string;
localUserOpHash?: string | null;
submittedUserOpHash?: string | null;
transactionHash?: string | null;
gasEstimate?: Record<string, unknown>;
receipt?: Record<string, unknown> | null;
metadata?: Record<string, unknown>;
status?: string;
};ネストした型はSDKリファレンスで確認できます。SDKはトップレベルの応答と、dataで包まれた応答を処理します。
SubmitTransferResult失敗時の確認
非2xxの応答はHazbaseWalletApiErrorとして扱われます。status、code、messageを記録し、機能固有のエラーとネットワーク障害を区別してください。秘密情報をログに出さないようにしてください。
エラーとトラブル対応