Ship geofencing in minutes

On-device geofencing for Flutter and React Native. No tracking vendors, no external calls.

Open source core·MIT licensed·949+ tests·Free for development
$ flutter pub add polyfence
Flutter
React Native
REST API
CLI

See it in action

Draw a zone, sync to a device, get events in real-time.

polyfence.io/map
Zones
London Office

How it works

STEP 01

Draw zones

Define circles and polygons on the map editor or via API

STEP 02

Sync to devices

SDKs download zone data automatically

STEP 03

On-device geofencing

Everything runs locally. No external calls

STEP 04

Monitor performance

Real-time analytics on detection speed, battery, accuracy

Privacy-first

Everything runs on-device. Zero external calls. Easy to explain and defend in privacy reviews.

Unlimited zones

Circles and polygons. No native API limits. Model complex geofences without server-side hacks.

Production-ready

Built for real apps: robust error handling, debug hooks, and clear lifecycle events.

Battery optimized

Smart GPS profiles and proximity-based updates so you stay efficient without missing events.

Works with your stack

Flutter, React Native, REST API, or CLI. Pick your integration.

# pubspec.yaml
dependencies:
  polyfence: ^0.13.0

// main.dart
import 'package:polyfence/polyfence.dart';

await Polyfence.instance.initialize();

final zone = Zone.circle(
  id: 'office',
  name: 'London Office',
  center: PolyfenceLocation(51.5074, -0.1278),
  radius: 200,
);

await Polyfence.instance.addZone(zone);
await Polyfence.instance.startTracking();
<50ms
Detection latency
100%
On-device processing
949+
Tests across repos
MIT
Open source core
@polyfence

Fleet tracking, livestock monitoring, security perimeters, compliance zones, and more. See use cases →

Start building in 5 minutes

Free for development. No credit card required.

Get Started Free