You've successfully subscribed to Alpaca Learn - Developer API Trading Tutorials, Code Samples
Great! Next, complete checkout for full access to Alpaca Learn - Developer API Trading Tutorials, Code Samples
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.
Search
Broker API

Getting Started with Instant Funding for Broker API

Christie Ruales
Christie Ruales
💡
International payments can take long periods of time to arrive, resulting in potential customers becoming disengaged before they even start trading.

Instant Funding for Broker API allows you to credit your customers’ account before funds settle; providing an instant experience that keeps them engaged and ready to begin investing right away.

How it Works

You will collect funds from your customers and upon receipt of each payment you'll then call the Instant Funding API. This will extend the buying power to each end user. 

You will then send one wire payment to Alpaca to settle the instant funding transfer by T+1 (the next trading day) by 1 pm ET. 

This flow is illustrated in the diagram above

It’s important to note that there is an 8 pm ET cutoff time each day for instant funding transfers to be considered created on T+0. Any instant funding transfers created after 8 pm ET will be considered created on T+1 and will be due for settlement on T+2. This will ensure that you have enough time to get funds to Alpaca in time for settlement on T+1. 

How to Create an Instant Funding Transfer

Step 1: Create an Instant Funding Transfer

You must specify the account you would like to credit with an instant funding transfer, the firm account the buying power will be borrowed from, and the amount to credit.  

Request

POST v1/instant_funding
{
  "account_no": "148793871",
  "source_account_no": "7536050SI",
  "amount": "100",
}

Response

{
  "account_no": "148793871",
  "amount": "100",
  "created_at": "2024-01-19T14:37:29.358932427-05:00",
  "deadline": "2024-01-23",
  "fees": [],
  "id": "2406db6a-40f5-419d-a3b8-a74bda740422",
  "interests": [],
  "remaining_payable": "100",
  "source_account_no": "7536050SI",
  "status": "PENDING",
  "total_interest": "0"
}

Step 1.1: Display Increase in Buying Power

Once the instant funding transfer is moved to a COMPLETED status you can fetch the user’s buying power via the GET trading account endpoint and guide your user to begin trading with their immediate funds. 

Request

GET /v1/trading/accounts/fc304c4d-5c2c-41f2-b357-99bbbed9ec90/account

Response

{
    "id": "9ca965bb-ff2e-457d-9ca2-addb4d63f9a6",
    "admin_configurations": {
        "allow_instant_ach": true,
        "disable_shorting": true,
        "max_margin_multiplier": "1"
    },
    "user_configurations": null,
    "account_number": "551588428",
    "status": "ACTIVE",
    "crypto_status": "INACTIVE",
    "currency": "USD",
    "buying_power": "100",
    "regt_buying_power": "100",
    "daytrading_buying_power": "0",
    "effective_buying_power": "100",
    "non_marginable_buying_power": "0",
    "bod_dtbp": "0",
    "cash": "100",
    "cash_withdrawable": "0",
    "cash_transferable": "0",
    "accrued_fees": "0",
    "pending_transfer_out": "0",
    "pending_transfer_in": "0",
    "portfolio_value": "0",
    "pattern_day_trader": false,
    "trading_blocked": false,
    "transfers_blocked": false,
    "account_blocked": false,
    "created_at": "2024-07-10T17:23:51.655324Z",
    "trade_suspended_by_user": false,
    "multiplier": "1",
    "shorting_enabled": false,
    "equity": "0",
    "last_equity": "0",
    "long_market_value": "0",
    "short_market_value": "0",
    "position_market_value": "0",
    "initial_margin": "0",
    "maintenance_margin": "0",
    "last_maintenance_margin": "0",
    "sma": "0",
    "daytrade_count": 0,
    "balance_asof": "2024-07-09",
    "previous_close": "2024-07-09T20:00:00-04:00",
    "last_long_market_value": "0",
    "last_short_market_value": "0",
    "last_cash": "0",
    "last_initial_margin": "0",
    "last_regt_buying_power": "0",
    "last_daytrading_buying_power": "0",
    "last_buying_power": "0",
    "last_daytrade_count": 0,
    "clearing_broker": "ALPACA_APCA",
    "memoposts": "100",
    "intraday_adjustments": "0",
    "pending_reg_taf_fees": "0"
}

Step 2: Manage Limits (optional)

The total amount of buying power you can extend to all of your end users combined will be limited. This limit will be determined based on your business needs in production. In sandbox, this will be $100,000 USD by default but can be updated as needed. The amount you can credit to each end user will also be limited to $1,000 USD by default. If you anticipate needing a higher limit per account this can also be updated on request. 

As you create instant funding transfers for multiple users throughout the day, you will want to keep an eye on how much of your total instant funding limit you’ve used up or how much buying power you are still able to extend to a specific account. Both of these limits can be monitored via API as shown below. 

Manage Instant Funding Limits

View the instant funding limit available for you to use across all your end users. 

Request

GET v1/instant_funding/limits

Response

{
    "amount_available": "99900",
    "amount_in_use": "100",
    "amount_limit": "100000"
}

Manage Account Level Instant Funding Limits

View the instant funding limit available for a specific account or multiple accounts at once.

Request

GET v1/instant_funding/limits/accounts?account_numbers=148793871

Response

[
    {
        "account_no": "148793871",
        "amount_available": "900",
        "amount_in_use": "100",
        "amount_limit": "1000"
    }
]

How to Settle an Instant Funding Transfer

All instant funding transfers are expected to settle on T+1 by 1 pm ET meaning that you will have one trading day to convert the instant funding transfer from an extension of buying power to actual settled cash. Alpaca makes this easy and convenient by providing two reports that you can rely on to determine exactly how much is owed for settlement and by when. 

Once the funds have been sent to Alpaca you will have to explicitly trigger settlement via API. 

Alpaca will then perform balance checks to determine if the amount sent is sufficient to complete settlement or if there is an insufficient balance then settlement will not be executed. Excess funds will also be swept to a separate dedicated firm account, denoted by the FW suffix, as the expectation is that the SI firm account is meant to complete instant funding settlement and should be zeroed out after each settlement is completed.

This flow is illustrated in the diagram above

Step 1: Fetch a Settlement Report

Alpaca provides a high level summary report which shows the total amount due for settlement and a detailed report that is broken down to show each of the associated instant funding transfers that are due. These reports are meant to help you quickly understand how much you are expected to send to settle all instant funding transfers created on T+0 or to look back historically and know how much was owed for any given day. 

Request

GET v1/instant_funding/reports?report_type=summary&system_date=2024-05-15

Response

[
    {
        "account_no": "5007375SI",
        "deadline": "2024-05-16",
        "system_date": "2024-05-15",
        "total_amount_owed": "900",
        "total_interest_penalty": "0.7"
    }
]

Step 2: Submit Payment to Alpaca

Once you are confident that you know exactly how much is owed for settlement, you can initiate a wire payment from your external bank account to Alpaca to be credited to your firm account denoted with the SI suffix. You can monitor the non trade events stream to know exactly when the funds are credited to your account.

Step 3: Trigger Settlement

You will trigger settlement via API and submit the list of instant funding transfers that you wish to settle with the funds credited to your SI firm account. At this stage, you will also include the travel rule details which Alpaca is required to collect. For more information on the travel rule requirements please refer to the FinCEN Advisory as needed.

Request

POST v1/instant_funding/settlements
{
  "transfers": [
    {
      "instant_transfer_id": "29d8afd1-b7b1-4b47-830d-263244c4d28b",
      "transmitter_info": {
        "originator_full_name": "John Doe",
        "originator_street_address": "123 Alpaca Way",
        "originator_city": "San Mateo",
        "originator_postal_code": "12345",
        "originator_country": "USA",
        "originator_bank_account_number": "123456789",
        "originator_bank_name": "Citibank"
      }
    }
  ],
  "additional_info": "bulk wire sent to account 7536050SI from Citibank account number 191919191"
}

Response

{
    "created_at": "2024-05-24T08:56:01.440771581-04:00",
    "id": "53d63f11-e844-4867-ab72-364bb1ac9258",
    "interest_amount": "0",
    "source_account_number": "5007375SI",
    "status": "PENDING",
    "total_amount": "100",
    "updated_at": "2024-05-24T08:56:01.440771581-04:00"
}

What’s Next?

If you are an existing Broker API partner, and interested in enabling this product solution, please contact your respective Customer Success Manager or [email protected]

If you are not yet a partner, speak with an expert, specifying you would like to learn more about our Instant Funding solution. 

Additional Resources

To learn more about Instant Funding for Broker API, please check out our additional resources:


The content article is for general information only and is believed to be accurate as of posting date but may be subject to change. Alpaca does not provide investment, tax, or legal advice. Please consult your own independent advisor as to any investment, tax, or legal statements made herein.

All investments involve risk, and the past performance of a security, or financial product does not guarantee future results or returns. There is no guarantee that any investment strategy will achieve its objectives. Please note that diversification does not assure a profit, or protect against loss. There is always the potential of losing money when you invest in securities, or other financial products. Investors should consider their investment objectives and risks carefully before investing.

Securities brokerage services are provided by Alpaca Securities LLC ("Alpaca Securities"), member FINRA/SIPC, a wholly-owned subsidiary of AlpacaDB, Inc. Technology and services are offered by AlpacaDB, Inc.

This is not an offer, solicitation of an offer, or advice to buy or sell securities or open a brokerage account in any jurisdiction where Alpaca Securities are not registered or licensed, as applicable.

Interested in learning more about Broker API?

Don't miss out on any updates about our Broker API suite of solutions! Share your details with us and be the first to know about our latest content.

Broker APIProduct Features Broker API