FIN∫EGRAL

Sign in to the console.

Your role decides what you land on and what you can act on. Sandbox is open the moment you arrive.

or

No password to forget, and none for us to lose. Sign-in links expire in ten minutes; passkeys never leave your device.

New here? Start onboarding · Read the docs

One console, four jobs

Nobody should have to read a stack trace to fund a currency.

{{ r.mono }} {{ r.name }}{{ r.gets }}
Demonstration console — sign in with any method to switch between all four roles.
{{ viewTitle }}{{ viewSub }}
{{ bannerTitle }} {{ bannerBody }} {{ bannerCta }}
{{ emptyTitle }}

{{ emptyBody }}

Open the access review
{{ t.label }} {{ t.value }} {{ t.note }}
Exceptions requiring a humanOrdered by money at risk, not by timestamp live
Exception At risk Users Age Owner SLA
{{ e.what }}{{ e.where }} {{ e.risk }} {{ e.users }} {{ e.age }} {{ e.owner }} {{ e.sla }}
Next step: {{ e.next }} {{ e.action }}

Every exception carries the amount exposed, the count of your users affected, and who it is assigned to. A queue without those three is a notification list.

{{ incidentTitle }}

{{ incidentNote }}

{{ b.label }} {{ b.value }}

{{ incidentBody }}

{{ p.text }}
Ask the agent{{ agentScope }}

{{ askAnswer }}

Transfers needing a decisionSearch by reference, recipient or your own user id
{{ t.dest }}{{ t.id }} {{ t.amount }} {{ t.age }} {{ t.state }}
Where it actually is {{ t.where }} Say this to the customer “{{ t.script }}”
{{ a.label }}

The customer script is written from the transfer's real state, so two agents give the same answer and neither of them guesses. It is never more optimistic than the timeline supports.

Float position by currencyAs at 14:22 GMT · every column reconciles to the ledger, not to an estimate CLOSE NOT BLOCKED
Currency Available In transit Held Next 24h out Cover
{{ f.ccy }}{{ f.market }} {{ f.avail }} {{ f.transit }} {{ f.held }} {{ f.out }} {{ f.cover }}
Cover is available balance against the next 24 hours of scheduled payouts. Below 100% we tell you before the shortfall becomes a failed transfer, and we will not partially fill a batch to hide it. PHP UNDER COVER
{{ u.label }} {{ u.value }} {{ u.note }}
Cutoff clockEvery scheme's real cutoff in its own local time, and how long you have 1 cutoff inside 2 hours
Market and scheme Cutoff, local Time left Shortfall State
{{ c.market }}{{ c.scheme }} {{ c.at }} {{ c.left }} {{ c.short }} {{ c.state }}

A cutoff you missed is not an error we can retry away. This is the one clock in the product that we surface before it matters rather than after.

Fund PHP before 14:00 local

$18,640 short against 31 scheduled payouts. Wire details do not rotate.

{{ w.k }} {{ w.v }}
Copy wire details Pull from MXN surplus
Day close checklist

Close is blocked only by an unexplained variance. Nothing else.

{{ c.name }} {{ c.state }}

{{ closeVerdict }}

Reconciliation breaksOur ledger against the institution's statement, line by line 3 open · $1.10 net variance · 1 held
Reference We expect They report Variance Cause, established
{{ b.ref }}{{ b.bank }} {{ b.expect }} {{ b.actual }} {{ b.variance }} {{ b.cause }}

Every break carries an established cause before it appears here. An unexplained variance stays open and blocks day close — it does not get written off into a rounding account.

Statement ingestion

Where each institution's statement came from, and when it landed

{{ s.bank }} {{ s.via }} {{ s.lines }} {{ s.at }} {{ s.state }}

Two of these institutions still send a file rather than expose an API. We say which, because a treasury team that does not know where its truth comes from cannot sign off on it.

Resolve any id ON EVERY PLAN

Connection, request, payout, user reference or session. We resolve it to the institution, state whose fault it was, whether a retry will work, and what it cost.

{{ probeVerdict }} {{ probeId }} {{ probeTitle }}

{{ probeBody }}

{{ f.k }} {{ f.v }}
The fix{{ probeFix }}
Timeline, as it happened
{{ t.name }}{{ t.detail }} {{ t.at }}
Also affected

{{ probeAlso }}

The institution's own response is shown verbatim. We do not translate a bank error into a generic code and leave you guessing which it was.

Attribute to {{ logCount }}
Request Endpoint Institution Amount ms Code
{{ l.id }} {{ l.endpoint }} {{ l.bank }} {{ l.amount }} {{ l.ms }} {{ l.code }}

Filtered by whose fault it was, because that is the question you are actually asking. Every row names the institution reached, so a bank-side failure is never filed under a generic upstream error.

Webhook deliveriesLast 24 hours · replay any of them, including successful ones 2 UNDELIVERED
Event Your endpoint said Tries Next retry Replay
{{ h.event }}{{ h.id }} {{ h.resp }} {{ h.tries }} {{ h.next }} Replay

We show your endpoint's own response body, not just the status code. Most webhook debugging is one glance at that string, and most providers throw it away.

Endpoint and signing

Rotate the secret without dropping a delivery — both keys verify during overlap.

{{ c.k }} {{ c.v }}
Send a test event Rotate with 24h overlap
Events you are subscribed to

Ordered by how often teams regret not subscribing.

{{ e.name }}

Two you are not subscribed to are the two that matter most in an incident: payout.held and cover.short. Without them your users find out before you do.

Force a failure SANDBOX ONLY

Turn one on and the next matching sandbox call fails that way, with the real error surface and the real timeline. Test the paths you cannot summon in production without waiting for a bad night.

This screen ignores the environment selector. Injection exists only in sandbox, and no switch on this page can arm a failure against real money.

{{ scnSummary }}

Keys {{ keyTag }}
{{ keyValue }}

{{ keyNote }}

Rate limits and headroom

Your real ceiling, not a marketing number. Sandbox is uncapped.

{{ l.endpoint }} {{ l.of }}

At 80% of any ceiling we write to you rather than waiting for the 429 to find your users.

Screening registerBoth parties, the list version screened against, and the rule that decided {{ listVersion }}
Screened List version Rule fired Decided in Outcome
{{ s.who }}{{ s.ref }} {{ s.list }} {{ s.rule }} {{ s.ms }} {{ s.out }}

The list version is the line an examiner asks for and most providers cannot produce. We record which published version each screen ran against, so a decision made last March can be defended with the list as it stood last March.

Consent registerWhat each customer actually agreed to, and when it lapses 23 EXPIRE IN 7 DAYS
Scope granted Connections Expiring 7d Revocable
{{ c.scope }}{{ c.note }} {{ c.n }} {{ c.exp }} IN ONE TAP

Revocation is one call and takes effect immediately, including mid-session. A consent you cannot withdraw was never consent.

Alerts SELF-SERVE

Set these yourself. No account manager, no coordination call, no support tier.

Team and least privilege

Roles, SSO and directory sync on every plan. What each person can move is stated, not implied.

{{ t.mono }} {{ t.name }}{{ t.scope }} {{ t.role }}
Evidence pack INCLUDED

What a regulator or an auditor will ask for, exportable in one action.

{{ e.name }}{{ e.note }} {{ e.fmt }}
Audit log

Who did what, from where. Immutable, and not billed separately.

{{ a.what }}{{ a.who }} {{ a.at }}

Demonstration console on synthetic data. Institution counts are read live from the public directory; balances, variances, latencies and exceptions are illustrative.