Skip to main content

Registering a Parcel

Pick any spot on the world map, draw a shape around it, and it's yours. The app checks the geometry, shows you the price, and you confirm a single transaction. Once registered, your place appears on the map for everyone — name it, design how it looks, expand it, or trade it.

Overview

The registration process has three major stages: drawing geometry on the map, validating it client-side and decomposing it into convex parts, and submitting an on-chain transaction.

Step 1 — Enter Drawing Mode

Open the sidebar and navigate to the Register panel. Click Start Drawing. The cursor changes to a crosshair, and the app enters the drawing_patch phase. You do not need a connected wallet yet — draw first and connect when ready to submit.

In drawing mode, map clicks place vertices instead of selecting parcels. The sidebar shows live stats: Points count and running Area estimate (once you have at least three vertices).

tip

Zoom to street level before drawing. Finer zoom gives more precision for placing vertices.

Step 2 — Drawing Your Polygon

Click on the map to place vertices one by one:

  • After two points, a line segment appears.
  • After three or more, the shape closes automatically and shows a shaded fill.

Adjusting Vertices

Hover over any placed vertex — the cursor changes to a grab hand. Drag to reposition. The outline and area update in real time.

Snapping to Existing Parcels

When you draw near an already-registered parcel, the app offers snap assistance:

  • Vertex snap — within 22 pixels of an existing vertex, your click locks to that exact on-chain coordinate.
  • Edge snap — within 16 pixels of an existing edge, your click locks to the nearest valid grid point along that edge.

Snapping matters because on-chain geometry uses a fixed-point integer grid. Shared boundaries must be identical down to the last digit. The snap system guarantees this. Snapped shared edges are also required for future expand and rebalance operations.

warning

Snapping is critical for future expand and rebalance operations. If shared boundaries are not snapped exactly, those operations will fail later even though registration itself may succeed.

tip

When drawing next to existing parcels, always snap to their boundary vertices. Freehand points nearby cause tiny overlaps or gaps that fail validation.

Step 3 — Validation Rules

The app validates your polygon continuously. If a rule is violated, a warning appears in the sidebar with a fix suggestion. Hover over highlighted vertices or orange edges for contextual tooltips.

Your polygon must be simple (no self-intersections), within the level's area limits, compact (no thin spikes), and non-overlapping with existing parcels. For the complete technical specification of every rule and error code, see Geometry Rules → Per-Part Rules.

The full validation rules are:

  • No self-intersections. Edges must not cross. The app highlights offending edges.
  • Minimum area. Must meet the level's minimum (shown in the sidebar, e.g., "10 km^2 — 500 km^2").
  • Maximum area. Must not exceed the level's maximum.
  • Minimum edge length. Every edge must be at least 1 meter on-chain.
  • Compactness. Extremely thin or elongated shapes are rejected.
  • No overlap. Must not overlap any existing parcel at the same hierarchy level. The app shows conflicting parcel IDs if a collision is found.
  • Convex decomposition. The protocol stores polygons as a union of convex parts (up to 10). The app decomposes your shape automatically. If decomposition fails (shape too complex), simplify the outline — fewer vertices, less concavity.

The following diagram shows the full validation pipeline that runs continuously while you draw:

While any rule is violated, the Complete button stays disabled.

Step 4 — Complete and Preview

When validation passes, press Complete in the bottom map bar. The app shows a registration card with the parcel's level, area, price, and decomposition details.

The preview card shows:

FieldDescription
LevelHierarchy level (e.g., District, Region) set by the Index you register in. Your area must fall within that level's bounds.
Total AreaArea in square meters or square kilometers.
PerimeterTotal boundary length.
Convex partsNumber of convex sub-polygons (visible on hover).
Total PriceSUI cost to register.
Hierarchy PoolPortion distributed to owners of parent-level parcels covering this area.

The price is P=A×RP = A \times R, where AA is the parcel area and RR is the level's price per km². Registration itself carries no premium markup and is charged at 1x. But once the parcel is minted, the stored buyout state advances immediately to the first resale rung (2.95x), so the next buyer already sees a higher price. See Pricing → Registration Price for the full formula and Hierarchy → Six Hierarchy Levels for how levels are determined.

If the price or area looks wrong, press X to return to drawing mode and adjust.

Step 5 — Confirm the Transaction

Click REGISTER on the preview card. If your wallet is not connected, the app prompts you to sign in first.

What happens during submission:

The submission proceeds in four steps:

  1. Transaction construction. The app builds a Sui Move call to the Market V2 contract, encoding your polygon's convex parts (integer X/Y coordinate arrays), the index ID, and a payment coin split from your balance.
  2. Wallet approval. Your wallet shows a confirmation dialog with transaction details and gas estimate. Review and approve.
  3. On-chain execution. The Sui network validates geometry on-chain (SAT collision detection, area enforcement, multipart topology) and mints the parcel. Gas fees are typically a fraction of a SUI.
  4. Confirmation. A success toast appears, and the drawing state resets.
info

Registration is atomic — it either fully succeeds (parcel minted, payment split, events emitted) or fully reverts with no on-chain side effects. If it reverts, your payment coin is returned. Gas is still consumed by any failed transaction on Sui.

If the transaction fails (e.g., someone registered an overlapping parcel between your preview and submit), the app shows the error and returns you to the preview to adjust or retry.

The sidebar displays a step indicator during submission: preparing the transaction, waiting for signature, waiting for confirmation. Keep the tab open until complete.

After Registration

Once confirmed:

  • Your parcel appears on the map with a thicker border indicating ownership.
  • The parcel is listed in your parcel list in the sidebar.
  • Its next buyout price is already above the registration quote. The protocol seeds the first resale rung immediately after register.
  • Paint under your shape moves into your visual layer. Anything painted on the public canvas inside your new boundary is cropped and pre-filled into the editor as a starting image. See Paint → From paint to ownership.
  • Make it yours. Name your parcel, tell its story, draw on it, or upload artwork. See Name & Visual Layer.
  • The parcel enters the market. It can be expanded, rebalanced, or bought by another user. See Buying a Parcel and Territory Operations.
Tips for Drawing Good Polygons
  • Use fewer vertices. Simpler shapes decompose into fewer convex parts and cost less on-chain. Four to eight vertices cover most practical shapes.
  • Avoid narrow spikes. Thin protrusions fail the compactness check and are hard to decompose.
  • Snap shared boundaries. If your parcel borders an existing one, snap every shared vertex. Required for future expand and rebalance operations.
  • Stay within the level's area range. Check the sidebar tag before you finalize.
  • Zoom in for precision. At wide zoom, a single pixel covers hundreds of meters. Zoom to street level for accurate placement.

See also: Getting Started · Geometry Rules → Per-Part Rules · Pricing → Registration Price · Territory Operations · Name & Visual Layer → Setting a Name