Alpa.Crypto.Funding (AlpaEx v1.0.3)

View Source

Crypto funding operations for the Alpaca Trading API.

Manage crypto wallets and funding transfers.

Summary

Functions

Request a crypto withdrawal.

Add a crypto address to the withdrawal whitelist.

Remove a crypto address from the withdrawal whitelist.

Estimate gas fees for a crypto transfer.

Get a specific crypto funding transfer.

List crypto funding transfers.

List crypto wallets.

List whitelisted crypto withdrawal addresses.

Functions

create_transfer(params)

@spec create_transfer(keyword()) ::
  {:ok, Alpa.Models.CryptoTransfer.t()} | {:error, Alpa.Error.t()}

Request a crypto withdrawal.

Parameters

  • :amount - Amount to withdraw (required)
  • :address - Destination wallet address (required)
  • :symbol - Crypto symbol, e.g. "BTC" (required)

Examples

iex> Alpa.Crypto.Funding.create_transfer(amount: "0.5", address: "bc1q...", symbol: "BTC")
{:ok, %Alpa.Models.CryptoTransfer{...}}

create_whitelist(opts \\ [])

@spec create_whitelist(keyword()) :: {:ok, map()} | {:error, Alpa.Error.t()}

Add a crypto address to the withdrawal whitelist.

Parameters

  • :address - Wallet address to whitelist (required)
  • :asset - Crypto asset symbol, e.g. "BTC" (required)

Examples

iex> Alpa.Crypto.Funding.create_whitelist(address: "bc1q...", asset: "BTC")
{:ok, %{"address" => "bc1q...", "asset" => "BTC", ...}}

delete_whitelist(address, opts \\ [])

@spec delete_whitelist(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Alpa.Error.t()}

Remove a crypto address from the withdrawal whitelist.

Examples

iex> Alpa.Crypto.Funding.delete_whitelist("bc1q...")
{:ok, %{}}

estimate_transfer(transfer_id, opts \\ [])

@spec estimate_transfer(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Alpa.Error.t()}

Estimate gas fees for a crypto transfer.

Examples

iex> Alpa.Crypto.Funding.estimate_transfer("transfer-id")
{:ok, %{"fee" => "0.0001", ...}}

get_transfer(transfer_id, opts \\ [])

@spec get_transfer(
  String.t(),
  keyword()
) :: {:ok, Alpa.Models.CryptoTransfer.t()} | {:error, Alpa.Error.t()}

Get a specific crypto funding transfer.

Examples

iex> Alpa.Crypto.Funding.get_transfer("transfer-id")
{:ok, %Alpa.Models.CryptoTransfer{...}}

list_transfers(opts \\ [])

@spec list_transfers(keyword()) ::
  {:ok, [Alpa.Models.CryptoTransfer.t()]} | {:error, Alpa.Error.t()}

List crypto funding transfers.

Options

  • :asset - Filter by asset symbol (e.g., "BTC")

Examples

iex> Alpa.Crypto.Funding.list_transfers()
{:ok, [%Alpa.Models.CryptoTransfer{...}]}

list_wallets(opts \\ [])

@spec list_wallets(keyword()) ::
  {:ok, [Alpa.Models.CryptoWallet.t()]} | {:error, Alpa.Error.t()}

List crypto wallets.

Examples

iex> Alpa.Crypto.Funding.list_wallets()
{:ok, [%Alpa.Models.CryptoWallet{...}]}

list_whitelists(opts \\ [])

@spec list_whitelists(keyword()) :: {:ok, [map()]} | {:error, Alpa.Error.t()}

List whitelisted crypto withdrawal addresses.

Examples

iex> Alpa.Crypto.Funding.list_whitelists()
{:ok, [%{"address" => "bc1q...", "asset" => "BTC", ...}]}