Community-built toolkit for Flare

The typed toolkit for Flare.

One API for every Flare operation — mint, swap, attest, stake — from a script to a React widget to an agent, with the proofs and long waits handled for you.

npm create flare-kit-app
Read the docs
  • TypeScript-first
  • Coston2 + XRPL Testnet
  • MIT licensed
OperationTimelinemock kit

Operation is awaiting external.

  1. Send the XRP paymentyour wallet
    Core vaultrMOCKC…dgerMemo0x46425052…adbeefXRPL paymentMOCK000000…F045A8
  2. Confirm on the XRP Ledgerthe XRP Ledger
  3. Prove the payment through the Flare Data Connectorthe Flare Data Connector
  4. Execute the mintingthe executor
  5. Credit the FAssetFlare
    Recipient0xDeaD…beeF
Waiting Waiting on the Flare Data Connector
Waiting for the Flare Data Connector to finalize the voting round and publish the attestation proof for this payment.
Nothing for you to do yet
This operation is progressing on its own. Your payment is recorded and nothing is at risk while it completes.

The packages

  • @flarekit-dev/coreThe durable operation lifecycle: intent, quote, plan, execution, evidence, recovery. Headless.
  • @flarekit-dev/reactProvider and hooks over the lifecycle. A live kit or the mock, unchanged.
  • @flarekit-dev/react-uiStyled, embeddable widgets — hand-written CSS on the DESIGN.md tokens.
  • @flarekit-dev/contractsTyped ABIs and the one address registry for Flare networks.

Start on the mock

Build the whole flow with no wallet.

The mock is a real seeded state machine, not a set of fixtures. Build and test the entire operation — long waits, partial outcomes, recovery — then change one line of kit construction to go live on Coston2 or Flare mainnet.

Read the quickstart
$ npm install @flarekit-dev/core @flarekit-dev/react @flarekit-dev/react-ui
mock.ts
import { createMockKit } from '@flarekit-dev/core'

// A real, seeded state machine — no wallet, no chain, no funds.
const kit = createMockKit({ seed: 'demo', scenario: 'happy' })

const record = kit.start({
  amountXrp: '25.000000',
  recipient: '0xDeaD…beEF',
  xrplAccount: 'rPT1Sjq…bpAYe',
})

Why it is shaped this way

Built for operations that take time.

A direct FXRP mint spans 8–15 minutes across three actors. The kit is designed around that, not around the happy second.

  1. One lifecycle for every operation

    Mint, swap, attest and stake share one durable record, one spine and one recovery matrix — not a screen each that drifts apart.

  2. It never fakes an outcome

    A submitted operation is never shown as succeeded, and an unknown result is never shown as failed. A partial outcome stays partial.

  3. Long waits are legible

    A multi-chain wait is never a spinner. Every wait names its stage, the actor being waited on, the expected end and your safe action.

  4. Network is configuration

    Testnet first, mainnet-capable. Every address comes from one registry, so moving networks is a change of construction, not a rewrite.

Ship your first Flare operation.

Scaffold an app against the mock, then point it at Coston2 when you are ready.

npm create flare-kit-app
Read the docs