Forest Arrow

InOut Games

Demo, RTP 95.00%, paytable, symbols & full capture data

Free demo · not real-money play
✓ Working · checked 1 day, 1 hour ago Verified · 17 Aug 2026
RTP 95.00%
Volatility
Max win ×1000
Grid
For webmasters & affiliates
Embed demo

Direct demo link or iframe code for your site. Free · no sign-up

Asset pack

19 screenshots · palette · spec sheet. ZIP — captcha check, no sign-up

Slot API

GET /v1/slots/forest-arrow-b22/

1,000 free requests / month · sign-up required

32 API calls this month
Ask AI MCP

This slot’s spec, symbols, palette and demo link — queryable from Claude, Cursor or VS Code. Read-only · free · no key, no sign-up.

mcp.i-gaming.tools/mcp
What to ask → 2-min setup
Verified capture
iGaming Tools capture pipeline Manual demo playthrough · paytable OCR-verified

Captured by hand from a live demo and verified frame-by-frame — the paytable was OCR-checked against the provider. 4 aspects we couldn’t confirm are flagged below, not hidden.

Captured 17 Aug 2026 View capture log

Per-screen breakdown

19 demo screens
19 PNG (ZIP)
Base game
base_game Base game
Base game
base_game Base game
Info / About screen
info Info / About screen
Logo
logo Logo
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Other (see free_label)
other Other (see free_label)
Paytable
paytable Paytable
Paytable
paytable Paytable
Rules / How to play
rules Rules / How to play
Rules / How to play
rules Rules / How to play
Game settings
settings Game settings
Win screen
win_screen Win screen
Win screen
win_screen Win screen
Win screen
win_screen Win screen

What we extracted from Forest Arrow

Everything pulled from Forest Arrow into machine-readable data — symbols, paytable, palette, modes and assets. A capture result, not a game review.
19 screens captured
6 palette colors from frames
5 accessibility groups profiled
4 gameplay modes NOT captured — flagged honestly below

manual demo playthrough → 19 screens captured → paytable verified (OCR) → catalogued & reviewed

Specification

verified parameters
provider InOut Games
rtp 95.00% · single configuration
max_win_x ×1000
bonus_buy No
mechanic Instant Win
release_date 2025

Bonus modes

6 modes
Base Game Modifier base
Base Game

A wooden archery target on a tripod stands in a sunlit forest. The bottom bar carries DIFFICULTY, BET (the price of ONE arrow), the round green TAP OR HOLD button, ARROWS, TOTAL BET and BALANCE; the LAST WINS panel on the left lists the arrows of the last round and their total. TOTAL BET is BET multiplied by ARROWS and is capped at 200 USD however the two are combined.

Other difficulty
Difficulty Selector

EASY, MEDIUM or HARD rewrites the four ring multipliers of the target and with them the whole payout distribution: EASY pays X0.5 / X2 / X5 / X10 from the outer ring inwards, MEDIUM pays X0.2 / X3 / X10 / X50, and HARD pays X0 (the outer ring returns nothing) / X10 / X100 / X1000. The centre of HARD is the highest multiplier the game prints.

Base Game Modifier volley
Arrow Volley

Between one and twenty arrows are loosed at once, chosen from the discrete ladder 1, 2, 3, 5, 10, 20. Each arrow is staked separately at the BET price and lands in its own ring, so a single volley can resolve into several different multipliers at the same time.

Other payout
Payout

Every arrow pays its own ring: arrow price times ring multiplier, and the round total is their sum. Measured on a 20-arrow volley at 10 USD each - two arrows in X10 paid 200, two in X3 paid 60 and sixteen in X0.2 paid 32, for a printed TOTAL WIN of 292 against a TOTAL BET of 200. The bet history panel records the same round as bet 200, mult x1.46, win 292, so its multiplier column is a derived average rather than a rule.

Other fast_game
Fast Game

A toggle above the control bar that shortens the shot animation. It changes presentation only - the arrows, their rings and the payout arithmetic are unaffected.

Other provably_fair
Provably Fair

A panel exposing the client seed and the SHA256 hash of the server seed, with the unusual detail that the server seed covers the first three bets of the round. Present in this build although the catalogue cannot record the fact for this game category.

Colour system

extracted from frames · HEX
Export palette
#182227 base dominant 1 base
#2C5A5B base dominant 2 base
#583128 base dominant 3 base
#61A856 base dominant 4 base
#DDECF1 base dominant 5 base
#1F3946 base dominant 6 base

Accessibility

profile for all groups
Color Blind
  • Each target ring prints its multiplier as text and is placed at a fixed radius, so ring value never depends on telling the burnt-orange, pale tan and charcoal-grey bands apart by hue.
Screen Reader
  • The control bar is real DOM with named elements, but the target and the arrows are drawn on canvas, so hits are not exposed as text.
Motor Accessibility
  • Nothing is time-critical: the shot is a single press with no aiming, and holding the button is an alternative to tapping rather than a separate skill.
Hearing Accessibility
  • Sound and music are separate toggles in the burger menu, and every outcome is printed on screen, so no result is carried by audio alone.
Low Vision
  • The round result is shown twice - as floating '+N $' marks over the target and as a per-ring list in the LAST WINS panel with a TOTAL WIN line - so the outcome can be read without following the animation.

Media & assets

3 files · 3 types
19 PNG (ZIP)
Base game
base_game
Base game
base_game
Logo
logo

Data provenance

what we captured and what we didn't
Base game on MEDIUM, ring tables for EASY and HARD, both rules dialogs, settings menu, provably fair panel, a single-arrow win, a two-arrow win, the decisive twenty-arrow mixed-ring round, both bet stepper stops, the arrow ladder ceiling, the total-bet cap reached two different ways and two bet-history views.
RTP is stated nowhere in the client: window.env, both storages and all six JS bundles were grepped, and none of the three dialogs prints it. The recorded 95% is the low end of the 95-97% range published on the provider's game card.
The printed money cap of 20000 USD cannot be reconciled arithmetically with a single maximum-stake arrow in the HARD centre (200 x 1000 = 200000), so it binds as a payout ceiling above a total bet of 20. The build explains this nowhere.
The provably fair panel exists but cannot be recorded in the catalogue: the field is gated to crash games. Owner debt 5-quater.
An external source claims volleys of 50 and 100 arrows. The stepper stops at 20 and did not move after 40 further clicks, so the claim does not hold for this build.

Ask AI about Forest Arrow

MCP · VERIFIED CAPTURE DATA

AI apps like Claude are chat apps: you ask, they answer. Normally they can’t see this capture — MCP is the plug that connects them to it. Add one link, and your chat answers with this slot’s verified data. No coding.

Server https://mcp.i-gaming.tools/mcp paste into Claude, Cursor, VS Code, Gemini, Codex, Windsurf or Zed · read-only · free · no key Setup guides →
What it looks like

How does Forest Arrow play? Keep it simple.

A wooden archery target on a tripod stands in a sunlit forest. The bottom bar carries DIFFICULTY, BET (the price of ONE arrow), the round green TAP OR HOLD button, ARROWS, TOTAL BET and BALANCE; the LAST WINS panel on the left lists the arrows of the last round and their total. TOTAL BET is BET multiplied by ARROWS and is capped at 200 USD however the two are combined.

RTP 95.00%max win ×1000demo ✓

From the verified capture of 17 Aug 2026 — not from the AI’s memory.

Playersearch_slots

“Find slots like this but medium volatility — with free demos.”

→ matches by mechanics and theme; official free demos only.

Affiliateget_slot ×2

“Comparison table: Forest Arrow vs Mine Slot 2 — RTP, max win, bonus buy.”

→ side-by-side table, ready for your review page.

Editorget_slot

“Fact-check my review: RTP, max win, paylines, bonus-buy price, release year.”

→ OCR-verified numbers — including the 4 aspects we couldn’t confirm, flagged.

Designerget_slot

“Creative brief: theme, 6 palette hexes and the symbol descriptions.”

→ same palette and symbol data as the sections above, as one brief.

Verified capture: manual playthrough, paytable OCR-checked Honest gaps: 4 uncaptured aspects flagged, not hidden Read-only · free, no key · per-IP rate limit 18+Free demo data only — no real-money links

Technical info

Free JSON data API — token auth.
GET /api/v1/slots/forest-arrow-b22/

Public data API. Send Authorization: Token <your-token>. Full structured data, media and demo links in one call. See the API docs.

Spec sheet — extracted, unverified. This is the raw OCR dump, not the full API response.
GET /api/v1/slots/forest-arrow-b22/
{
  "game": {
    "name": "Forest Arrow",
    "catalog_name": "Forest Arrow",
    "provider": "InOut Games",
    "studio": null,
    "studio_note": "Only the provider wordmark 'Powered by INOUT' is shown in the hamburger menu footer (settings.png). No separate sub-studio brand was found anywhere in the client.",
    "internal_code_slug": "forest-fortune-v1",
    "internal_code_note": "The launch URL query parameter gameMode=forest-fortune-v1 does not match the in-game wordmark 'FOREST ARROW'. This is the internal engine/URL slug, not a display name; the game itself, on every screen, prints its name as 'FOREST ARROW'. Both are recorded here per convention (name = catalog/display name = wordmark shown in-game; internal_code_slug = URL code).",
    "game_kind": "instant_win, non-reel, non-crash: a single-round 'shoot arrows at a target' game. Not a video slot (no reels/paylines/scatters), not a multiplier-crash game (no rising curve to cash out), not a scratch card. Closest structural analogy in our own taxonomy is an instant-win target/dice-style game.",
    "art_style": "Flat-shaded 2D mobile-casual cartoon illustration, painterly cel-shaded style with soft airbrushed gradients (not thick black outlines, not photorealistic, not pixel art). Bright, cheerful daylight forest scene viewed straight-on/frontally (no isometric or top-down perspective) as a static backdrop behind a large centered wooden archery target. Warm wood-brown/tan tones for the target and stand contrast with a cool blue-and-green outdoor palette (sky, clouds, pine trees, grass). Overall mood is casual, family-friendly and relaxed, similar in tone to casual mobile carnival/arcade games -- no darkness, no neon, no dramatic/cinematic lighting.",
    "theme": "Forest archery / carnival target-shooting: a wooden archery target mounted on a tripod stand in a sunlit pine forest clearing."
  },

  "scene_and_visual_layout": {
    "source_frames": ["base_game.png", "paytable_hard.png", "paytable_easy.png"],
    "background": "Static full-bleed illustrated forest clearing. Sky occupies the upper third: medium sky-blue with several large fluffy white clouds (soft grey-blue shading on their undersides). Tall dark-green pine/fir silhouettes frame the left and right edges of the screen (foreground trees, almost black-green, with visible needle texture). A row of medium-green pine trees sits in the mid-ground behind the target. The ground is a bright grass-green gradient (lighter green highlights toward the front/bottom of the screen, darker green toward the horizon), with a few small grey bird/leaf sprites occasionally visible drifting in the scene (decorative, non-interactive).",
    "target_object": {
      "description": "A large circular wooden archery target mounted on a tripod (three brown wooden legs), centered in the right-of-center area of the play field. The disc is built from four concentric rings plus a center dot, each ring showing a printed multiplier value in its own text color:",
      "rings_outside_to_center": [
        {"ring": 1, "position": "outermost", "disc_color": "burnt orange / medium wood-brown with visible wood-grain texture", "text_color": "off-white / pale cream"},
        {"ring": 2, "position": "second", "disc_color": "pale tan / light beige wood tone", "text_color": "off-white / pale cream (same family as ring 1)"},
        {"ring": 3, "position": "third", "disc_color": "dark charcoal-grey disc", "text_color": "bright cyan / turquoise"},
        {"ring": 4, "position": "center bullseye", "disc_color": "solid red circle", "text_color": "bright yellow/gold with a thin dark outline"}
      ],
      "accessibility_note": "Ring values are distinguishable by THREE redundant cues, not color alone: (1) radial position, from outer to center, (2) the printed multiplier number itself is always legible, (3) the text color pattern is consistent across all three difficulty levels (outer two rings = cream/white text, third ring = cyan text, center = yellow text on red disc) -- so a colorblind user can still map 'yellow text on the red center disc' or 'the innermost ring' to the highest-paying zone without needing to distinguish hue.",
      "stand": "Brown wooden tripod (three legs) supporting the target from below; a short wooden post/peg is visible above the target holding it in place."
    },
    "left_panel_last_wins": {
      "description": "A dark reddish-brown translucent panel box on the left side of the screen, labeled 'LAST WINS' at the top in white uppercase text.",
      "idle_state": "Shows placeholder grey italic-style text: 'YOUR LAST WINS WILL BE DISPLAYED HERE'.",
      "after_a_round": "Placeholder text is replaced by one row per target zone that was hit during the round: a small feather/arrow icon, the number of arrows that landed in that zone, and the dollar amount won from that zone (right-aligned, in orange/gold text), e.g. a row reading (icon) '2' ... '200 $'. Multiple rows stack if more than one zone was hit in a single round (see win_screen frames below).",
      "footer": "'TOTAL WIN' label (white) with the summed round total in orange/gold on the right, plus a small coin icon."
    },
    "fast_game_toggle": {
      "description": "A small pill-shaped toggle switch labeled 'FAST GAME' to the left, below the target and above the control bar.",
      "on_state": "Pill is bright green, the round knob sits on the right side of the pill (base_game.png, paytable_hard.png, paytable_easy.png).",
      "off_state": "Pill is dark grey/charcoal, the round knob sits on the left side of the pill (payout_basis_evidence.png, payout_basis_mixed_evidence.png, win_screen_big.png, bet_min_evidence.png, _burst_fastoff.png).",
      "accessibility_note": "State is redundantly coded by BOTH color (green vs grey) AND knob position (right vs left) -- readable without relying on color alone.",
      "observed_effect": "Not directly provable from static screenshots (it governs shot/anim speed); the toggle visibly turns itself OFF automatically after a shot is taken (compare base_game.png ON before a shot vs. payout_basis_evidence.png OFF right after a shot was fired) -- this looks like an animation-speed/skip setting rather than a persistent player preference; treat as 'uncertain: exact behavioural effect' since no rules text describes it."
    },
    "top_bar": {
      "left": "Small rounded-square app-icon badge (teal background, wooden target+arrow glyph, no text) followed immediately by the wordmark 'FOREST ARROW' in bold white sans-serif capitals with a subtle darker drop-shadow/outline.",
      "right_controls_left_to_right": [
        "'How to play?' button: dark rounded rectangle with a white circled-'i' info icon and the label text 'How to play?' in white.",
        "Fullscreen toggle: dark square icon button with a 4-corner 'expand' glyph (no text label).",
        "Hamburger menu: dark square icon button with a 3-horizontal-line 'menu' glyph (no text label)."
      ]
    },
    "bottom_control_bar": {
      "description": "One continuous dark reddish-brown translucent bar spanning the bottom of the screen, containing five control groups left to right.",
      "groups": [
        {"name": "DIFFICULTY", "type": "dropdown selector", "description": "Label 'DIFFICULTY' (small grey caps) above the currently selected value (large white/cream caps: EASY / MEDIUM / HARD) inside an orange-brown rounded rectangle; small up/down chevron arrows on the right edge open/close the dropdown list. Opening it (seen in _burst_diffopts.png, an unlisted frame in the same folder) reveals a stacked vertical list of the 3 options (EASY, MEDIUM, HARD) on a matching orange-brown background, with the currently active option highlighted in green text."},
        {"name": "BET", "type": "stepper", "description": "Label 'BET' above a dollar-sign-prefixed numeric value (price of ONE arrow) inside a dark rounded rectangle, with a vertical pair of up/down chevron arrows on the right edge to increment/decrement."},
        {"name": "TAP OR HOLD", "type": "primary action button", "description": "Large circular green button, center of the bar, with a lighter mint-green outer ring and darker green inner fill, white bold two-line label 'TAP OR HOLD'. This is the shoot/fire control -- tapping (or holding, presumably for repeated/auto shots) launches the configured number of arrows at the target."},
        {"name": "ARROWS", "type": "stepper", "description": "Label 'ARROWS' above the current arrow count (an integer, no currency prefix) inside a dark rounded rectangle, with up/down chevron arrows on the right edge."},
        {"name": "TOTAL BET", "type": "read-only display", "description": "Label 'TOTAL BET' above the computed total stake for the round (BET x ARROWS), dollar-sign prefixed, inside a dark rounded rectangle. No stepper arrows -- purely derived/read-only."},
        {"name": "BALANCE", "type": "read-only display", "description": "Label 'BALANCE' above the player's current demo balance, dollar-sign prefixed, inside a dark rounded rectangle."}
      ]
    }
  },

  "round_flow": {
    "summary": "Single-phase instant-win round: configure -> fire -> resolve. There is no separate bonus/free-spin mode; every round is resolved instantly once TAP OR HOLD is pressed.",
    "phases": [
      {"step": 1, "name": "Configure difficulty", "how": "Open the DIFFICULTY dropdown and pick EASY / MEDIUM / HARD. This swaps the four multiplier values printed on the target rings (see difficulty_paytables below); it does not change the visual layout of the target, only the printed numbers.", "frames": ["base_game.png (MEDIUM, default)", "paytable_hard.png (HARD)", "paytable_easy.png (EASY)", "_burst_diffopts.png (dropdown open, unlisted frame)"]},
      {"step": 2, "name": "Configure stake", "how": "Set BET (price per arrow, stepper) and ARROWS (number of arrows in the volley, stepper, discrete steps 1/2/3/5/10/20). TOTAL BET updates automatically as BET x ARROWS.", "frames": ["bet_per_arrow_evidence.png", "arrows_max_evidence.png", "bet_min_evidence.png", "bet_max_evidence.png", "total_bet_cap_evidence.png"]},
      {"step": 3, "name": "Fire", "how": "Press/hold the green TAP OR HOLD button. The configured number of arrows launch at the target; each arrow lands in one of the four ring zones independently (provably-fair RNG, see fairness section).", "frames": ["not a distinct captured mid-flight frame in this set; the shot resolves quickly, only pre-shot and post-shot states are captured"]},
      {"step": 4, "name": "Resolve / show result", "how": "Each arrow that lands is shown stuck in its ring with a floating '+N $' pop-up next to it. The LAST WINS panel populates with one row per DISTINCT zone hit (arrow-icon, hit count in that zone, subtotal dollar amount for that zone), and TOTAL WIN at the bottom of the panel sums all rows. The round's outcome is also logged in 'My bet history'.", "frames": ["base_game_win.png (1 arrow, single zone)", "payout_basis_evidence.png (2 arrows, single zone, 2 separate '+2$' popups)", "payout_basis_mixed_evidence.png (20 arrows, THREE zones hit in one round: 2xX10, 2xX3, 16xX0.2)"]},
      {"step": 5, "name": "Idle / ready for next round", "how": "After a short display period the target resets to its idle rendering (LAST WINS panel reverts to the empty placeholder text, TOTAL WIN shows 0) and the player can reconfigure and fire again.", "frames": ["win_screen_big.png -- see correction note below"]}
    ],
    "frame_labeling_correction": "IMPORTANT: the two frames win_screen_big.png and payout_basis_mixed_evidence.png were captured from the same 20-arrow / $10-per-arrow round, one second apart (07:21 vs 07:22 by file mtime), but their manifest notes are swapped relative to what is actually pictured. Opening both files directly: payout_basis_mixed_evidence.png is the one that actually SHOWS the full 3-row win breakdown (2 hits -> $200, 2 hits -> $60, 16 hits -> $32, TOTAL WIN 292) -- this is confirmed independently by 'My bet history' in payout_basis_history_mixed.png, which logs Bet $200 / Mult. x1.46 / Win $292 (292/200=1.46, matching exactly). win_screen_big.png, despite its filename and manifest note claiming it shows the $292 breakdown, actually shows the IDLE/reset state (LAST WINS placeholder text, TOTAL WIN 0) that followed immediately after. This documentation describes what is actually visible in each file, not the manifest note text; treat win_screen_big.png as an 'idle after a big win' reference frame, not a win-display frame."
  },

  "difficulty_paytables": {
    "note": "The four ring multipliers ARE the paytable of this game; there is no symbol-based paytable since the game has no reels/symbols. Values below were read directly off the target in each difficulty's own screenshot.",
    "MEDIUM": {"source_frame": "base_game.png", "default": true, "rings_outer_to_center": ["X0.2", "X3", "X10", "X50"]},
    "HARD": {"source_frame": "paytable_hard.png (also _burst_diffopts.png, _burst_hard0.png)", "rings_outer_to_center": ["X0", "X10", "X100", "X1000"], "note": "Outer ring pays X0 (a miss/whiff zone) at HARD difficulty -- this is the only difficulty where an outer ring can pay nothing. Center ring X1000 is the single highest printed multiplier anywhere in the game."},
    "EASY": {"source_frame": "paytable_easy.png", "rings_outer_to_center": ["X0.5", "X2", "X5", "X10"]}
  },

  "payout_basis": {
    "conclusion": "per_selection (per arrow), NOT per total stake. Each arrow is priced individually via the BET field; ARROWS just sets how many independently-resolved arrows are fired in one volley. Each arrow's personal win = BET(per arrow) x ring_multiplier_hit. The round's displayed TOTAL WIN is simply the sum of every arrow's individual win.",
    "why_not_total_bet_basis": "If the ring multiplier were applied to the full TOTAL BET of the round, a single round could only ever show ONE result (one multiplier applied once). Instead, a single round can and does show MULTIPLE, DIFFERENT ring multipliers paying out simultaneously (see multi_arrow_proof), which is only possible if each arrow is scored independently against its own per-arrow stake.",
    "primary_evidence": {
      "frame": "base_game_win.png",
      "arrows": 1, "bet_per_arrow": 10, "total_bet": 10, "ring_hit": "X0.2 (outer ring, MEDIUM)",
      "printed_win": 2,
      "arithmetic": "printed_win(2) = bet_per_arrow(10) x ring_multiplier(0.2)"
    },
    "two_arrow_same_zone_evidence": {
      "frame": "payout_basis_evidence.png",
      "arrows": 2, "bet_per_arrow": 10, "total_bet": 20, "ring_hit": "X0.2 for both arrows",
      "printed": "Two SEPARATE '+2 $' floating popups (one per arrow), LAST WINS row '(icon) 2 -> 4 $', TOTAL WIN 4",
      "arithmetic": "each arrow pays 10 x 0.2 = 2 independently; 2 arrows -> 2+2 = 4, matches TOTAL WIN"
    },
    "multi_arrow_mixed_zone_proof": {
      "frame": "payout_basis_mixed_evidence.png",
      "arrows": 20, "bet_per_arrow": 10, "total_bet": 200,
      "zones_hit_in_one_round": [
        {"ring": "X10", "hit_count": 2, "zone_subtotal": 200, "per_arrow": "10 x 10 = 100, x2 arrows = 200"},
        {"ring": "X3", "hit_count": 2, "zone_subtotal": 60, "per_arrow": "10 x 3 = 30, x2 arrows = 60"},
        {"ring": "X0.2", "hit_count": 16, "zone_subtotal": 32, "per_arrow": "10 x 0.2 = 2, x16 arrows = 32"}
      ],
      "total_win": 292,
      "arithmetic_check": "200 + 60 + 32 = 292, matches the printed TOTAL WIN exactly",
      "cross_check_frame": "payout_basis_history_mixed.png ('My bet history'): row Bet $200 / Mult. x1.46 / Win $292 -- 292/200 = 1.46 exactly, confirming 'Mult.' shown in bet history is an EFFECTIVE/averaged multiplier over the whole volley, not a single applied multiplier -- itself only possible under a per-arrow payout basis."
    },
    "stake_field_semantics": {
      "BET": "price of a single arrow (per-selection unit stake)",
      "ARROWS": "count of independently-resolved arrows fired in the round (discrete: 1, 2, 3, 5, 10, 20)",
      "TOTAL BET": "the round's aggregate stake = BET x ARROWS (this is the figure logged in 'My bet history' and the figure bounded by the printed Min/Max bet limits, see bet_limits below)",
      "evidence_bet_x_arrows": {"frame": "bet_per_arrow_evidence.png", "detail": "BET stayed at $5, ARROWS incremented 1->2, TOTAL BET followed to $10 = 5x2"}
    }
  },

  "bet_limits": {
    "printed": {"min_bet": 0.12, "max_bet": 200, "currency": "USD", "frame": "rules_p2.png ('Game rules' dialog, 'Bet limits are presented below')"},
    "verified_by_measurement": {
      "min": {"value": 0.12, "how": "BET stepper decremented (60 clicks) until it stopped at $0.12 with ARROWS=1, TOTAL BET=$0.12", "frame": "bet_min_evidence.png"},
      "max_total_bet": {"value": 200, "how": "Two independent paths both cap at TOTAL BET=$200: (a) BET incremented (80 clicks) to $200 with ARROWS locked at 1 (ARROWS stepper visibly disabled once BET=200), frame bet_max_evidence.png; (b) BET=$10 with ARROWS pushed to its own max of 20 also lands on TOTAL BET=$200 exactly, frame total_bet_cap_evidence.png. Conclusion: the true limit enforced by the game is a ROUND-LEVEL total-bet cap of $200, not a $200-per-arrow cap.", "frames": ["bet_max_evidence.png", "total_bet_cap_evidence.png"]}
    },
    "arrows_discrete_steps": [1, 2, 3, 5, 10, 20],
    "arrows_max": {"value": 20, "how": "ARROWS stepper incremented (40 clicks) at BET=$5, stopped at 20 (TOTAL BET=$100)", "frame": "arrows_max_evidence.png"},
    "currency_note": "Demo runs in USD (dollar-sign prefixed throughout); real-money currency at other operators is not evidenced in this client."
  },

  "max_win": {
    "printed_cap": {"value": 20000, "currency": "USD", "frame": "rules_p2.png", "label": "Max win: 20 000 USD"},
    "note": "This is a per-round money cap on total payout, not a multiplier. It does not derive cleanly from a single arrow's arithmetic: at HARD difficulty, a single arrow priced at the max $200 landing in the X1000 center would alone compute to $200,000, far above the $20,000 cap -- so the $20,000 figure must function as a hard clip on the round's paid-out total (or the platform prevents the arrow/stake combination that would exceed it). This mechanism is not explained in either rules dialog and is not directly observable in the captured frames (no round in this set approached the cap); recorded as printed fact only, not verified by an observed clipped payout.",
    "printed_max_ring_multiplier": {"value": 1000, "frame": "paytable_hard.png", "context": "Center ring at HARD difficulty; the highest multiplier printed anywhere in the game."}
  },

  "rtp": {
    "value": null,
    "status": "not stated anywhere in the client",
    "how_checked": "Searched window.env/VITE_* config keys and JWT payload, localStorage/sessionStorage, and full-text/regex search (/rtp[:=]\\s*[0-9.]+/) across all loaded JS bundles (main index bundle + async chunks). Neither the 'How to play?' nor the 'Game rules' dialog print an RTP figure. Honest omission -- not stated in the game client.",
    "external_reference_note": "A third-party catalogue/provider listing page (outside this client) reportedly states an RTP range around 95-97%. This is NOT a game-client reading and must not be treated as equivalent evidence to an in-game printed figure; recorded here only as an external pointer, not as a verified RTP."
  },

  "features": {
    "free_spins": {"present": false},
    "bonus_buy": {"present": false},
    "separate_bonus_round": {"present": false},
    "provably_fair": {
      "present": true,
      "frame": "info.png",
      "dialog_title": "Provably fair settings",
      "ocr_text_verbatim": "This game uses Provably Fair technology to determine game result. Next client (Your) seed: Round result is determined form combination of server seed and first 3 bets of the round. Random on every game: Current: 1aaf3dd762068fd3. Next server seed SHA256: eb7d2e412bb59bcfa28c5b6d60e4b40cd8db1eb38379ab!. You can check fairness of each bet from bets history.",
      "detail_of_note": "The dialog states the round result is derived from a combination of the server seed and the FIRST 3 BETS of the round -- an unusual mechanic detail specific to this provider's provably-fair implementation (worth flagging, not a generic RNG claim). 'form' appears to be a typo for 'from' in the source text (copied verbatim, not corrected)."
    },
    "bet_history": {
      "present": true,
      "frame": "bet_history_evidence.png / payout_basis_history_mixed.png",
      "dialog_title": "My bet history",
      "columns": ["Date (timestamp, e.g. '07:14 17-08-26')", "Bet (round TOTAL BET, dollar-prefixed)", "Mult. (effective multiplier, shown as an orange pill, e.g. 'x0.2' or 'x1.46' for a mixed round)", "Win (round TOTAL WIN, dollar-prefixed)", "a green shield-checkmark icon per row (fairness-verified indicator, links to provably-fair proof)"],
      "pagination": "green 'LOAD MORE' button at the bottom of the list"
    },
    "how_to_play_dialog": {
      "frame": "rules_p1.png",
      "title": "How to play?",
      "ocr_text_verbatim": "1. Choose your bet, difficulty level, and the number of arrows. 2. The higher the difficulty level, the higher the multipliers. 3. Tap the TAP OR HOLD button to launch the arrows. 4. Malfunction voids all pays and plays"
    },
    "game_rules_dialog": {
      "frame": "rules_p2.png",
      "title": "Game rules",
      "subtitle": "Bet limits are presented below",
      "ocr_text_verbatim": "Min bet: 0.12 USD. Max bet: 200 USD. Max win: 20 000 USD. Malfunction voids all pays and plays"
    },
    "not_captured": [
      {
        "claim": "Bonus buy is absent (no purchase-a-feature control anywhere in the UI)",
        "methods": [
          "pixels: full visual review of the control bar and every open dropdown/menu across all captured frames -- no purchase/buy button present anywhere, panel is never cropped or obscured",
          "dom/scene: scripts/scene_probe.py in an idle state enumerated all 28 interactive DOM controls on the page (Difficulty selector, Bet stepper, Arrows stepper, Tap or hold, How to play?, fullscreen, hamburger menu, sound/music toggles, Provably fair settings, Game rules, My bet history, Change avatar) -- none is a purchase/buy control"
        ]
      },
      {
        "claim": "No free spins and no separate bonus round exist -- the game is a single always-the-same-mode target-shooting game",
        "methods": [
          "rules_text: both 'How to play?' and 'Game rules' dialogs, read in full, never mention a bonus round or free spins",
          "pixels: 5+ real rounds captured across all 3 difficulties and multiple arrow counts (1/2/5/20) show only the same target/panel layout each time, with only the ring multiplier values and the LAST WINS breakdown changing -- no alternate mode screen ever appeared"
        ]
      }
    ]
  },

  "settings_menu": {
    "frame": "settings.png",
    "opened_via": "hamburger icon, top right",
    "contents_top_to_bottom": [
      "Player identity row: circular avatar icon + display name (truncated) 'Cyan Occup...' with a green 'Change avatar' link to its right",
      "Sound toggle (pill switch, OFF in this capture -- knob left, grey pill)",
      "Music toggle (pill switch, OFF in this capture -- knob left, grey pill)",
      "'Provably fair settings' menu item (shield icon)",
      "'Game rules' menu item (document icon)",
      "'My bet history' menu item (clock/history icon)",
      "footer: 'Powered by' followed by the provider wordmark 'INOUT' in bold orange/yellow capitals on a dark background"
    ],
    "note": "The footer wordmark is the PROVIDER'S brand (InOut Games), not a separate development studio; no sub-studio credit exists anywhere in the client."
  },

  "unreadable_or_uncertain": [
    "Exact behavioural effect of the FAST GAME toggle cannot be confirmed from static frames alone (likely a shot-animation-speed/skip preference); it is observed to switch itself to OFF right after a shot in several captures.",
    "The mechanism by which the printed $20,000 max-win cap interacts with theoretical per-arrow payouts above that figure (e.g. a single $200 arrow landing on HARD X1000 = $200,000) is not documented anywhere in the client and was not triggered/observed in the captured rounds.",
    "RTP is not stated in the client at all (see rtp section) -- recorded as null, not guessed.",
    "The small balance drift (~$0.30 fluctuations) seen between some screenshots with no player action in between (e.g. bet_min_evidence.png balance vs. neighboring frames) looks like a background demo-balance simulation/animation unrelated to actual bets; it does not affect any of the measured round arithmetic above, which is all cross-checked against printed TOTAL BET / TOTAL WIN / bet-history figures on the same frame, not against balance deltas."
  ],

  "anomalies": [
    "See round_flow.frame_labeling_correction above: win_screen_big.png and payout_basis_mixed_evidence.png manifest notes are swapped relative to actual pictured content; this document describes the actually-visible content of each file.",
    "This is not a reel-based video slot, so reel_layout/paylines/scatter-symbol fields from the standard slot template do not apply; payout_basis is expressed as a measured per-arrow (per_selection) mechanic instead of the standard 4-number single-frame slot evidence block.",
    "Near-duplicate-looking frames (base_game.png vs paytable_hard.png vs paytable_easy.png vs the various win-screen frames) are NOT redundant: they all share the identical static forest/target background art, and only the small printed ring-multiplier numbers and/or the LAST WINS panel content differ between them -- each is individually meaningful and documented above with its own numbers."
  ],

  "logo_generation_inputs": {
    "name": "Forest Arrow",
    "art_style": "Flat-shaded 2D mobile-casual cartoon illustration, painterly cel-shaded style with soft gradients, bright daylight forest setting, frontal/straight-on view of a large wooden archery target, warm wood-brown palette against a cool blue-green outdoor backdrop, cheerful casual mood (see game.art_style above for the full phrasing used).",
    "logo_refs_file": "logo_refs.json",
    "refs_summary": [
      {"what": "small header app-icon badge: wooden target disc with a feathered arrow through it, red/yellow bullseye, teal rounded-square background, no text", "file": "base_game.png", "box": "18,8-58,40"},
      {"what": "lower half of the game's large wooden archery target plus its tripod stand legs, showing the wood-toned concentric rings with no printed text in this region", "file": "base_game.png", "box": "456,430-826,575"}
    ]
  },

  "sources": {
    "frames_reviewed_directly": [
      "base_game.png", "rules_p1.png", "rules_p2.png", "settings.png", "info.png",
      "paytable_hard.png", "paytable_easy.png",
      "base_game_win.png", "payout_basis_evidence.png", "payout_basis_mixed_evidence.png", "win_screen_big.png",
      "bet_per_arrow_evidence.png", "arrows_max_evidence.png", "bet_min_evidence.png", "bet_max_evidence.png",
      "total_bet_cap_evidence.png", "bet_history_evidence.png", "payout_basis_history_mixed.png",
      "_burst_diffopts.png (unlisted burst frame, DIFFICULTY dropdown open)",
      "_burst_multishot15.png (unlisted burst frame, mid-sequence LAST WINS example)",
      "_burst_fastoff.png (unlisted burst frame, FAST GAME toggle OFF state)"
    ],
    "ocr_used": ["base_game.png", "rules_p1.png", "rules_p2.png", "settings.png (crop)", "info.png (crop)", "bet_history_evidence.png (crop)", "paytable_hard.png (crop, low legibility on small text over art)"]
  }
}

API documentation for this slot

Ready-to-run request examples in curl, Python, JavaScript & PHP — plus the full structured-data field reference for this exact slot, on GitHub.