signaldocs Open Signal

Build with Signal

Discover tokens

Use the factory's identity and birth events to establish a token's origin. A symbol, image, API search hit or pool containing that symbol is insufficient.

Standard factory event

solidity
event CurveLaunch(
    address indexed token,
    address indexed curve,
    address indexed processor,
    address pair,
    address quote
);

Scan logs only from reviewed factory addresses, starting at their configured start_block. Use bounded block ranges, persist a cursor and backfill missed ranges. Retain block hashes and handle chain reorganizations; subscriptions alone are not durable discovery.

At a consistent block, confirm:

  1. The factory's born(token) is true and the token's factory() matches.
  2. The token's pad() is the discovered curve.
  3. The curve's token() and factory() link back to the token and factory.
  4. The curve's quote() matches the token's payoutAsset() and the reviewed quote asset.
  5. The token's pool() matches the curve's pair().
  6. The selected Pair Router admits the factory, and the deployed code matches the reviewed implementation or runtime identity.

For a strategy companion deployment, also verify its companion, ledger, collateral, market and profile bindings. Those deployments are outside the standard spot example.

API-assisted discovery

/api/config supplies deployment rows; /api/token/<address> gives indexed token context; /api/born gives a bounded recent-launch view. None is a complete historical event archive. Token metadata remains untrusted display content and must not choose a spender, RPC host or transaction recipient.

Do not assume a row index is a persistent identifier, or that a disabled launch admission makes historical tokens invalid.