SolvaDocs

Before you start

What an anchor or custodial app needs in place, and who does what, before it publishes its first coverage record.

An institution needs five things in place before it sets up Solva: a Stellar account, a reserve source, an export of customer balances, a passkey and an owner for each part of the work. Work through this list once per institution.

Solva runs on Stellar Testnet, and on Mainnet Coming soon.

What you need

You needWhat it is forToday
A Stellar accountYour issuing or treasury account. Its home domain serves your stellar.toml, where you link your record.Any account you control. On Testnet, Friendbot funds accounts for free.
A reserve sourceThe place your reserve figures come from.A custodian that signs each balance it reports. Reserves held on Stellar are read on chain.
An export of customer balancesWhat you owe each customer, as one balance per customer.Up to 8 customer balances per proof. Larger proofs Coming soon lift the limit.
A passkey on a deviceSigns you in to the console and controls your institution's wallet.A device with Face ID, Touch ID, Windows Hello or a similar built-in authenticator, in a browser over https.
The right peopleEach part has an owner. See Who does what.One signed-in owner per institution in the console.

A reserve source

Solva reads reserves from one of two kinds of reserve source:

  • Attested. A custodian's service signs each balance it reports. Ask your custodian if it can sign balance statements with a P-256 (secp256r1) key.
  • Read on chain. For reserves held in Stellar accounts, the orchestrator reads each balance from the ledger, with no custodian in the path. List the accounts and the asset they hold.

The settings for both are in Connect a reserve source.

An export of customer balances

The export has one row per customer, with your own reference for that customer and the balance you owe them. Balances are whole numbers in the smallest unit of the asset, such as cents. Reserve figures use the same unit. The format is in Load what is owed.

Who does what

RoleOwns
OperationsRuns and schedules cycles. Watches each result and starts the response when coverage drops.
FinanceOwns the reserve figures and the customer balance export. Reconciles the two before each cycle.
ComplianceSubmits the business details (KYB). Reviewed KYB Coming soon follows. Explains a drop in coverage to holders and partners. Owns the public record link.
EngineerProvisions the registry, configures the reserve source and the schedule, and holds the API token.

The console signs in one owner per institution. Team roles Coming soon (owner, compliance, operator and viewer) give each person only the actions their role needs.

Limits to plan for

LimitValue today
Customer balances per proof8
Reserve figures per proof4
Largest single balance18,446,744,073,709,551,615 minor units (an unsigned 64-bit integer)
Reserve growth between cyclesAt most 10 percent. The proof requires 10 × R <= 11 × R_prev.
NetworkStellar Testnet

Check you are ready

Pick the Stellar account whose home domain will carry your stellar.toml.

Confirm with your custodian that it signs balance statements, and get its public key as a PEM file. For reserves on Stellar, list the account addresses and the asset code and issuer.

Produce a test export of customer balances in minor units, and check the total against your books.

Open the console on the device you will use and check that it offers a passkey.
Name an owner for each role in the table above.

Result

You have everything setup asks for.

Next: Set up your institution.

On this page