Skip to content

Funds API

Access comprehensive margin and fund availability information for portfolio management and trade planning across all market segments.

Overview

The Funds API provides detailed insights into available cash, margin utilization, collateral positions, and trading limits, enabling effective risk management and position sizing decisions.

Endpoint Reference

Get User Limits

Retrieve complete margin and fund details for the authenticated user account.

Endpoint Details

Method: GET
URL: /user/limits
Authentication: Required (appID + token)

Request Headers

Header Type Required Description
appID string Your application identifier
token string User authentication token

Request Example

curl --location 'https://edge.arrow.trade/user/limits' \
--header 'appID: <YOUR_APP_ID>' \
--header 'token: <YOUR_TOKEN>'
const response = await fetch('https://edge.arrow.trade/user/limits', {
  method: 'GET',
  headers: {
    'appID': '<YOUR_APP_ID>',
    'token': '<YOUR_TOKEN>'
  }
});

const limits = await response.json();
import requests

headers = {
    'appID': '<YOUR_APP_ID>',
    'token': '<YOUR_TOKEN>'
}

response = requests.get(
    'https://edge.arrow.trade/user/limits',
    headers=headers
)

limits = response.json()

Response Schema

Success Response

The API returns comprehensive fund and margin information across all trading segments.

{
    "data": {
        "allocations": [
            {
                "cashCurrent": "0",
                "cashEqCurrent": "0",
                "cashEqOpening": "0",
                "cashOpening": "0",
                "nonCashCurrent": "0",
                "nonCashOpening": "0",
                "segment": "CM"
            },
            {
                "cashCurrent": "226462.37",
                "cashEqCurrent": "0",
                "cashEqOpening": "0",
                "cashOpening": "226462.37",
                "nonCashCurrent": "0",
                "nonCashOpening": "0",
                "segment": "FO"
            },
            {
                "cashCurrent": "0",
                "cashEqCurrent": "0",
                "cashEqOpening": "0",
                "cashOpening": "0",
                "nonCashCurrent": "0",
                "nonCashOpening": "0",
                "segment": "MCX"
            }
        ],
        "margin": {
            "allocated": "226462.37",
            "utilized": "-3641.75",
            "brokerage": "0",
            "buyOptionPremium": "12506.25",
            "cashUsed": "-3641.75",
            "exposureMargin": "0",
            "intradayCashMargin": "0",
            "otherMargin": "0",
            "realizedPnl": "0",
            "sellOptionPremium": "16148",
            "spanMargin": "0",
            "totalMargin": "0",
            "unrealizedPnl": "1180.75"
        }
    },
    "status": "success"
}

Core Fields Reference

Cash & Funds

Field Type Description
cash string Available cash balance
dayCash string Day's cash movement
blockedAmount string Amount blocked for pending orders
unClearedCash string Funds awaiting clearance
payIn string Expected incoming payments
payOut string Scheduled outgoing payments

Collateral & Margins

Field Type Description
brokerCollateralAmount string Broker collateral value
liquidCollateralAmount string Liquid collateral holdings
equityCollateralAmount string Equity collateral value
marginUsed string Total margin currently utilized
deliveryMargin string Margin for delivery positions

Trading Metrics

Field Type Description
turnover string Total trading turnover
premium string Net premium received/paid
brokerage string Total brokerage charges
mtomCurrentPct string Mark-to-market percentage

Segment-wise Breakdown

The API provides detailed segment-wise data for:

  • currentRealizedPnLei - Equity Intraday
  • currentRealizedPnLem - Equity Margin
  • currentRealizedPnLec - Equity Cash
  • premiumDi - Derivatives Intraday
  • premiumDm - Derivatives Margin
  • brokerageDi - Derivatives Brokerage
  • spanFi - Futures Intraday SPAN
  • spanFm - Futures Margin SPAN
  • exposureMarginFi - Futures Exposure
  • spanCi - Currency Intraday
  • spanCm - Currency Margin
  • exposureMarginCi - Currency Exposure

Margin Calculation

Available Margin Formula

Calculate your available trading margin using the core formula:

Margin Calculation

Available Margin = Cash + PayIn - PayOut - MarginUsed

function calculateAvailableMargin(limits) {
  const cash = parseFloat(limits.cash) || 0;
  const payIn = parseFloat(limits.payIn) || 0;
  const payOut = parseFloat(limits.payOut) || 0;
  const marginUsed = parseFloat(limits.marginUsed) || 0;

  return cash + payIn - payOut - marginUsed;
}

// Example usage
const availableMargin = calculateAvailableMargin(data[0]);
console.log(`Available Margin: ₹${availableMargin.toFixed(2)}`);
def calculate_available_margin(limits):
    cash = float(limits.get('cash', 0))
    pay_in = float(limits.get('payIn', 0))
    pay_out = float(limits.get('payOut', 0))
    margin_used = float(limits.get('marginUsed', 0))

    return cash + pay_in - pay_out - margin_used

# Example usage
available_margin = calculate_available_margin(data[0])
print(f"Available Margin: ₹{available_margin:.2f}")

Sample Account Analysis

Based on the example response:

Account Summary

Cash Balance: ₹281,546.12
Total Turnover: ₹13,75,09,697.25
Net Premium: ₹-4,233.75
Total Brokerage: ₹1,080.00

Error Handling

Standard HTTP status codes with structured error responses:

{
  "status": "error",
  "message": "Insufficient funds for trade execution",
  "code": "INSUFFICIENT_MARGIN"
}

Common Issues

  • INSUFFICIENT_MARGIN: Available margin below requirement
  • BLOCKED_FUNDS: Funds temporarily unavailable
  • SETTLEMENT_PENDING: Awaiting fund clearance
  • LIMIT_EXCEEDED: Trading limit breach

Integration Guidelines

Best Practices

  • Pre-trade validation: Check available margin before order placement
  • Real-time monitoring: Track margin utilization continuously
  • Risk management: Set appropriate exposure limits
  • Settlement tracking: Monitor payIn/payOut cycles

Optimization Tips

  • Cache fund data for 30-60 seconds to reduce API calls
  • Implement margin alerts at 80% utilization
  • Use segment-wise breakdown for detailed analysis
  • Monitor MTM percentage for portfolio risk assessment

Rate Limits

Tier Requests per minute Burst limit
Basic 120 20
Premium 600 100
Enterprise 2000 200