Testing as a Supply Source (Sandbox)
Validate your VAST and RTB integration against synthetic demand before switching to live traffic. No risk, no real money.
Enable sandbox on a supply source
Create or open a supply source
Log in → Supply → Add Supply Source (or open an existing one).
Enable Sandbox Mode
Under Settings, toggle Sandbox Mode → Save.
The supply source card shows a Sandbox badge and is now isolated from live auctions.
Get your sandbox VAST tag URL
Your VAST tag URL is the same as production — just append sandbox=true:
https://rtb.praevis.com/vast?site_id={PUBLISHER_ID}&w=1920&h=1080&ip=203.0.113.1&ua=TestAgent&sandbox=trueFire test VAST requests
You can fire test requests directly from your terminal:
curl "https://rtb.praevis.com/vast?site_id={PUBLISHER_ID}&w=1920&h=1080&ip=203.0.113.1&ua=TestAgent&sandbox=true"Filled response (HighBidder wins):
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.0">
<Ad id="sandbox-001">
<InLine>
<AdSystem>Praevis Sandbox</AdSystem>
<AdTitle>Sandbox Test Creative — 15s</AdTitle>
<Impression><![CDATA[https://rtb.praevis.com/track/impression?...]]></Impression>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:15</Duration>
<MediaFiles>
<MediaFile type="video/mp4" width="1920" height="1080" bitrate="2000">
https://sandbox.praevis.com/test-creative-15s.mp4
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>Empty response (no winner):
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.0"/>You’ll see both filled and empty responses during sandbox testing — this is correct. RandomBidder generates realistic mixed fill rates.
Validate with VAST Inspector
After getting a filled response, paste the URL or XML into a VAST inspector to verify your creative validates:
- Google Video Suite Inspector — recommended
- FreeWheel VAST Validator
- IAB VAST Validator
Checks to verify:
- VAST XML is valid and well-formed
-
<MediaFile>URL resolves (HTTPS, returns MP4) -
<Duration>matches actual file length -
<Impression>tracking URL is present
Reading sandbox metrics
- Go to the main dashboard
- Click the Sandbox toggle in the time period selector (top-right area)
- You’ll see RPS, fill rate, and revenue for your sandbox publisher
Sandbox metrics update with the same ~60-second lag as production. After firing a test request, wait 60–65 seconds before checking.
Testing RTB in sandbox
If you’re using direct RTB (server-to-server), send a test bid request with the sandbox header:
curl -X POST https://rtb.praevis.com/rtb \
-H "Content-Type: application/json" \
-H "X-Publisher-ID: {PUBLISHER_ID}" \
-H "X-Sandbox: true" \
-d '{
"id": "test-request-001",
"imp": [{"id": "imp-001", "video": {"mimes": ["video/mp4"], "w": 1920, "h": 1080, "minduration": 15, "maxduration": 30}, "bidfloor": 3.00}],
"app": {"id": "app-test", "bundle": "com.example.test", "publisher": {"id": "{PUBLISHER_ID}"}},
"device": {"ip": "203.0.113.1", "ua": "TestAgent", "devicetype": 3, "geo": {"country": "AE"}}
}'Pre-go-live checklist
Run through this before switching the publisher to live:
- At least one filled VAST response received in sandbox
- Empty VAST handled correctly (passback fires, no player error)
- Revenue appears in sandbox dashboard after ~60s
- VAST validates cleanly in VAST Inspector
- RTB bid request received and bid response returned (if RTB mode)
- app-ads.txt / ads.txt file set up and verified
- Floor price tested — bids arriving above it
When all pass: disable Sandbox Mode in supply source settings, update your ad server tag URL (remove sandbox=true), and you’re live.