Independent AI ad
networks: what a US business can buy,
and whose apps the files confirm
Gravity, Koah, Thrad, Kontext and Velocity are five of the independent networks that sell ads inside AI apps other companies run. Which ones a US business can buy as of September 25, 2026, which apps the ads.txt and sellers.json files confirm for each, and where the same apps are resold through ordinary exchanges.
Gravity, Koah, Thrad, Kontext and Velocity are five of the independent networks that sell ads inside AI apps other companies run. As of September 25, 2026, a US business can sign up on its own with Gravity, Thrad and Koah. Gravity and Thrad document targeting by country, including the US. Koah publishes no country rule. Kontext takes advertisers by email, and PubMatic announced curated deals for its inventory in December 2025. Velocity takes inquiries only through a contact form.
Whose apps they can be shown to sell is a short list. Digital Traction matched each network’s line in the publishers’ own ads.txt files against the network’s sellers.json on September 25, 2026. By that check, Thrad is confirmed for one app, DeepAI. Kontext is confirmed for four: PolyBuzz, SpicyChat, Chai and Saylo. Velocity matches 14 of its 30 seller accounts, a mix of AI apps and open-web sites such as radaronline.com. Koah’s line fails the check, and Gravity publishes nothing to check.
A match shows that both sides declare a relationship. It does not show that ads were delivered, how many, or that the traffic was valid. Several of the same apps are also sold through ordinary ad exchanges, which matters to a business that already buys through a demand-side platform (DSP).
Which networks a US business can buy today
Each network sets its own way in. The record below answers the US question first, then gives the result of the file check described in the next section. Each network’s buying route and the measurement it describes are also set side by side on the Advertising in AI page.
- Gravity
- US: yes. Self-serve sign-up, and campaigns can target the US by country code. No advertiser country rule is published. File check: nothing to check, with no sellers.json and no ads.txt lines.
- Koah
- US: self-serve sign-up in Koah’s app since February 3, 2026, or a demo. No country rule or advertiser geo targeting is published, so confirm US targeting before a test. File check: fails, because the domain its line names has no sellers.json.
- Thrad
- US: yes. Self-serve, with campaigns targeted by country, plus a route for DSPs. File check: one app, DeepAI.
- Kontext
- US: by request. Kontext takes advertisers by email and publishes no country rule. PubMatic announced curated deals for select buyers on December 9, 2025, and no newer status was found. File check: four apps, PolyBuzz, SpicyChat, Chai and Saylo.
- Velocity
- US: by request only, through a contact form. File check: 14 of 30 seller accounts, AI apps and open-web sites.
Gravity’s quickstart starts at its advertiser sign-up page and asks for an email and a company name (Gravity quickstart), and its geo targeting takes “Country codes (US, GB, CA)” (Gravity campaigns). Koah said on February 3, 2026, that advertisers can accept its agreement directly in the app, “Sign up, agree, and go” (Koah changelog). Its advertiser page offers a demo booking and a login (Koah).
Thrad sells through a self-serve platform, and its docs say “Thrad campaigns are targeted by country” (campaign targeting). A DSP can also bid in its real-time auctions. The sample bid request in Thrad’s DSP onboarding guide carries the chat itself, with messages from both the user and the assistant.
Kontext asks advertisers to email advertisers@kontext.so to be set up (Kontext docs). On December 9, 2025, PubMatic announced curated private marketplace deals for Kontext’s inventory and invited “select advertisers and agencies” to early testing (PubMatic). No newer status was found. Velocity’s advertiser page sends its “Get started” button to a contact form (Velocity).
Two established ad companies have also announced AI placements. Taboola announced an ad platform for AI chatbots and assistants on June 16, 2026, with demand from Realize, its existing ad platform. adMarketplace’s AI Discover beta was announced on April 28, 2026 to run from June to December 2026, with the United States among its first markets. Both are the companies’ own announcements, and neither was checked against files here.
How to check a network’s supply
Two public files, both defined by IAB Tech Lab, show which apps a network may sell:
- ads.txt sits on the publisher’s own domain. Each line names an advertising system allowed to sell the publisher’s inventory, the publisher’s account ID there, and the relationship (ads.txt 1.1). Apps publish the same lines as app-ads.txt on the developer’s website (app-ads.txt 1.0).
- sellers.json sits on the advertising system’s own domain, at /sellers.json, and lists the accounts it sells for (sellers.json 1.0).
In ads.txt, DIRECT means the publisher “directly controls the account” on that system. RESELLER means the publisher “has authorized another entity to control the account” and resell its ad space. In sellers.json, PUBLISHER means the named company owns the inventory and is paid directly by the advertising system. INTERMEDIARY means it does not own the inventory or is not paid directly.
- Open the publisher’s ads.txt at its root domain, or app-ads.txt on the app developer’s website, and find the network’s line.
- Note the domain that line names and the account ID.
- Open the sellers.json at that exact domain and look for the same ID.
- Write down the date. Either file can change at any time.
Two details decided four of the failures below. The specification says the sellers.json should sit at the domain the line names, not at a related host. And a line on a subdomain counts only when the root domain’s ads.txt declares that subdomain. Otherwise, under section 5.5 of ads.txt 1.1, only the systems in the root file are authorized.
Whose apps the files confirm for each network
Thrad
Thrad’s sellers.json lists one publisher, DeepAI, and DeepAI’s ads.txt names Thrad with the same ID on line 4. That is the whole list, although Thrad’s publisher docs tell every publisher to add a thrad.ai line, because “Ad buyers check your ads.txt before they bid.”
Kontext
Kontext’s publishers name megabrain.co in their lines. The sellers.json at megabrain.co, last updated September 11, 2025, lists four apps, and each one matches: PolyBuzz, SpicyChat, Chai and Saylo. Liner and Moescape carry megabrain.co lines too, but their IDs appear only in kontext.so/sellers.json, a domain no line names, so both fail. Kontext’s own ads.txt guide calls the line “a hard requirement for ramping up fill rate.”
Velocity
Velocity’s sellers.json lists 70 domain entries under 30 seller IDs. It carries no update date, and it gained an entry during the day of the check. Checking each domain’s root ads.txt and app-ads.txt, 14 of the 30 accounts match. The AI apps among them:
- DeepAI, HubX (aiapp.org) and Leadtech (getaichat.app)
- AIBY, the developer of ChatOn (AIBY’s app-ads.txt), Taze and AI Hay
- Jetkite, Kolbo.ai, Smry.ai and EcoGPT
The other matches are not AI apps: ndtv.com under a seller named Whtvr, 14 sites under a seller named Inline, among them radaronline.com and okmagazine.com, plus ovivogames.com and pointcoin.app (seller Multify). Nine of the file’s 30 seller IDs appear more than once, Inline’s 22 times and Whtvr’s 11. The sellers.json specification says a seller ID may not represent more than one entity, and IAB Tech Lab’s 2021 validation guide flags any repeated seller ID.
Liner shows how the subdomain rule works. Its Velocity line sits on app.liner.com/ads.txt, but liner.com’s root file declares no subdomain, so only the root file counts, and it has no Velocity line. Liner fails for Velocity as it does for Kontext.
Koah
DeepAI’s ads.txt names koahlabs.com on line 3, but koahlabs.com/sellers.json returned a 404 page. The same ID is listed as DeepAI at app.koahlabs.com/sellers.json, a host no line names. By the rule, the line fails.
Gravity
No Gravity line appears in any file fetched, and Gravity publishes no sellers.json. One publisher explains why in its own file: “Gravity and Koah are direct first-party SDK integrations, not programmatic resellers” (smry.ai’s ads.txt, checked September 25, 2026). The file check cannot see supply that runs only through an SDK.
Where the same apps are resold
Other lines in the same files show a second way into several of these apps: exchanges that a DSP may already connect to. Each route below is declared on both sides.
- Koah through PubMatic. DeepAI’s first line authorizes PubMatic account 167410 as RESELLER, and PubMatic’s sellers.json lists 167410 as Koah Labs, an intermediary.
- Kontext through PubMatic. PubMatic lists account 167306 as Kontext, under megabrain.co. Liner, Chai, Saylo and PolyBuzz authorize it as RESELLER, which is consistent with the route PubMatic announced in December 2025.
- Kontext’s own accounts, marked DIRECT. InMobi, SmartyAds and Rise each list an account in Kontext’s name. PolyBuzz, SpicyChat, Moescape, Liner and Saylo declare those accounts DIRECT, a label the specification uses for an account the publisher itself controls.
- Thrad through bidline.net. DeepAI lists a bidline.net account as direct, and bidline.net’s sellers.json names that account’s seller as Thrad.ai, not DeepAI.
- Velocity through Rise, and often Sharethrough. In most of the AI apps’ files, Velocity’s line is followed by a Rise account that Rise lists as Velocity.io, and often by a Sharethrough account that Sharethrough lists as Rise’s in-app exchange. Velocity’s advertiser page promises “Direct access to AI-native apps,” a vendor claim.
Beyond the networks, all 10 AI-app files counted authorize PubMatic, Magnite, OpenX and Xandr as resellers, and Google appears in 6 of them. None of the files says which ad format those routes carry, so a DSP buy may reach the app without reaching the placement inside the chat.
Some network consoles also run ChatGPT campaigns. Thrad’s reporting numbers “combine Thrad and ChatGPT (OpenAI Ads) supply by default” (Thrad insights), and Gravity’s reporting API notes the time zone OpenAI’s reporting uses for ChatGPT campaigns. That is not resale of app supply. Gravity’s docs refer to “OpenAI ad accounts,” and OpenAI’s guide for API partners says to “Use the API key associated with the client ad account for every request” (OpenAI), which points to these campaigns sitting in an OpenAI ad account. Whose account it is, neither network’s docs say. Buying ChatGPT ads directly, and the account rules that apply, are covered in ChatGPT ads: what a US business can buy today.
What the networks do not publish
- Delivery by app. No network’s public advertiser documentation offers a report by app. Thrad’s reporting API breaks results down by source, country and device only, and “Any other value returns invalid_segment.” Gravity’s API returns ad-group series “summed across publishers,” although its dashboard shows “Top-performing publishers and conversation topics.” Velocity’s documentation sits behind a login, and its advertiser page promises “full visibility into performance and where your ads run,” a vendor claim.
- A publisher list. Gravity has no sellers.json, and Koah has none at the domain its line names.
- A current file at the named domain. The megabrain.co file that Kontext’s lines name was last updated September 11, 2025, while its newer May 12, 2026 file sits at kontext.so. Velocity’s and Thrad’s files carry no date, which the specification does not require.
- A self-serve route for Velocity. Its advertiser page leads to a contact form.
- The format sold through reseller accounts, from any network.
- An independent audit of delivery, from any network.
The last two come from absence: no such page was found on September 25, 2026.
What to check before buying
For a US business weighing a first test, the checks are short and public:
- Confirm the route and the country. Find the sign-up page or the named contact, and check that campaigns can target the US.
- Ask the network for its publisher list, then open each publisher’s ads.txt or app-ads.txt at the root domain.
- Match each line’s ID in the sellers.json at the domain the line names, and write down the date.
- Read the relationship. DIRECT should mean the publisher controls the account. If the exchange’s sellers.json names the network as the seller, ask why the line says DIRECT.
- Ask whether the business’s own DSP already reaches the same apps through PubMatic, Magnite, OpenX or Xandr, and which format that route sells.
- Ask for delivery by app. No network’s public advertiser API offers it.
- For ChatGPT campaigns run through a network’s console, ask whose OpenAI ad account the campaign sits in.
- Check the files again before each test. They change without notice.
About this guide
Every file named here was fetched on September 25, 2026, between 10:23 and 11:05 p.m. US Eastern, and every match is as of then. The files change without notice: Velocity’s sellers.json gained an entry that same day. Koah’s files at koah.ai and app.koah.ai, the domain PubMatic lists for Koah, returned 403 to the check and were not read. A match shows that both sides declare a relationship. It does not show that ads ran, how many, or that the traffic was valid. The networks’ documentation is their own, and claims about reach are labeled as vendor claims in the source notes.
Source notes
All 41 sources, with what each one supports
- IAB Tech Lab, ads.txt Specification Version 1.1 · Industry specification (final July 2022). IAB Tech Lab’s ads.txt page, last updated September 14, 2026, lists 1.1 as current and says the specifications have moved to GitHub (InteractiveAdvertisingBureau/Supply-Chain-Validation), where the 1.1 wording is identical. Supports: ads.txt declares the advertising systems and resellers authorized to sell a publisher’s inventory; DIRECT means the publisher directly controls the account, RESELLER means it has authorized another entity to control the account and resell its ad space (field #3); section 5.5, a subdomain counts only when the root ads.txt declares it, otherwise only systems in the root file are authorized. Checked .
- IAB Tech Lab, app-ads.txt Version 1.0 · Industry specification (March 2019). Supports: app-ads.txt is posted on the developer’s website, an online resource the developer independently controls. Checked .
- IAB Tech Lab, sellers.json Version 1.0 · Industry specification (July 2019). Supports: every advertising system listed in an ads.txt file should publish sellers.json at its own domain, /sellers.json; PUBLISHER means the inventory is owned by the named entity and the system pays it directly; INTERMEDIARY means it is not owned by the named entity or the system does not pay it directly; it is invalid for a seller_id to represent multiple entities. The specification defines no last-updated field. Checked .
- IAB Tech Lab, Supply Chain Validation for Publishers · Industry guidance (May 2021), written for IAB Tech Lab’s validation program. Supports: the guide flags a seller_id used more than once in a sellers.json file (error 12060). Whether the program still runs in 2026 was not checked. Checked .
- Gravity docs, Advertiser quickstart · Network documentation (Gravity’s own, undated). Supports: sign-up at app.trygravity.ai/advertiser/signup with an email and company name; the dashboard shows top-performing publishers and conversation topics. No advertiser country eligibility is published. Checked .
- Gravity docs, Campaigns · Network documentation (Gravity’s own, undated). Supports: geo targeting takes country codes (US, GB, CA). Checked .
- Gravity docs, Dashboard API · Network documentation (Gravity’s own, undated). Supports: one series per ad group, summed across publishers; OpenAI ad accounts report in America/New_York. Checked .
- Koah changelog, self-serve advertiser agreement (February 3, 2026) · Network announcement (Koah’s own). Supports: advertisers can accept the Koah advertiser agreement directly in the app, “Sign up, agree, and go.” No country rule is stated. Checked .
- Koah, Advertise · Vendor marketing page (Koah). Supports: the page’s buttons offer a demo booking, and its navigation a login. Checked .
- Thrad, Self-serve · Vendor marketing page (Thrad, undated). Supports: Thrad offers advertisers a self-serve platform. The launch date is reported only by trade press and is not used here. Checked .
- Thrad docs, Campaign targeting · Network documentation (Thrad’s own). Supports: Thrad campaigns are targeted by country, at country level only. Checked .
- Thrad docs, DSP introduction · Network documentation (Thrad’s own). Supports: DSPs take part in real-time auctions for conversational ad placements and receive bid requests from active chat conversations. Checked .
- Thrad docs, DSP onboarding · Network documentation (Thrad’s own). Supports: the sample bid request body carries messages with user and assistant content, and its headers carry X-Forwarded-For and User-Agent. The older address, dsps-docs.thrads.ai, returned 404. Checked .
- Thrad docs, Go live · Network documentation (Thrad’s own). Supports: every publisher is told to add a thrad.ai line marked DIRECT to ads.txt or app-ads.txt, because ad buyers check it before they bid. Checked .
- Thrad docs, Insights · Network documentation (Thrad’s own). Supports: numbers combine Thrad and ChatGPT (OpenAI Ads) supply by default; the segments are source, country and device, and any other value returns invalid_segment. Checked .
- Thrad, sellers.json · Network file. Supports: one seller, DeepAI (deepai.org, PUBLISHER), with the ID that DeepAI’s ads.txt line 4 names. Checked .
- Kontext docs, Advertisers · Network documentation (Kontext’s own). Supports: advertisers email advertisers@kontext.so to be set up with an account. Checked .
- Kontext docs, ads.txt guide · Network documentation (Kontext’s own). Supports: the authorization line is a hard requirement for ramping up fill rate. Checked .
- PubMatic blog, PubMatic and Kontext announcement (December 9, 2025) · Company announcement (PubMatic’s own statement). Supports: curated private marketplace (PMP) 1-to-1 deals for initial testing, with plans to expand; select advertisers and agencies invited to early testing. No newer status found. Checked .
- megabrain.co, sellers.json · Kontext’s seller file at the domain its publishers’ lines name. Supports: last updated ; four sellers, polybuzz.ai, sayloai.com, chai-research.com and spicychat.ai, each matching its publisher’s line (PolyBuzz ads.txt line 4, SpicyChat ads.txt line 2, Chai app-ads.txt line 6333, Saylo app-ads.txt line 42). Checked .
- Kontext, sellers.json · Network file at a domain no ads.txt line names. Supports: last updated ; six sellers, the four above plus liner.com and moescape.ai. Checked .
- Velocity, Advertisers · Vendor marketing page (Velocity). Supports: the Get started button links to /contact. Vendor claims: direct access to AI-native apps, and full visibility into performance and where ads run. Velocity’s documentation site requires a login. Checked .
- Velocity, sellers.json · Network file, with no last-updated field. Supports: 70 entries under 30 seller IDs, including pointcoin.app, added between two captures on ; nine of the 30 seller IDs repeat: Inline 22 times, Whtvr 11, Multify 4, and Liner, Kolbo.ai, Jetkite, Taze, AIBY and vellma twice each. Checked .
- Root ads.txt and app-ads.txt for each domain in Velocity’s sellers.json · Publisher files, one fetch per domain. Supports: 14 of 30 accounts match (29 of 70 entries): DeepAI, HubX, Leadtech, AIBY, Taze, AI Hay, Jetkite, Kolbo.ai, Smry.ai, EcoGPT, Whtvr (ndtv.com), Inline (14 sites), ovivogames.com and pointcoin.app (Multify); no line found for the other 16 accounts. Checked .
- Koah, sellers.json at koahlabs.com · The file address DeepAI’s Koah line names. Returned HTTP 404. Checked .
- Koah, sellers.json at app.koahlabs.com · Network file at a host no ads.txt line names. Supports: the ID in DeepAI’s Koah line is listed as DeepAI (deepai.org, PUBLISHER). Checked .
- DeepAI, ads.txt · Publisher file. Supports: line 1, PubMatic 167410 as RESELLER; line 3, koahlabs.com; line 4, thrad.ai as DIRECT; line 48, bidline.net as direct; line 49, velocity.io as DIRECT, followed by Rise; PubMatic, Magnite, OpenX and Xandr as resellers. Checked .
- Liner, ads.txt · Publisher file. Supports: line 1183, a megabrain.co line whose ID appears only in kontext.so’s file; line 1186, PubMatic 167306 as RESELLER; InMobi’s Kontext account as DIRECT; no subdomain declaration and no velocity.io line. Checked .
- Liner, app.liner.com ads.txt · Publisher file on a subdomain the root file does not declare. Supports: a velocity.io line marked DIRECT. Checked .
- AIBY, app-ads.txt · Publisher file. Supports: a velocity.io line marked DIRECT whose ID Velocity lists as AIBY for chat.chaton.ai and aiby.com. Checked .
- smry.ai, ads.txt · Publisher file. The date in it belongs to its Velocity block, not to the Gravity and Koah comment. Supports: the comment that Gravity and Koah are direct first-party SDK integrations, not programmatic resellers; Velocity’s line is followed by Rise, then Sharethrough. Checked .
- The 10 AI-app files counted for resale · Publisher files: the ads.txt or app-ads.txt of DeepAI, Liner, PolyBuzz, SpicyChat, Moescape, Chai, Saylo, AIBY, aiapp.org and smry.ai. Supports: all 10 authorize PubMatic, Magnite, OpenX and Xandr as resellers; Google appears in Liner, PolyBuzz, SpicyChat (DIRECT only), Chai, Saylo and AIBY. Saylo’s app-ads.txt declares Kontext’s InMobi, Rise and SmartyAds accounts DIRECT (lines 586, 1708 and 1785), and PolyBuzz’s app-ads.txt declares SmartyAds 300198 DIRECT (line 10236). Checked .
- PubMatic, sellers.json · Exchange file. Supports: 167410 is Koah Labs (app.koah.ai, INTERMEDIARY); 167306 is Kontext (megabrain.co, INTERMEDIARY), authorized as RESELLER by Liner, Chai, Saylo and PolyBuzz. Checked .
- InMobi, sellers.json · Exchange file. Supports: an account named Kontext (kontext.so, BOTH), declared DIRECT by PolyBuzz, Moescape, Liner and Saylo. Checked .
- SmartyAds, sellers.json · Exchange file. Supports: account 300198 named kontext (INTERMEDIARY), declared DIRECT by SpicyChat, PolyBuzz and Saylo. Checked .
- Rise, sellers.json · Exchange file. Supports: an account named Velocity.io (velocity.io, PUBLISHER), on the line after Velocity’s in most of the AI apps’ files; an account named Kontext (kontext.so, PUBLISHER), declared DIRECT by PolyBuzz, Moescape and Saylo. Checked .
- bidline.net, sellers.json · Exchange file. Supports: the account in DeepAI’s bidline.net line is named Thrad.ai (thrad.ai, PUBLISHER). Checked .
- Sharethrough, sellers.json · Exchange file. Supports: the account that often follows Velocity’s Rise line is named Rise (ironSource), oRTB (in-app), INTERMEDIARY. Checked .
- OpenAI Developers, Ads API partner setup · Platform documentation (undated). Supports: API partners configure measurement and campaign resources for client accounts, using the API key associated with the client ad account for every request. Checked .
- Taboola, press release (June 16, 2026) · Vendor announcement, not checked against files. Supports: an ad platform for AI answer engines, chatbots and assistants, with demand from Realize. Checked .
- adMarketplace, AI Discover beta (April 28, 2026) · Vendor announcement, not checked against files. Supports: announced April 28, 2026, the beta is planned to run from June 2026 through December 2026, with initial markets including the United States. Whether it is running now was not checked. Checked .
Reported facts are kept separate from Digital Traction’s interpretation. Platform features change; dated notes are revised when they do.