Developer-first financial infrastructure
The operational core for transaction-driven products.
Fin-Core gives builders, operators, and evaluation teams a serious path from first integration to adoption-ready financial workflows.
Manual approvals, expiring activation links, and tenant-scoped onboarding keep the path credible from demo to production hardening.
Use Now Guide
Start with the activation email, create a demo transaction, then submit and inspect an execution intent.
Activate
Reveal key and run demo
Execute
Create an intent-backed transaction
SDK
Build the same flow in TypeScript
HTTP
Call the API without an SDK
1. Activate And Run
Approval now creates the tenant automatically and emails the activation link to the request contact from [email protected].
CLI activation smoke
# 1. After approval, open the emailed activation link and reveal the dev key. export FINCORE_BASE_URL="https://YOUR_FINCORE_BASE_URL" export FINCORE_API_KEY="fincore_REVEALED_DEV_KEY" # 2. Verify auth, tenant state, rate limits, and hosted readiness. fincore doctor # 3. Create a visible sandbox transaction and print the console link. fincore demo --idempotency-key demo-001
2. Execute Something Meaningful
fincore demo creates a tenant-scoped sandbox transaction. The execution command goes further by building an approved contract call from an intent definition, submitting it, and returning an execution id.
CLI discovery and execution
# Discover the official rail deployment and supported intent types. fincore deployments list --environment local fincore execute intent-types # Submit a real execution intent against an approved deployment. fincore execute intent \ --type vaultDeposit \ --deployment official-rail-v0-anvil-individual-vault \ --param amount=1000 \ --param asset=USDC \ --idempotency-key vault-deposit-001 # Inspect the returned execution id until it is submitted/confirmed/failed. fincore executions get --execution-id exec_REPLACE_ME
3. TypeScript SDK
SDK demo and execution
import { FinCoreClient } from "@fincore/sdk";
const client = new FinCoreClient({
baseUrl: process.env.FINCORE_BASE_URL!,
apiKey: process.env.FINCORE_API_KEY!,
});
const demo = await client.demo({
idempotencyKey: client.idempotencyKey("demo"),
source: "sdk",
});
console.log("demo tx", demo.data.txId, demo.data.dashboardUrl);
const execution = await client.execution.executeIntent(
{
intentType: "vaultDeposit",
deploymentId: "official-rail-v0-anvil-individual-vault",
parameters: { amount: "1000", asset: "USDC" },
},
{ idempotencyKey: "vault-deposit-001" }
);
console.log("execution", execution.data.executionId, execution.data.status);4. Raw HTTP
Bootstrap and demo transaction
curl -fsS "$FINCORE_BASE_URL/console/bootstrap" \ -H "Authorization: Bearer $FINCORE_API_KEY" curl -fsS -X POST "$FINCORE_BASE_URL/console/demo" \ -H "Authorization: Bearer $FINCORE_API_KEY" \ -H "Idempotency-Key: demo-001" \ -H "x-fincore-source: api"