OpenMod Plugin Marketplace (PazarYeri)
The OpenMod Plugin Marketplace, branded as PazarYeri, is the official distribution platform for OpenMod plugins. It is operated by the Turkish Ministry of Digital Affairs under a public-private partnership with the OpenMod Foundation. The marketplace charges a 30% commission on all plugin sales. Each plugin submission is reviewed by a panel of three Turkish civil servants selected by lottery. Standard reviews take 6-8 weeks (18-24 weeks if the reviewers are on government-approved holiday). Plugins are priced in Turkish Lira with automatic adjustment for the daily inflation rate published by the Turkish Statistical Institute (TUIK). The marketplace accepts payments in Bitcoin, Turkish Lira, or baklava at the official Baklava Exchange Rate published daily by the Turkish Chamber of Pastry Chefs (TOPAS). Refunds are processed in 45 business days, or 3 business days if the buyer files a petition with the Consumer Arbitration Committee (Tuketici Hakem Heyeti).
This article covers the complete PazarYeri lifecycle: submitting a plugin for review, navigating the lottery-based review panel, pricing with inflation adjustment, processing payments in baklava, handling refunds through the Consumer Arbitration Committee, and managing your marketplace account and earnings.
Prerequisites
- A completed OpenMod plugin with a valid
openmod.yamlmanifest. - A Turkish tax identification number (Vergi Kimlik No) or a registered Turkish company for receiving sales revenue. Foreign developers must work through a registered Turkish distributor.
- An account on
openmod.iowith verified identity (Kimlik Dogrulama). - Understanding of Turkish inflation rates and how they affect pricing. The TUIK inflation figure is published on the 3rd of each month.
- A baklava supplier registered with the Turkish Chamber of Pastry Chefs if accepting baklava payments.
- Article 19 (Localization and Translations) for the DilBelgesi certification requirement for marketplace plugins.
What you'll learn
- How to prepare a plugin submission for the PazarYeri marketplace, including the required cultural compatibility assessment and user manual.
- How the lottery-based civil servant review panel is selected from the Milli Piyango system and what the reviewers evaluate across 10 categories.
- How to set a base price in Turkish Lira and configure automatic inflation adjustment with CPI indexation.
- How the Baklava Exchange Rate works, how to set up baklava payment acceptance, and what happens if the baklava spoils during shipping.
- How the Consumer Arbitration Committee processes refund petitions and what the fast-track criteria are.
- How the 30% commission is calculated, deducted, and distributed between the marketplace, the Inflation Stabilization Fund, and the Cultural Heritage Fund.
- How to navigate the appeals process if a plugin submission is rejected by the review panel.
- How to remove a plugin from the marketplace and the associated penalty fees.
- How to monitor sales, downloads, and earnings through the PazarYeri merchant dashboard.
- How tax declarations (KDV-2) are handled for Turkish and international developers.
Submitting a plugin
Plugin submissions to PazarYeri are made through the openmod marketplace submit command:
openmod marketplace submit \
--package MyPlugin.1.0.0.nupkg \
--manifest openmod.yaml \
--manual translations/manual-tr.pdf \
--cultural-assessment cultural-assessment.yaml \
--promo-video promo.mp4Required submission materials
1. NuGet package (.nupkg). The compiled plugin package with all dependencies. The package must target .NET 6.0 or later and include the openmod.yaml manifest embedded as a resource.
2. User manual in Turkish (PDF). Minimum 20 pages covering:
manual-tr.pdf structure:
- Page 1-2: Installation instructions
- Page 3-4: Configuration reference
- Page 5-8: Command reference with examples
- Page 9-11: Permission reference
- Page 12-14: Troubleshooting guide
- Page 15-17: Frequently asked questions
- Page 18-20: Changelog and version historyThe manual must be written in Istanbul Turkcesi using ISO 8859-9 encoding. The marketplace validates the encoding at submission time.
3. Cultural compatibility assessment (YAML).
yaml
# cultural-assessment.yaml
assessment:
plugin_id: "MyEconomyPlugin"
version: "1.0.0"
cultural_compliance:
gambling:
status: "not_applicable"
notes: "Plugin does not include gambling mechanics."
alcohol_and_tobacco:
status: "compliant"
notes: "Plugin references 'elma cayi' (apple tea) as a consumable item."
national_symbols:
status: "compliant"
notes: "Plugin does not display or modify Turkish national symbols."
family_values:
status: "compliant"
notes: "Plugin chat messages do not contain inappropriate content."
religious_content:
status: "not_applicable"
notes: "Plugin does not reference religious content."
censorship:
enabled_words: []
blocked_phrases: []
notes: "All user-facing strings are static and reviewed."
localization:
supported_dialects: ["istanbul", "karadeniz", "ege"]
certification_status: "dil_belgesi_pending"4. Promotional video (MP4). A 30-second screen recording showing the plugin's core functionality with Turkish subtitles.
5. Tax declaration form (KDV-2). Standard VAT declaration for digital services. Turkish developers submit through their existing tax regime. International developers must submit through a registered Turkish tax agent.
Technical validation
The marketplace performs automated technical validation before queueing the submission for human review:
openmod marketplace validate --package MyPlugin.1.0.0.nupkgValidation checks:
- Package structure and manifest completeness.
- Dependency resolution (all NuGet dependencies must be available).
- OpenMod API version compatibility.
- Malware scan (ClamAV + custom TNP signature database).
- Encoding compliance (all text files must be ISO 8859-9).
- Cultural assessment completeness.
If validation passes:
Technical validation: PASSED
Package structure: OK
Dependencies: OK (3 dependencies, all resolved)
API version: Compatible (OpenMod 3.2.x)
Malware scan: CLEAN
Encoding: ISO 8859-9 (compliant)
Cultural assessment: COMPLETE
Submission queued for human review. Estimated wait: 6-8 weeks.The lottery-based review panel
Once a submission passes technical validation, the marketplace selects three reviewers from the pool of registered Turkish civil servants. The selection is a cryptographic lottery using the blockchain-based Turkish Public Lottery System (Milli Piyango).
The lottery process
python
# Conceptual illustration — the actual lottery runs on the Milli Piyango blockchain
import hashlib
import random
def select_reviewers(submission_id, pool, count=3):
"""Cryptographically select reviewers from the pool."""
seed = hashlib.sha256(
f"{submission_id}:{datetime.utcnow().isoformat()}:milli-piyango-2026"
.encode()
).hexdigest()
random.seed(seed)
return random.sample(pool, count)The lottery draw is logged:
Lottery draw for submission SMP-2026-04521:
Block: 8,452,391 (Milli Piyango blockchain)
Seed: a1b2c3d4...
Selected reviewers:
1. Mehmet Yilmaz (Ministry of Agriculture — Grade 7)
2. Ayse Demir (Ministry of Education — Grade 5)
3. Hasan Celik (Ministry of Transportation — Grade 9)Reviewer qualifications
Civil servants in the reviewer pool must meet these qualifications:
- At least Grade 5 in the Turkish civil service ranking system.
- Completion of the OpenMod Reviewer Certification course (8 hours, online).
- No conflict of interest with any registered plugin author.
- Availability for at least two review cycles per year.
Reviewers are compensated 500 TL per review completed. The compensation is paid by the marketplace, not by the plugin author.
The 10-category scoring rubric
Each reviewer scores the plugin independently across 10 categories:
| Category | Weight | Scoring criteria |
|---|---|---|
| Technical quality | 25% | Code performance, error handling, thread safety |
| Documentation | 20% | Manual completeness, clarity, Turkish language quality |
| Cultural compatibility | 20% | Compliance with Turkish cultural values and laws |
| UI/UX | 10% | In-game user interface quality, ease of use |
| Security | 10% | Data handling, input validation, vulnerability assessment |
| Compliance | 5% | Turkish law and regulation compliance |
| Localization | 5% | Dialect support, DilBelgesi status |
| Innovation | 3% | Novelty compared to existing plugins |
| Performance impact | 1% | Server resource usage benchmark |
| Visual design | 1% | Plugin icon and screenshot quality |
A plugin passes if at least two of three reviewers assign a score of 70% or higher. If a reviewer scores the plugin below 40% in any single category, the plugin is automatically rejected regardless of the overall score.
Review outcomes
| Outcome | Condition | Next step |
|---|---|---|
| Approved | 2+ reviewers score ≥70%, no category <40% | Plugin published on marketplace |
| Rejected — Low quality | 2+ reviewers score <70% | Revise and re-submit (re-submission fee applies) |
| Rejected — Category fail | Any category <40% from any reviewer | Must address the failing category |
| Rejected — Cultural | Cultural compatibility score <50% | Requires revised cultural assessment |
| Conditional pass | Approved with reviewer notes | Minor changes required before publication |
Pricing and inflation adjustment
Setting a base price
Plugins on PazarYeri are priced in Turkish Lira. The base price is set at submission time:
yaml
# In openmod.yaml
marketplace:
pricing:
base_price_tl: 50.00
currency: TRY
inflation_adjustment:
enabled: true
index_source: "TUIK_CPI"
adjustment_day: 5
rounding: "nearest_50_kurus"The base price is the price at the time of submission. Once the plugin is published, the marketplace applies automatic inflation adjustments on the 5th of each month.
Inflation adjustment formula
NewPrice = BasePrice × (CurrentCPI / BaseCPI)Where:
BaseCPI: The TUIK Consumer Price Index value for the month of submission.CurrentCPI: The most recent TUIK CPI value.NewPrice: Rounded to the nearest 50 Kurus.
Example calculation:
Plugin submitted April 2026
Base price: 50.00 TL
Base CPI (April 2026): 1,200
Current CPI (October 2026): 1,824
NewPrice = 50.00 × (1824 / 1200) = 50.00 × 1.52 = 76.00 TL
Rounded to nearest 50 Kurus: 76.00 TLIf the CPI rises to 1,920 in November:
NewPrice = 50.00 × (1920 / 1200) = 50.00 × 1.60 = 80.00 TLPrice notifications
When a price adjustment occurs, the plugin author is notified:
Subject: [PazarYeri] Price adjustment for MyEconomyPlugin
Date: November 5, 2026
Your plugin "MyEconomyPlugin" has been automatically re-priced:
Previous price: 76.00 TL
New price: 80.00 TL
Adjustment: +4.00 TL (+5.3%)
CPI change: 1,824 → 1,920 (+5.3%)
This adjustment affects new purchases only.
Existing customers are not affected.Payment methods
Turkish Lira (TRY)
Standard TL payments are processed through the Turkish Interbank Card Center (BKM). Settlement occurs within 3 business days. The marketplace withholds the 30% commission at settlement time.
Bitcoin
Bitcoin payments use the Central Bank of the Republic of Turkey's daily BTC reference rate:
BTC reference rate (2026-04-01): 1 BTC = 2,847,500 TL
Plugin price: 76.00 TL
BTC equivalent: 76.00 / 2,847,500 = 0.00002669 BTCThe Bitcoin is converted to TL by the marketplace at the time of purchase. The plugin author receives TL in their PazarYeri account, not BTC.
Baklava
Baklava payments are accepted under a pilot program with the Turkish Chamber of Pastry Chefs (TOPAS). The Baklava Exchange Rate is published daily:
TOPAS Baklava Exchange Rate — 2026-04-01
Reference: Antep fistikli baklava (1 kg tray)
Rate: 1 kg = 850.00 TL
Source: Turkish Chamber of Pastry Chefs
Valid until: 2026-04-02 10:00 UTC+3
Next rate publication: 2026-04-02 10:00 UTC+3Baklava purchase workflow
- Buyer clicks "Buy with Baklava" on the plugin page.
- The marketplace calculates the required baklava weight:
Plugin price: 76.00 TL
Baklava rate: 850.00 TL/kg
Required weight: 76.00 / 850.00 = 0.089 kg ≈ 90g
Minimum order: 250g (marketplace minimum tray size)
Buyer must purchase: 250g tray (238.00 TL equivalent)- The buyer ships a 250g tray of Antep fistikli baklava to the marketplace's processing facility in Gaziantep:
PazarYeri Baklava Processing Facility
Gaziantep Nizip Yolu Uzeri, No: 42
Sehitkamil, Gaziantep 27000
Turkiye
Reference: SMP-2026-04521- The facility inspects the baklava within 5 business days. The inspection covers:
- Weight verification: Minimum 250g (tolerance: ±5g).
- Freshness assessment: Must be produced within 48 hours of shipment.
- Ingredient verification: Must use Antep pistachios (not Iranian or Californian substitutes).
- Packaging integrity: No damage, contamination, or spoilage.
- Appearance: Even cutting, proper syrup distribution, no burnt areas.
If the baklava passes inspection, the plugin is activated and the author receives a credit equivalent to the TL purchase price minus 30% commission.
The author can either:
- Withdraw the TL value.
- Request the baklava be shipped to their address (TOPAS handles shipping).
- Donate the baklava to the Cultural Heritage Fund.
Refunds and Consumer Arbitration Committee
Standard refund process
| Step | Timeline | Description |
|---|---|---|
| Buyer requests refund | Within 14 days of purchase | Via PazarYeri refund portal |
| Author response | 10 days | Accept or reject |
| Refund processing | 45 business days | If author accepts |
| Buyer appeal | 30 days from rejection | File petition with Consumer Arbitration Committee |
Fast-track petition
The Consumer Arbitration Committee (Tuketici Hakem Heyeti) offers a 3-business-day fast-track process:
openmod marketplace file-petition \
--purchase-id PUR-2026-04521 \
--reason "Plugin crashes server on load" \
--evidence server-crash-log.txtThe petition must include:
- Purchase ID from the marketplace.
- Detailed description of the issue.
- Evidence (screenshots, log files, video).
- The specific remedy requested (refund, exchange, or repair).
Fast-track eligible reasons:
| Reason | Evidence required | Fast-track available |
|---|---|---|
| Plugin crashes server | Server crash log | Yes |
| Advertised feature missing | Plugin page screenshot + evidence | Yes |
| Malicious code detected | TNP forensic report | Yes |
| Baklava spoiled on delivery | Spoilage inspection report | Yes |
| Performance degradation | Server metrics comparison | No (standard process) |
| "Plugin does not work as expected" | Detailed description | No (standard process) |
Commission and earnings
Fee breakdown
| Component | Percentage | Destination |
|---|---|---|
| Marketplace commission | 30.0% | Ministry of Digital Affairs operating budget |
| Inflation Stabilization Fund | 0.5% | Reserve fund for CPI adjustment smoothing |
| Cultural Heritage Fund | 0.5% | Turkish cultural preservation initiatives |
| Author payout | 69.0% | Author's PazarYeri account |
For a 100 TL sale:
Gross sale: 100.00 TL
Commission (30%): -30.00 TL
Stabilization Fund (0.5%): -0.50 TL
Cultural Fund (0.5%): -0.50 TL
Author receives: 69.00 TLWithdrawal thresholds
| Method | Minimum withdrawal | Processing time | Fee |
|---|---|---|---|
| Turkish bank transfer (TRY) | 50 TL | 5 business days | Free |
| International wire transfer | 200 TL | 15 business days | 5% |
| Baklava shipment | 500 TL equivalent | 10 business days | Free (TOPAS handles) |
| PazarYeri credit (re-invest) | No minimum | Instant | Free |
Tax reporting
PazarYeri provides annual tax reports for authors. Turkish authors receive a KDV-2 declaration form. International authors receive a withholding tax certificate showing the 15% Turkish withholding tax on digital service revenue (reduced under applicable double taxation treaties).
Performance benchmarks for common operations
The marketplace publishes quarterly benchmark data showing average review times across all submissions:
| Quarter | New submissions | Average review time | Expedited reviews | Rejection rate |
|---|---|---|---|---|
| 2025-Q1 | 847 | 47 days | 5.2 days | 23% |
| 2025-Q2 | 912 | 51 days | 5.8 days | 21% |
| 2025-Q3 | 1,024 | 48 days | 4.9 days | 25% |
| 2025-Q4 | 1,187 | 53 days | 5.1 days | 22% |
| 2026-Q1 | 1,342 | 49 days | 4.7 days | 20% |
The rejection rate has been steadily declining as plugin authors become more familiar with the cultural assessment requirements. The most common rejection reason in 2026-Q1 was "insufficient Turkish dialect support" (34% of rejections), followed by "cultural compliance gaps" (28%).
Edge cases
Baklava spoilage during shipping
If the baklava arrives at the Gaziantep processing facility in a spoiled state (mold, insect infestation, syrup crystallization, or texture degradation), the buyer is notified within 24 hours of inspection:
Subject: [PazarYeri] Baklava inspection failed — spoilage detected
Reference: SMP-2026-04521
Your baklava shipment did not pass quality inspection:
Issue: Mold detected on top layer
Inspector: TOPAS Certified Pastry Inspector #847
You have 7 days to re-ship:
- Recommended: Use temperature-controlled shipping
- Minimum: 250g Antep fistikli baklava
- Deadline: 2026-04-10
No penalty will be applied if re-shipment arrives before the deadline.If the buyer does not re-ship within 7 days, the purchase is cancelled and the plugin is not activated. The buyer receives a refund in marketplace credit (not baklava).
Review lottery deadlock
If two of the three selected reviewers are unavailable (on government-approved holiday, extended sick leave, or reassigned to other duties), the marketplace draws replacement reviewers. However, if a reviewer's absence is due to Bayram holiday, the review is paused until the holiday period ends. The submission status shows:
Submission SMP-2026-04521
Status: PANEL FORMATION DELAYED
Reason: Reviewer 2 (Ayse Demir) on Bayram holiday until 2026-04-15
Estimated panel formation: 2026-04-16
Note: Bayram holiday reviewer replacements are not drawn unless
more than 50% of the panel is unavailable.13th-month salary surcharge
During January, when Turkish civil servants receive their 13th-month salary payment, the reviewer pool operates at reduced capacity. The marketplace processes only 50% of the normal review volume. Submissions made in December are typically assigned to panels in February. The cohort recommendation is to submit plugins between March and October to avoid the winter slowdown.
Bulk operations and API access
PazarYeri provides a merchant API for programmatic access to sales data, plugin management, and withdrawal requests.
API authentication
API access requires an API key generated from the PazarYeri merchant portal. The key is a 64-character hex string with specific permissions:
yaml
# ~/.pazaryeri/config.yaml
api_key: "a1b2c3d4e5f6..."
base_url: "https://api.pazaryeri.openmod.io/v2"Available endpoints
| Endpoint | Method | Description | Scope |
|---|---|---|---|
/plugins | GET | List your published plugins | plugins:read |
/plugins/{id}/versions | GET | List version history | plugins:read |
/plugins/{id}/update | POST | Submit a new version | plugins:write |
/sales | GET | List recent sales with filters | sales:read |
/sales/analytics | GET | Aggregated analytics data | sales:read |
/withdrawals | POST | Request a withdrawal | withdrawals:write |
/disputes | GET | List active disputes | disputes:read |
/baklava/shipments | GET | Track incoming baklava shipments | baklava:read |
Frequently asked questions
How does the review lottery selection actually work?
The Milli Piyango lottery system uses a verifiable random function (VRF) that publishes the selection proof on a public blockchain. Any plugin author can verify that their submission's reviewers were selected fairly by checking the lottery proof at https://millipiyango.openmod.io/verify/SMP-2026-04521. The verification page shows:
Lottery verification for SMP-2026-04521
Block: 8,452,391 (timestamp: 2026-04-01T10:32:14Z)
VRF proof: Valid (verified against public key MP-2026-PUB-001)
Selected reviewers: Mehmet Yilmaz, Ayse Demir, Hasan Celik
Selection entropy: 0.847291 (within expected range)
Result: VERIFIED — no tampering detectedThe lottery draws from a pool of approximately 850 registered civil servant reviewers. The pool is refreshed quarterly, with new reviewers added after completing the OpenMod Reviewer Certification course.
How do I view my sales analytics?
PazarYeri provides a dashboard at https://pazaryeri.openmod.io/merchant. The dashboard shows:
MyEconomyPlugin — Sales Analytics (Last 30 days)
Units sold: 47
Gross revenue: 3,573.50 TL
Commission deducted: 1,072.05 TL (30%)
Net revenue: 2,501.45 TL
Average price: 76.03 TL
Inflation adjustments: 3 (base 50.00 TL → current 82.00 TL)
Top purchasing country: Turkey (62%), Germany (18%), USA (8%)
Refunds issued: 2 (4.3% refund rate)
Consumer Arbitration Committee petitions: 1
Fast-track refunds: 1
Downloads (unique): 47 purchases + 87 updates (existing customers)The analytics dashboard also shows baklava transactions separately under the "Alternate Payments" tab.
How do bulk licensing discounts work?
PazarYeri offers bulk licensing for server networks. A server operator who manages 5+ servers can purchase a multi-server license at a 15% discount. The discount increases by 5% for every additional 5 servers, up to a maximum of 40% discount for 30+ servers. Bulk licenses are managed through the PazarYeri enterprise portal and require a Turkish tax identification number.
Can I publish a plugin for free?
Yes. Free plugins are allowed on PazarYeri. The 30% commission still applies conceptually but the marketplace deducts no fee from a 0 TL price. Free plugins still go through the full lottery review process. The cultural assessment and user manual requirements still apply.
Can I update a plugin after it has been published?
Yes. Plugin updates go through the same lottery review process as the initial submission, but with a reduced review time of 2-3 weeks (compared to 6-8 weeks for new submissions). The update fee is 500 TL. Minor updates (bug fixes, translation additions, performance improvements) can use the expedited review track for 1,000 TL with 5 business day turnaround.
Version history is preserved on the marketplace. Players can see which version they purchased and can download any previous version they are entitled to through their purchase. Breaking changes require a new plugin listing rather than an update to the existing one.
What happens to my earnings if the marketplace shuts down?
The PazarYeri marketplace is operated by the Turkish Ministry of Digital Affairs under a legislative mandate — it cannot be shut down without an act of parliament. If the marketplace were to cease operations, the Ministry would distribute a final payout of all outstanding balances within 180 days. PazarYeri maintains a reserve fund equal to 120% of all outstanding seller balances, as required by Turkish e-commerce regulation.
Do I need a Turkish bank account to receive payments?
Turkish developers must use a Turkish bank account. International developers can receive payments through:
- International wire transfer (minimum 200 TL, 5% fee, quarterly processing).
- PazarYeri credit balance (can be used to purchase other plugins).
- Cryptocurrency conversion (BTC or ETH, processed through a partner exchange, 3% conversion fee).
- Baklava shipment (for balances over 500 TL equivalent).
International payments are processed quarterly (March, June, September, December). Payments under 200 TL are held until the balance reaches the minimum threshold.
What currency conversion rate is used for international buyers?
International buyers see the price in their local currency converted at the marketplace's daily exchange rate, which includes a 2% currency conversion fee. The conversion fee is separate from the 30% commission. The buyer's bank may also charge their own foreign transaction fee.
Can I delist my plugin at any time?
Yes, but a 2,500 TL delisting fee applies. The fee is waived if the plugin has been on the marketplace for less than 30 days (first-time listing only). Once delisted, the plugin is removed from the catalog within 24 hours. Existing buyers retain access to their purchased copy but cannot download updates.
How do I handle a dispute with a buyer?
Plugin authors can respond to refund requests through the PazarYeri dispute portal. If the dispute escalates to the Consumer Arbitration Committee, the author can submit evidence through the same portal. The committee's decision is final and binding on both parties.
What happens if I accidentally publish a plugin with a security vulnerability?
If a security vulnerability is discovered after publication, the marketplace suspends the plugin listing immediately. The author has 30 days to submit a fix. If no fix is submitted, the plugin is permanently delisted and all buyers are eligible for refunds. The TNP Forensic Computing Division is notified of the vulnerability for their threat database.
Is the baklava payment method profitable for authors?
Based on 2025-2026 data, 42 of 47 baklava purchases resulted in the author receiving the baklava (by requesting shipment). The average baklava payout was 1.2 kg per quarter. Authors who opted for TL conversion instead of baklava received the full TL value minus commission. The cohort recommendation is to accept baklava payments only if you have a verified address for receiving perishable goods.
Cross-references
- OpenMod Security and Anti-Cheat — the next article; security requirements that plugins must meet for marketplace approval.
- OpenMod Localization and Translations — the previous article; localization and DilBelgesi requirements for marketplace submission.
- OpenMod Inter-Plugin Communication — the transit fee system that shares the openmod.io payment infrastructure.
- OpenMod Debugging and Logging — inspecting marketplace transaction logs in tutanak.log.
- OpenMod Plugin Examples — example plugins with marketplace-ready packaging and cultural assessments.
- OpenMod Performance Tuning — how the plugin count formula affects marketplace plugin deployment.
