App Supply Index Monitor my app
iOS · HAPPIBITS TECHNOLOGIES PTE. LTD.

Merge Cooking®

Developer URL
http://game.happibits.com/
app-ads.txt
https://game.happibits.com/app-ads.txt · 200
Checked
Oct 7, 2026
D
57/100

2,790 lines · 2,153 verified against sellers.json

Findings

Each finding lists the exact lines involved. These are mechanical checks of public files, not fraud verdicts.

warning

DIRECT lines for seats the publisher doesn't own

55 −25 pts

DIRECT should mean the publisher controls the account. These seats are listed as intermediaries by the ad system itself, or are labeled DIRECT by many unrelated companies, so they belong to a reseller. Buyers who prefer DIRECT paths end up paying for an extra hop.

How to fixUse DIRECT only for accounts your company controls. Ask each partner whether the seat is yours; if not, change the line to RESELLER.
Evidence (25 of 55)
line 6      sharethrough.com, Uc8GWHvM, DIRECT, d53b998a7bd4ecd2
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 36 different companies  seat_owner=A4G Network - OB  seat_domain=google.com
line 19     inmobi.com,cb6a6239dfec478f818c1ffca00ca440,DIRECT,83e75a7ae333ca9d
             → why=the same seat is labeled DIRECT by 45 different companies
line 44     opera.com, pub8613009987200, DIRECT, 55a0c5fd61378de3
             → why=the same seat is labeled DIRECT by 30 different companies
line 112    programmaticx.ai, 100682, DIRECT, b42d42eb28400efa
             → why=the same seat is labeled DIRECT by 40 different companies  seat_owner=falcongames  seat_domain=falcongames.com
line 113    targetbetter.com, 6481, DIRECT
             → why=the same seat is labeled DIRECT by 40 different companies  seat_owner=fugo  seat_domain=fugo.com.tr
line 119    themediagrid.com, VM75KS, DIRECT, 35d5010d7789b49d
             → why=the same seat is labeled DIRECT by 49 different companies  seat_owner=Copper6 Ltd  seat_domain=copper6.com
line 127    start.io, 139527569, DIRECT
             → why=the same seat is labeled DIRECT by 49 different companies  seat_owner=Bigo  seat_domain=bigo.tv
line 134    rubiconproject.com, 24400, DIRECT, 0bfd66d529a55807
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 71 different companies  seat_owner=start.io Inc  seat_domain=start.io
line 165    themediagrid.com, FWN84J, DIRECT, 35d5010d7789b49d
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 77 different companies  seat_owner=Start.io Inc  seat_domain=start.io
line 209    taboola.com, 1618213, DIRECT, c228e6794e811952
             → why=the same seat is labeled DIRECT by 52 different companies
line 280    admanmedia.com, 2269, DIRECT
             → why=the same seat is labeled DIRECT by 55 different companies  seat_owner=Bigo  seat_domain=bigo.sg
line 333    yabbi.me, 675d9254-4032-47ed-9074-b6ef4dbab522, DIRECT
             → why=the same seat is labeled DIRECT by 68 different companies
line 334    madex.world, 544b4c02-bccb-47eb-a8c2-0a6be081778b, DIRECT
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 68 different companies  seat_owner=Madex  seat_domain=madex.world
line 336    thebrave.io, 1234764, DIRECT, c25b2154543746ac
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 70 different companies  seat_owner=bigo  seat_domain=bigo.sg
line 386    oko.uk, a4eb11dd-9bc5-4d77-9877-71f69dcfc08f, DIRECT, b3511ffcafb23a32
             → why=the same seat is labeled DIRECT by 46 different companies
line 420    admatic.de, ade-pub-4967241771, DIRECT, uufps1dh5stc6euk
             → why=the same seat is labeled DIRECT by 44 different companies
line 428    google.com, pub-3990748024667386, DIRECT, f08c47fec0942fa0
             → why=the same seat is labeled DIRECT by 85 different companies
line 462    themediagrid.com, NC7LXT, DIRECT, 35d5010d7789b49d
             → why=the same seat is labeled DIRECT by 45 different companies  seat_owner=THUNDER MONETIZATION PTE. LTD.  seat_domain=thunder-monetize.com
line 463    criteo.com, B-081657, DIRECT, 9fac4a4a87c2a44f
             → why=the same seat is labeled DIRECT by 44 different companies
line 529    rubiconproject.com, 15268, DIRECT, 0bfd66d529a55807
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 112 different companies  seat_owner=Unruly Group LTD  seat_domain=unrulymedia.com
line 542    pubnative.net, 1008060, DIRECT, d641df8625486a7b
             → why=the same seat is labeled DIRECT by 57 different companies  seat_owner=MELODONG LIMITED  seat_domain=melodong.com
line 564    apester.com, 49071, DIRECT
             → why=the same seat is labeled DIRECT by 51 different companies
line 567    themediagrid.com, 9FRCA5, DIRECT, 35d5010d7789b49d
             → why=sellers.json lists the seat as INTERMEDIARY; the same seat is labeled DIRECT by 58 different companies  seat_owner=TEAL DIGITAL GROUP LTD  seat_domain=teal.works
line 584    limpid.tv, 203715, DIRECT
             → why=the same seat is labeled DIRECT by 37 different companies  seat_owner=FugoMobile  seat_domain=fugo.com.tr
line 603    tcl.com,Pub-968324,DIRECT
             → why=the same seat is labeled DIRECT by 44 different companies
warning

Seller IDs not listed in the ad system's sellers.json

286 −11 pts

The ad system's current sellers.json doesn't list these accounts, so buyers that validate the chain can't match them. Usually leftovers from closed accounts or old partners.

How to fixAsk each partner whether the account is still active and request their current lines; remove lines for closed accounts.
Evidence (25 of 286)
line 4      pubmatic.com, 161218, RESELLER, 5d62403b186f2ace
             → sellers_json=https://pubmatic.com/sellers.json
line 5      media.net, 8CULY277R, RESELLER
             → sellers_json=https://media.net/sellers.json
line 8      pubmatic.com, 158723, RESELLER, 5d62403b186f2ace
             → sellers_json=https://pubmatic.com/sellers.json
line 14     onetag.com, 77cc0899358027b, RESELLER
             → sellers_json=https://onetag.com/sellers.json
line 15     onetag.com, 77cc0899358027b-OB, RESELLER
             → sellers_json=https://onetag.com/sellers.json
line 30     smartadserver.com,4071,RESELLER
             → sellers_json=https://smartadserver.com/sellers.json
line 39     video.unrulymedia.com, 831445555, RESELLER
             → sellers_json=https://video.unrulymedia.com/sellers.json
line 44     opera.com, pub8613009987200, DIRECT, 55a0c5fd61378de3
             → sellers_json=https://opera.com/sellers.json
line 45     smartadserver.com, 4694-OB, RESELLER, 060d053dcf45cbf3
             → sellers_json=https://smartadserver.com/sellers.json
line 125    rubiconproject.com, 17174, RESELLER, 0bfd66d529a55807
             → sellers_json=https://rubiconproject.com/sellers.json
line 157    rubiconproject.com, 15044, RESELLER, 0bfd66d529a55807
             → sellers_json=https://rubiconproject.com/sellers.json
line 243    themediagrid.com, RIX2M5, RESELLER, 35d5010d7789b49d
             → sellers_json=https://themediagrid.com/sellers.json
line 245    video.unrulymedia.com, 579227028, RESELLER
             → sellers_json=https://video.unrulymedia.com/sellers.json
line 247    videoheroes.tv, 212747, RESELLER, 064bc410192443d8
             → sellers_json=https://videoheroes.tv/sellers.json
line 251    blueseasx.com, 7138118, RESELLER, 7998eac5087f6110
             → sellers_json=https://blueseasx.com/sellers.json
line 260    vidazoo.com, 67aa86ac8effa21af881368d, RESELLER, b6ada874b4d7d0b2
             → sellers_json=https://vidazoo.com/sellers.json
line 264    bidmachine.io, 1447, RESELLER
             → sellers_json=https://bidmachine.io/sellers.json
line 265    smilewanted.com, 5959, RESELLER
             → sellers_json=https://smilewanted.com/sellers.json
line 275    xandr.com, 11316, RESELLER
             → sellers_json=https://xandr.com/sellers.json
line 299    sonobi.com, 7b37f8ccbc, RESELLER, d1a215d9eb5aee9e
             → sellers_json=https://sonobi.com/sellers.json
line 301    trustedstack.com, TS5UCV3O4, RESELLER
             → sellers_json=https://trustedstack.com/sellers.json
line 303    opera.com, pub5959307917824, RESELLER, 55a0c5fd61378de3
             → sellers_json=https://opera.com/sellers.json
line 309    pubmatic.com, 164891, RESELLER, 5d62403b186f2ace
             → sellers_json=https://pubmatic.com/sellers.json
line 316    video.unrulymedia.com, 667989109, RESELLER
             → sellers_json=https://video.unrulymedia.com/sellers.json
line 332    Media.net, 8CU26SCD3, RESELLER
             → sellers_json=https://media.net/sellers.json
warning

Lines for ad system domains that don't exist

14 −1 pts

These ad system domains don't resolve: the company shut down or merged, or the domain is misspelled. The lines authorize nothing, and whoever registers the domain would inherit them.

How to fixRemove these lines. A dead domain can be re-registered by anyone, who would then inherit your authorization.
Evidence (14)
line 20     engagebdr.com,16,RESELLER
             → ad_system=engagebdr.com
line 31     spotxchange.com,82068,RESELLER,7842df1d2fe2db34
             → ad_system=spotxchange.com
line 849    spotxchange.com, 234183, RESELLER, 7842df1d2fe2db34
             → ad_system=spotxchange.com
line 1371   spotxchange.com, 212457, RESELLER, 7842df1d2fe2db34
             → ad_system=spotxchange.com
line 1827   spotxchange.com, 307720, RESELLER, 7842df1d2fe2db34
             → ad_system=spotxchange.com
line 1837   engagebdr.com, 10181, RESELLER
             → ad_system=engagebdr.com
line 1851   engagebdr.com, 10423, RESELLER
             → ad_system=engagebdr.com
line 1878   engagebdr.com, 10252, RESELLER
             → ad_system=engagebdr.com
line 1885   spotxchange.com, 117872, RESELLER, 7842df1d2fe2db34
             → ad_system=spotxchange.com
line 1895   districtm.io, 101649, RESELLER, 3fd707be9c4527c3
             → ad_system=districtm.io
line 1911   spotxchange.com, 225721, RESELLER
             → ad_system=spotxchange.com
line 1916   spotxchange.com, 238936, RESELLER, 7842df1d2fe2db34
             → ad_system=spotxchange.com
line 2044   ylhglobal.com, 1930587443, RESELLER
             → ad_system=ylhglobal.com
line 2345   spotxchange.com,151986,RESELLER,7842df1d2fe2db34
             → ad_system=spotxchange.com
warning

Malformed lines

2 −1 pts

Lines that buyers' crawlers will ignore.

How to fixFix the format: <ad system domain>, <seller id>, DIRECT|RESELLER[, <cert authority id>].
Evidence (2)
line 1639   rubiconproject.com, 15854, RESELLER 0bfd66d529a55807
             → reason=relationship must be DIRECT or RESELLER, got 'RESELLER 0bfd66d529a55807'
line 2793   2026-09-11 11:56:18
             → reason=fewer than 3 fields
info

Duplicate lines

402 −3 pts

Harmless but a sign of copy-paste maintenance.

How to fixRemove duplicates; keep one copy of each line.
Evidence (25 of 402)
ad_system: pubmatic.com  seller_id: 156557  relationship: RESELLER
ad_system: appnexus.com  seller_id: 13099  relationship: RESELLER
ad_system: loopme.com  seller_id: 11414  relationship: RESELLER
ad_system: thebrave.io  seller_id: 1234568  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 20744  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 159035  relationship: RESELLER
ad_system: verve.com  seller_id: 5897  relationship: RESELLER
ad_system: peak226.com  seller_id: 12900  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 160113  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 4071  relationship: RESELLER
ad_system: indexexchange.com  seller_id: 191332  relationship: RESELLER
ad_system: bidmachine.io  seller_id: 35  relationship: RESELLER
ad_system: advertising.com  seller_id: 28246  relationship: RESELLER
ad_system: gamaigroup.com  seller_id: 320201  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 155975  relationship: RESELLER
ad_system: zoomd.com  seller_id: 88478941  relationship: RESELLER
ad_system: sharethrough.com  seller_id: nirsc9f2  relationship: RESELLER
ad_system: openx.com  seller_id: 540646187  relationship: RESELLER
ad_system: improvedigital.com  seller_id: 1795  relationship: RESELLER
ad_system: openx.com  seller_id: 537149888  relationship: RESELLER
ad_system: loopme.com  seller_id: 5679  relationship: RESELLER
ad_system: smaato.com  seller_id: 1100044045  relationship: RESELLER
ad_system: verve.com  seller_id: 15503  relationship: RESELLER
ad_system: sabio.us  seller_id: 100032  relationship: RESELLER
ad_system: improvedigital.com  seller_id: 2602  relationship: RESELLER
info

No OWNERDOMAIN declared

1 −2 pts

app-ads.txt 1.1 recommends OWNERDOMAIN so buyers can match DIRECT accounts to the owner.

How to fixAdd OWNERDOMAIN=<your company domain> to the file.
info

Ad systems without a public sellers.json

369

The ad system doesn't publish a readable sellers.json, so nobody can verify these lines. That's the ad system's gap, not the app's, so no points are deducted.

How to fixAsk the partner to publish sellers.json; until then buyers can't verify that path.
Evidence (25 of 369)
line 10     openx.com, 540274407, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 16     appnexus.com, 13099, RESELLER
             → sellers_json=HTTP 403
line 22     loopme.com,11414,RESELLER,6c8d5f95897a5a3b
             → sellers_json=HTTP 403
line 35     advertising.com,28246,RESELLER
             → sellers_json=HTTP 403
line 37     gamaigroup.com,320201,RESELLER
             → sellers_json=HTML or login page instead of JSON
line 40     zoomd.com, 88478941, RESELLER
             → sellers_json=HTTP 404
line 42     openx.com, 540646187, RESELLER
             → sellers_json=HTTP 403
line 46     xad.com, 958, RESELLER, 81cbf0a75a5e0e9a
             → sellers_json=HTTP 403
line 48     openx.com, 537149888, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 49     appnexus.com, 3703, RESELLER, f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 50     loopme.com, 5679, RESELLER, 6c8d5f95897a5a3b
             → sellers_json=HTTP 403
line 51     rhythmone.com, 2564526802, RESELLER, a670c89d4a324e47
             → sellers_json=HTTP 403
line 59     Sabio.us, 100032, RESELLER, 96ed93aaa9795702 #Verve
             → sellers_json=HTTP 404
line 62     eskimi.com, 2020000009, RESELLER
             → sellers_json=HTTP 403
line 72     gamaigroup.com, 423056, RESELLER
             → sellers_json=HTML or login page instead of JSON
line 75     loopme.com, 11303, RESELLER, 6c8d5f95897a5a3b
             → sellers_json=HTTP 403
line 76     loopme.com, 11424, RESELLER, 6c8d5f95897a5a3b
             → sellers_json=HTTP 403
line 79     openx.com, 540785403, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 80     openx.com, 559798512, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 111    appnexus.com, 15774, RESELLER
             → sellers_json=HTTP 403
line 124    openx.com, 537140323, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 132    appnexus.com, 4052, RESELLER
             → sellers_json=HTTP 403
line 138    appnexus.com, 7597, RESELLER, f5ab79cb980f11d1
             → sellers_json=HTTP 403
line 149    openx.com, 559912325, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403
line 151    openx.com, 538959099, RESELLER, 6a698e2ec38604c6
             → sellers_json=HTTP 403

Is this your app?

Get the full evidence list, a cleaned app-ads.txt, and alerts when partners' accounts change. Think something here is wrong? Request a correction.

Monitor this app