Before
Grant codes existed only as customer-redemption plumbing
(pramaan-functions #747: billing.grant_code tables +
the app-api /provision/redeem-grant path). The founder
could not mint or disable a campaign code without a deploy, and no
admin surface existed. The Razorpay payment core (#740) built
orders/mandates/webhooks but exposed nothing on admin-api, so staff
could not read a firm's payment orders, mandate evidence, or dispute
state from the control room.