GeminiGemini
Demo environmentGet API key
  • Overview
  • Crypto Trading
  • Prediction Markets
  • Perpetuals
  • Stocks
  • API Reference
  • SDKs & Tools
Changelog
Gemini logoGemini logo

© 2026 Gemini Space Station, Inc.

TypeScript SDK — Account Services: Banking & Payments

Link bank accounts and manage payment methods. All methods are on client.account.

See the API specifications for full request/response schemas and the authentication guide for setup.

Methods

addBank

POST /v1/payments/addbank · Authenticated

Links a US bank account for fiat deposits and withdrawals. The request body is validated client-side. The SDK enforces:

  • accountnumber — required string
  • routing — required string
  • name — required string (account holder name)
  • type — required enum: "checking" or "savings"
Code
const result = await client.account.addBank({ accountnumber: "123456789", routing: "021000021", name: "Jane Doe", type: "checking", });

This is a POST mutation — never automatically retried. Double-check account details before submitting; linking an incorrect account requires manual correction.

addBankCAD

POST /v1/payments/addbank/cad · Authenticated

Links a Canadian bank account for CAD deposits and withdrawals. The request body is validated client-side. The SDK enforces:

  • swiftcode — required string
  • accountNumber — required string
  • name — required string
  • type — required enum: "checking" or "savings"
  • institutionNumber, branchnnumber — optional strings
Code
const result = await client.account.addBankCAD({ swiftcode: "ROYCCAT2", accountNumber: "1234567", name: "Jane Doe", type: "checking", institutionNumber: "003", branchnnumber: "00012", });

Note: The field name branchnnumber (with double "n") matches the API specification exactly.

listPaymentMethods

POST /v1/payments/methods · Authenticated

Returns all payment methods linked to the account. The response is a wrapper object with balances and banks arrays — not a bare array.

Code
const methods = await client.account.listPaymentMethods({}); // Fiat balances available for trading for (const balance of methods.balances ?? []) { console.log(`${balance.currency}: ${balance.available} available`); } // Linked bank accounts for (const bank of methods.banks ?? []) { console.log(`${bank.bank} (${bank.bankId})`); }

This is a POST mutation — never automatically retried.

What's next

  • Balances & Account — account details and balance queries
  • Withdrawals & Transfers — moving funds
  • Request Validation — how client-side validation works
On this page
  • Methods
    • addBank
    • addBankCAD
    • listPaymentMethods
  • What's next
TypeScript
TypeScript
TypeScript