Reference

Certificate of Holding

The same certificate our app gives its users: the gold and silver a user holds with OroPocket at a stated time, issued by OroPocket, held with Augmont, and verifiable with our independent auditor, Vakeelji LLP.

GET/partner/users/:user_code/certificatebalance

Returns the certificate as a ready-made image (a PNG, 1080 px wide) plus its verify_url. Show the image in your app, let the user share it, or link to it. The QR code on the image opens the same verification page.

Request
curl https://api.oropocket.com/partner/users/usr_xxx/certificate \
  -H "Authorization: Bearer oro_live_xxx"
Response
{
  "success": true,
  "request_id": "req_xxx",
  "mode": "live",
  "data": {
    "user_code": "usr_xxx",
    "cert_no": "OP-POH-261014-3FA9C21B",
    "issued_on": "2026-10-14",
    "issued_at": "2026-10-14 19:42:10",
    "issued_at_display": "14 October 2026, 19:42 IST",
    "holder_name": "Asha Kumari",
    "name_verified": true,
    "gold_grams": 1.2346,
    "silver_grams": 25.5,
    "purity": { "gold": "24K · 999 Fine", "silver": "999 Fine" },
    "verify_url": "https://oro.vakeelji.com/verify/OP-POH-261014-3FA9C21B",
    "image_url": "https://api.oropocket.com/public/certificate-image/9f2c…e41.png",
    "image_width": 1080,
    "image_height": 1209,
    "reused": false
  }
}
FieldTypeDescription
cert_nostringrequiredThe certificate number. Anyone can enter it at oro.vakeelji.com.
issued_at · issued_at_displaystringrequiredThe moment the certificate speaks for, in IST.
holder_namestringrequiredThe KYC name when the user's KYC is approved (name_verified true), otherwise their profile name.
gold_grams · silver_gramsnumberrequiredEverything the user holds with OroPocket, including SIP holdings. Grams only: the certificate carries no rupee value.
verify_urlstringrequiredIndependent verification on the auditor's site, oro.vakeelji.com. It confirms the certificate is genuine and shows what it certified.
image_urlstringrequiredThe certificate as a PNG. Anyone with the link can open it, so share it only with the user.
reusedbooleanrequiredtrue when this is the certificate you already got today (see below).

Good to know

  • It covers the user's full OroPocket holdings, the same as the certificate in the OroPocket app. That can be more than your sub-wallet view in /portfolio if the user also holds gold with us outside your app.
  • One certificate per day while nothing changes. Calling again on the same day (IST) returns the same certificate, with reused: true, as long as the holdings and name are unchanged. Once they change, you get a new certificate with a new number. Old certificates stay verifiable: the auditor's page shows what each one certified when it was issued.
  • The image never changes once issued, so you can cache it.
  • Sandbox (oro_test_ keys) returns a fixed sample marked simulated: true, with a watermarked image and no verify_url.
ErrorMeaning
403 API_NOT_ALLOWEDYour key doesn't have the balance capability.
404 USER_CODE_NOT_FOUNDThe user_code isn't one of your users.
503 HOLDINGS_UNAVAILABLEWe couldn't read the holdings cleanly just now, so we didn't certify a guess. Retry shortly.
The certificate states holdings at one moment. For live balances use GET /partner/users/:user_code/portfolio.