The path

One wallet. Two desks. Statements you can print.

agristock.org is the company story. The work happens at app.agristock.org. This page is the sequence so nobody has to reverse-engineer the product from a screenshot.

1. Create an account

Registration is email-first. You will be asked to verify with a one-time password when email delivery is configured on our domain. Until that is live, treat “I did not get a code” as an operations issue, not as you being blocked from the idea of AgriStock.

We use access and refresh tokens. Logging out should clear the session. If a password is wrong, the app should say so — not retry itself into a confusing error. That is table stakes; we treated it as a bug when it was not.

2. Know your customer, without theatre

Soft launch KYC can run on format checks (for example NIN/BVN length rules) with encryption at rest for sensitive fields. Live vendor verification (Dojah, Youverify, or similar) is a paid switch when the business is ready — it is not required to understand the product. We will not fake a green shield that implies a CBN licence we do not have.

3. Fund in Naira

Deposits go through Paystack. You see a wallet balance in the app. AgriStock does not need your PAN sitting in our database. Withdrawals use Nigerian bank account validation so you are not typing a name into the void. Webhooks must hit the API when you go live with real money — that is an operations checklist, not a slogan.

4. Warehouse lots (core)

Open Commodities. Each lot should show crop, unit, price, remaining quantity, and warehouse. Map pins exist so “backed” has GPS. You allocate units from the wallet. You should be able to find the same position on the dashboard without folklore.

Farmers apply to list. Listings pend. Admin approves. If you are used to permissionless crypto pools, this will feel slow. Food inventory is not a liquidity pool.

5. Listed agri (watch)

Open Stocks / listed agri. This is a curated universe, not Finnhub’s entire planet. The tape polls on a timer so the desk feels alive. Detail pages exist per name. Search tries to send crop words to lots and ticker words to names.

6. Live tape in the shell

While you navigate, a pulse can refresh lots and listed names together. That is atmosphere and attention — not a guarantee that every NGX print is institutional-grade market data. Catalogue quotes stay labelled in the product when that is what we have.

7. News and context

News in the app is context for people who already chose agri. It is not a reason to skip the lot specification. Images and headlines should never outrun the inventory story.

8. Statements

Investor statements are for you, your partner, or your own records. They are not a tax opinion and not a bank statement from a deposit-money bank. Download them when you need a paper trail.

9. Alerts

Price and listing alerts are attention tools. They are not execution. If you need a fill on a listed name, you still need a broker until AgriStock is actually that broker.

10. Mobile later, same API

Flutter is planned against the same backend you use on the web. There is no second invent-the-company API. Coming soon banners in the app mean that: soon, not fake store links.

11. Domains, so you are not lost

agristock.org — this site, Netlify (or any static host), company narrative.
app.agristock.org — Next.js product on Vercel.
API stays on the Render host you already use. Email, when branded, should come from the domain you verified — not a random onboarding address forever.