Alpaca Instant Funding API

The Instant Funding API from Alpaca — 7 operation(s) for instant funding.

Operations 10

GET /v1/instant_funding Get Instant Funding List #
POST /v1/instant_funding Create an instant funding request #
DELETE /v1/instant_funding/{instant_funding_id} Cancel an instant funding request #
GET /v1/instant_funding/{instant_funding_id} Get an instant funding request #
GET /v1/instant_funding/limits Get instant funding limits #
GET /v1/instant_funding/limits/accounts Get instant funding account limits #
GET /v1/instant_funding/reports Get instant funding report #
GET /v1/instant_funding/settlements List settlements #
POST /v1/instant_funding/settlements Create a new settlement #
GET /v1/instant_funding/settlements/{settlement_id} Get a single settlement #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-position-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-option-contract-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-assets-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-create-order-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-trade-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-account-extended-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-account-creation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-trade-update-event-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-ipoevent-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-corporate-action-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-movers-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-fixed-income-latest-quotes-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-most-actives-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-fixed-income-latest-prices-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-stock-auctions-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-token-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-token-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/alpaca/json-schema/alpaca-corporate-actions-resp-schema.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alpaca:alpaca-instant-funding-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alpaca-instant-funding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@alpaca.markets
    name: Alpaca Support
    url: https://alpaca.markets/support
  description: Open brokerage accounts, enable stock, options and crypto trading. Manage the ongoing user experience and brokerage customer lifecycle with the Alpaca Broker API
  termsOfService: https://s3.amazonaws.com/files.alpaca.markets/disclosures/library/TermsAndConditions.pdf
  title: Broker Instant Funding API
  version: 1.1.1
servers:
- description: Sandbox endpoint
  url: https://broker-api.sandbox.alpaca.markets
- description: Production endpoint
  url: https://broker-api.alpaca.markets
security:
- BasicAuth: []
tags:
- name: Instant Funding
paths:
  /v1/instant_funding:
    get:
      description: 'Returns a list of instant funding records based on the query parameters. The results are

        paginated, sorted, and filtered based on the parameters provided.'
      operationId: get-v1-instant-funding-list
      parameters:
      - description: sort results based on created_at, amount, and deadline
        in: query
        name: sort_by
        required: false
        schema:
          $ref: '#/components/schemas/ListSortBy'
      - description: Defines the ordering of sort_by query. Defaults to ASC when not specified.
        in: query
        name: sort_order
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
      - description: defines the number of results that will be returned from the request
        in: query
        name: limit
        required: false
        schema:
          maximum: 100
          minimum: 1
          type: integer
      - description: defines the number of results that will be skipped before picking the results that will be returned
        in: query
        name: offset
        required: false
        schema:
          minimum: 1
          type: integer
      - description: filter transfers based on system date
        in: query
        name: system_date
        required: false
        schema:
          format: date
          type: string
      - description: filter transfers based on settlement deadline
        in: query
        name: deadline
        required: false
        schema:
          format: date
          type: string
      - description: filter transfers based on status
        in: query
        name: status
        required: false
        schema:
          $ref: '#/components/schemas/InstantFundingStatus'
      - description: filter transfers based on the date of creation
        in: query
        name: before
        required: false
        schema:
          format: date-time
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/InstantFunding'
                type: array
          description: list of transfers
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: error
      summary: Get Instant Funding List
      tags:
      - Instant Funding
    post:
      description: 'Creates an instant funding request. The request will be processed and the funds will be

        made available to the account in the form of a Memopost non trade activity. Upon settlement

        the Memoposted will be corrected to a CSD activity.


        **Idempotency**: When the `Idempotency-Key` header is supplied, this endpoint is

        idempotent. Multiple requests with the same key and identical request body will

        create only one transfer. A subsequent request returns the previously created

        transfer with the same response (no duplicate is created). If the same key is used

        with a different request body, the API returns `422 Unprocessable Entity`.


        **Recommended for production**: Always supply `Idempotency-Key` when creating

        transfers. This allows safe retries on timeouts, network errors, or 5xx responses

        without risking duplicate transfers. Use a client-generated unique value (e.g. UUID).'
      operationId: post-v1-instant-funding
      parameters:
      - $ref: '#/components/parameters/LegacyIdempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIFTransferRequest'
        description: details of the instant funding request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantFunding'
          description: Instant transfer request created.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unprocessable Entity. Returned when an idempotency key is reused with a different request body.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Create an instant funding request
      tags:
      - Instant Funding
  /v1/instant_funding/{instant_funding_id}:
    delete:
      description: Cancels a single instant funding request based on the ID supplied if possible.
      operationId: delete-v1-instant-funding-single
      parameters:
      - description: UUID ID of the instant funding transfer to cancel
        in: path
        name: instant_funding_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Cancel an instant funding request
      tags:
      - Instant Funding
    get:
      description: Returns an instant funding transfer based on the ID supplied.
      operationId: get-v1-instant-funding-single
      parameters:
      - description: ID of the instant funding transfer
        in: path
        name: instant_funding_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantFunding'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Get an instant funding request
      tags:
      - Instant Funding
  /v1/instant_funding/limits:
    get:
      description: 'Returns globally configured limits for the correspondent. These limits are used to determine

        the maximum amount that can be extended to all accounts, and reaching this limit will result

        in further requests to create instant funding requests being rejected.'
      operationId: get-v1-instant-funding-correspondent-limits
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CorrespondentLimit'
          description: correspondent instant funding limits
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: error
      summary: Get instant funding limits
      tags:
      - Instant Funding
  /v1/instant_funding/limits/accounts:
    get:
      description: Returns the limits for individual partner accounts.
      operationId: get-v1-instant-funding-account-limits
      parameters:
      - description: Filter limits based on comma-separated account numbers
        explode: false
        in: query
        name: account_numbers
        required: true
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AccountLimit'
                type: array
          description: individual broker account limits
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: error
      summary: Get instant funding account limits
      tags:
      - Instant Funding
  /v1/instant_funding/reports:
    get:
      description: Returns instant funding reports which are to be used for daily reconciliation reporting.
      operationId: get-v1-instant-funding-reports
      parameters:
      - description: The report type to be returned; 'summary' or 'detail', defaults to 'summary'
        in: query
        name: report_type
        required: false
        schema:
          type: string
      - description: 'The system date to be used for the report. If not provided then the last system date will be used.

          '
        in: query
        name: system_date
        required: false
        schema:
          format: date
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ReportsResponse'
                type: array
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Get instant funding report
      tags:
      - Instant Funding
  /v1/instant_funding/settlements:
    get:
      description: Returns all settlements filtered by status if provided.
      operationId: get-v1-instant-funding-settlements
      parameters:
      - description: comma delimited list of statuses to use as a filter
        in: query
        name: statuses
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlementsResponse'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: List settlements
      tags:
      - Instant Funding
    post:
      description: 'Creates a new settlement, which will trigger the reconciliation process for all included

        transfers and their interests. There is a limit of 50,000 transfers per settlement. If more

        than 50,000 transfers need to be settled, they should be batched in multiple settlements.'
      operationId: post-v1-instant-funding-settlements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSettlementRequest'
        description: details of the settlement request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlementResponse'
          description: Settlement created.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Create a new settlement
      tags:
      - Instant Funding
  /v1/instant_funding/settlements/{settlement_id}:
    get:
      description: Returns the settlement specified by the path parameter.
      operationId: get-v1-instant-funding-settlements-single
      parameters:
      - description: ID of the settlement
        in: path
        name: settlement_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlementResponse'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      summary: Get a single settlement
      tags:
      - Instant Funding
components:
  schemas:
    Error:
      properties:
        code:
          description: Alpaca error code, such as `40310000`. Usually the HTTP status code followed by a five-digit suffix. Several errors can share the same code, so check `message` for the specific reason.
          type: number
        message:
          description: Human-readable reason for the rejection.
          type: string
      required:
      - code
      - message
      title: Error
      type: object
    SettlementStatus:
      description: "Values:\n * `PENDING`: Created and waiting to be processed\n * `AWAITING_ADDITIONAL_FUNDS`: Waiting for additional funds to be deposited\n * `COMPLETED`: All transactions are reconciled\n * `FAILED`: Attempt to process this settlement has failed. If this is observed\n  additional remittance information may be required, or one of the transfers being settled\n  accrued additional interest since the settlement was created.\n"
      enum:
      - PENDING
      - AWAITING_ADDITIONAL_FUNDS
      - COMPLETED
      - FAILED
      type: string
    SettlementsResponse:
      description: 'Response to a successful settlements request

        '
      properties:
        settlements:
          items:
            $ref: '#/components/schemas/SettlementResponse'
          type: array
      required:
      - settlements
      type: object
    CreateSettlementRequest:
      description: 'Request to create a new settlement. All transfers included must use the same source account, and the total amount received must be in the same currency as the base currency of the source account as well as the transmitter information.

        '
      properties:
        additional_info:
          description: 'Additional remittance information. Include if the funding source may require additional information to associate to the source account or settlement.

            '
          type: string
        transfers:
          items:
            $ref: '#/components/schemas/SettlementTransfer'
          type: array
      required:
      - transfers
      type: object
    JITAssetClass:
      description: "Values:\n * `crypto`: Used to identify a crypto only account\n * `us_equity`: Used to identify an account that trades US equities, or both crypto and\n  US equities.\n"
      enum:
      - crypto
      - us_equity
      type: string
    InstantFunding:
      properties:
        account_no:
          type: string
        amount:
          format: decimal
          type: string
        created_at:
          format: date-time
          type: string
        deadline:
          format: date
          type: string
        fees:
          items:
            $ref: '#/components/schemas/IFFee'
          type: array
        id:
          format: uuid
          type: string
        interests:
          items:
            $ref: '#/components/schemas/Interest'
          type: array
        remaining_payable:
          format: decimal
          type: string
        source_account_no:
          type: string
        status:
          $ref: '#/components/schemas/InstantFundingStatus'
        system_date:
          format: date
          type: string
        total_interest:
          format: decimal
          type: string
      required:
      - id
      - amount
      - account_no
      - source_account_no
      - status
      - system_date
      - deadline
      - created_at
      - total_interest
      - remaining_payable
      - interests
      - fees
      type: object
    InstantFundingStatus:
      description: "Status:\n * `PENDING`: Created and waiting to be processed\n * `CANCELED`: Canceled\n * `EXECUTED`: All fees (including Partner fee) are transacted\n * `FAILED`: Failed mostly due to technical reasons\n * `COMPLETED`: All transactions are settled\n"
      enum:
      - PENDING
      - CANCELED
      - EXECUTED
      - FAILED
      - COMPLETED
      type: string
    TransmitterInfo:
      description: 'Information about the transmitter to satisfy travel rule requirements. Required if the requesting correspondent qualifies as a financial institution

        '
      properties:
        originator_bank_account_number:
          description: 'Required if the requesting correspondent qualifies as a financial institution

            '
          type: string
        originator_bank_name:
          description: 'Required if the requesting correspondent qualifies as a financial institution

            '
          type: string
        originator_city:
          type: string
        originator_country:
          description: 'Required if the requesting correspondent qualifies as a financial institution

            '
          type: string
        originator_full_name:
          description: 'Required if the requesting correspondent qualifies as a financial institution

            '
          type: string
        originator_postal_code:
          type: string
        originator_state:
          type: string
        originator_street_address:
          type: string
        other_identifying_information:
          description: 'Used to facilitate transfer lookup in the event it is required. Recommended to be the originating bank''s reference number for the transfer

            '
          type: string
      type: object
    CreateIFTransferRequest:
      description: 'Request to create a new instant funding transfer

        '
      properties:
        account_no:
          type: string
        amount:
          format: decimal
          type: string
        source_account_no:
          type: string
      required:
      - account_no
      - source_account_no
      - amount
      type: object
    IFFee:
      properties:
        amount:
          format: decimal
          type: string
        id:
          format: uuid
          type: string
        type:
          $ref: '#/components/schemas/IFFeeType'
      required:
      - id
      - amount
      - type
      type: object
    Interest:
      properties:
        amount:
          format: decimal
          type: string
        created_at:
          format: date-time
          type: string
        date:
          format: date
          type: string
        id:
          format: uuid
          type: string
        reconciled_at:
          format: date-time
          type: string
        status:
          $ref: '#/components/schemas/InstantFundingStatus'
      required:
      - id
      - date
      - amount
      - status
      - created_at
      - reconciled_at
      type: object
    ReportsResponse:
      properties:
        account_no:
          type: string
        deadline:
          format: date
          type: string
        instant_funding_transfers:
          items:
            $ref: '#/components/schemas/InstantFunding'
          type: array
        system_date:
          format: date
          type: string
        total_amount_owed:
          format: decimal
          type: string
        total_interest_penalty:
          format: decimal
          type: string
      required:
      - system_date
      - account_no
      - total_amount_owed
      - total_interest_penalty
      - deadline
      type: object
    AccountLimit:
      properties:
        account_no:
          type: string
        amount_available:
          format: decimal
          type: string
        amount_in_use:
          format: decimal
          type: string
        amount_limit:
          format: decimal
          type: string
      required:
      - account_no
      - amount_in_use
      - amount_available
      - amount_limit
      type: object
    SettlementResponse:
      description: 'A settlement response, either from creation or retrieval

        '
      properties:
        additional_info:
          type: string
        asset_class:
          $ref: '#/components/schemas/JITAssetClass'
        completed_at:
          format: date-time
          type: string
        created_at:
          format: date-time
          type: string
        currency:
          description: 'The currency of the settlement. Only applicable to JIT settlements.

            '
          type: string
        id:
          format: uuid
          type: string
        interest_amount:
          description: 'The total interest amount accrued on the transfers included in this settlement. Only applicable for instant funding settlements.

            '
          format: decimal
          type: string
        reason:
          description: 'The reason for failure, if applicable

            '
          type: string
        source_account_number:
          type: string
        status:
          $ref: '#/components/schemas/SettlementStatus'
        total_amount:
          format: decimal
          type: string
        updated_at:
          format: date-time
          type: string
      required:
      - id
      - total_amount
      - status
      - created_at
      - updated_at
      type: object
    IFFeeType:
      description: "Status:\n * `partner`: The fee on a transfer that was allocated to the partner\n * `alpaca`: The fee on a transfer that was allocated to Alpaca\n"
      enum:
      - partner
      - alpaca
      type: string
    SettlementTransfer:
      properties:
        instant_transfer_id:
          format: uuid
          type: string
        transmitter_info:
          $ref: '#/components/schemas/TransmitterInfo'
      required:
      - instant_transfer_id
      - transmitter_info
      type: object
    CorrespondentLimit:
      properties:
        amount_available:
          format: decimal
          type: string
        amount_in_use:
          format: decimal
          type: string
        amount_limit:
          format: decimal
          type: string
      type: object
    SortOrder:
      enum:
      - ASC
      - DESC
      type: string
    ListSortBy:
      enum:
      - created_at
      - amount
      - deadline
      type: string
  parameters:
    LegacyIdempotencyKey:
      description: 'Optional client-generated key for safe retries and duplicate request detection.

        This endpoint currently accepts keys up to 128 characters. Alpaca is moving toward

        a 36-character maximum; new implementations should generate a unique UUIDv7 or

        UUIDv4 value (36 characters including hyphens) for each logical operation. Do not

        reuse a key across operations.

        '
      in: header
      name: Idempotency-Key
      required: false
      schema:
        maxLength: 128
        type: string
  securitySchemes:
    BasicAuth:
      scheme: basic
      type: http
x-readme:
  explorer-enabled: true
  proxy-enabled: false