Skip to main content
A position is your open net weight in a metal: buys count positive, sells negative. Bullionwale gives your account a weight allocation per metal, and every order is checked against it. GET /positions shows both, so your program can see how much room it has before it places an order. The path sits under the test base path /api/trading/test/v1 or the production base path /api/trading/v1. The test path shows the book of your test orders; the production path shows your real book. Both are measured against your real allocation (see How test orders use your weight allocation).

The position object

The response has one entry per metal, gold and silver: Production adds symbols: one row per symbol with an open position, with the open bought and sold weight (buy, sell) and their net, in the metal’s unit. Every weight is a decimal string. Parse it as a decimal, not a float.

Read your positions

200 OK

How the allocation works

  • It is weight, not money. It caps your open exposure in grams or kilograms per metal. A market order, from the API, the web or the app, runs no rupee margin check.
  • Buys and sells net off. An offsetting trade frees allocation again. An order that would take used past limit is refused with 400 limit_exceeded.
  • Reducing your exposure is always allowed, even when used is already above limit (for example after Bullionwale lowered your allocation).
  • Pending orders count. In production, an order still pending already counts towards net.
  • A test order never moves your real position, and a real order never moves your test position.
400 Bad Request
To make room, place an order on the other side (it reduces used), or ask Bullionwale to change your allocation.