Create an indexer

Every field on the create form: RPC provider, commitment level and your database URL.

Creating an indexer is a single short form at Indexers → New Indexer. Only two fields are required; everything else can be changed later from the canvas without recreating anything. Submitting takes you directly to the visual builder.

The form#

New indexer
FieldTypeDescription
Indexer NamerequiredtextA label for you. It must be unique across your own indexers — reusing a name is rejected rather than silently creating a second one.
Validator RPC ProviderselectWhich of the platform's configured Solana endpoints to stream from. Leave it blank to take the default. You are picking a provider, not typing a URL.
RPC API KeysecretYour own Helius, QuickNode or Triton key, if the endpoint needs one. It is stored encrypted and never shown back to you — the field reads as a placeholder once set, and leaving it untouched keeps the existing value.
Commitment Levelprocessed | confirmed | finalizedHow settled a transaction must be before your indexer sees it. Defaults to confirmed.
Indexer VersionselectThe platform runtime your worker will run. The current default is preselected; leave it alone unless you have a reason not to.
PostgreSQL Connectionrequiredconnection stringYour own database, as postgresql://user:password@host:5432/dbname. This is where every decoded row is written.

Choosing a commitment level#

  • processed — the lowest latency, but the transaction may still be rolled back. Rows you write can turn out to describe something that never finalised.
  • confirmed — the recommended default, and what almost every indexer should use. A good balance of speed and certainty.
  • finalized — the safest and the slowest. Use it when a wrong row is worse than a late one, such as anything driving accounting or payouts.

The database connection#

The connection string is checked before it is accepted. Hosts that resolve to private, loopback or link-local addresses are refused — the worker runs in the cloud, so a database only reachable from your laptop could never receive anything. Use a managed Postgres, or one exposed on a public hostname with TLS.

Syncro creates and migrates only the tables your canvas defines. It will never drop or alter something it did not create, and any migration that would destroy data is shown to you for confirmation first — see schema & migrations.

What is not on this form#

There is no place to enter a program ID or upload an IDL here. Those belong to the canvas, because an indexer can watch a program in several ways and the shape of that is graph-shaped, not form-shaped. Once you land on the canvas, type the program ID into the Program node and use the import options described in importing & AI generation.

Changing settings later#

Every field above stays editable. Open the canvas and click the pencil icon in the toolbar to reopen the same settings — name, provider, API key, commitment level and database URL. Secret fields show as placeholders and are only overwritten if you actually type into them.

Settings changes take effect on the next deploy, not immediately. If the indexer is already running, use Republish to roll the change out.