Network protocol
What a participant connects to
Ultraner Network is a protocol, not a gateway. A participant declares what it can do, the network routes to it, and a transaction moves through a state machine that both sides can read at any moment. This page is the vocabulary: the capabilities, the lifecycle, and what certification asks. It describes what the network does today, not what it intends to do.
The 8 capabilities
A participant declares its capabilities when it joins. Routing only ever considers a participant for something it has declared and certified, so a bank that cannot pay out is never offered a payout, rather than being offered one and failing.
- collect
- Take money from an account this participant holds.
- payout
- Deliver money into an account this participant holds.
- account_lookup
- Confirm an address exists, and whose it is, before anyone sends to it.
- transfer
- Move money between two accounts the participant holds itself.
- reversal
- Undo an authorization before the money has been delivered.
- refund
- Return money that has already been delivered, as a new movement.
- quote
- State a fee and an expected speed before a transaction is committed to.
- status
- Answer, at any time, what happened to a transaction it was given.
Who can be a participant
A participant is not a merchant. It has its own identity, its own credentials and its own entry in the directory, and it is one of these 9 kinds of organisation.
Standing on the network
A participant starts pending and reaches active only by passing certification. Suspension takes it out of routing without deleting its history, because its settled obligations outlive its access.
The 18-state transaction lifecycle
Not success and failed. Every network transaction carries an immutable network reference, separate from either participant's own reference, and sits in exactly one of these states. Each non-terminal state has a timeout, so nothing is ever left open indefinitely.
- 1
created
Accepted from the originating participant and given a network reference.
- 2
validating
Checked for shape, amount and currency before anyone is contacted.
- 3
authenticating
The originator is proven to be who the credential says.
- 4
routing
A path to the destination participant is chosen.
- 5
authorized
The destination has agreed to accept it. No money has moved.
- 6
processing
In flight to the destination.
- 7
destination_accepted
The destination confirms the money has landed.
- 8
settled
The obligation between the two participants is recorded.
- 9
reconciled
Both sides agree the settlement is complete. Nothing follows this.
The forward path. Money has not moved at authorized, which is the distinction most integrations collapse.
Everything else a transaction can become
pending
Waiting on a participant that has neither accepted nor refused. Async rails sit here.
disputed
Settlement is frozen pending adjudication.
declined
timeout
No answer within the state's limit. Never left open indefinitely.
rejected
reversed
Undone before delivery. The funds never left.
refunded
Returned after delivery, as a new movement against a new obligation.
expired
failed
marks a terminal state: 8 of the 18 states have nothing after them.
The 17 certification tests
A connector runs against a simulated counterparty before it carries live money. These are the actual tests, published so an operator deciding whether to connect knows exactly what it will be asked to prove rather than discovering it mid-onboarding. Half of them are about failing correctly, which is the part that separates a rail you can reconcile from one you cannot.
Reachability
- Responds to a health check
Knowing who the money is for
- Resolves a valid recipient address
- Reports an unknown recipient as unreachable
Saying what it costs first
- Returns a quote with a fee and an estimated speed
Moving the money
- Authorizes and executes a valid payment
- Issues its own external reference for a payment
- Declines a payment the sender cannot fund
- Rejects a malformed payment instead of guessing
Failing honestly
- Reports a destination timeout as a timeout
- Reports a declined payment as declined
- Handles a status lookup for an unknown reference
Undoing it
- Reverses an authorized payment and returns the funds
- Refuses to reverse money already delivered
- Refunds an accepted payment
- Refuses a refund larger than the original payment
Accounting for it
- Reports the status of a known payment
- Produces a settlement report for a period
What the directory answers
Discovery is how a participant finds a route without negotiating a bilateral integration first. It is deliberately not a public database of everyone connected.
Discoverable
- Which participants operate in a given country
- Which currencies a participant can settle in
- Which capabilities a participant declares
- Whether a participant is certified, and when
Never exposed
- Legal entity details
- Connector configuration and credentials
- Commercial terms and fees
- Transaction volumes and counterparties
Address resolution is authenticated, not public: asking the network who holds a phone number is an operational question, and an open endpoint answering it would be a directory of other people's customers.