Onboarding
You rotate the ICP-Brasil certificate, activate it at BACEN with GEN0006, and test connectivity with a GEN0001 echo. Readiness does not wait for the GEN0006 acknowledgement or the GEN0001 echo. Bank-transfer, return, cancellation, IBS repasse, Conta PI, automatic-transfer, electronic-money, rediscount and compulsory-movement commands check rail readiness before they record anything.
READY and DEGRADED admit commands. PENDING_CONFIGURATION and UNAVAILABLE block them. Readiness evaluates the channel configuration and the certificate state. The channel configuration needs an explicit participant ISPB.
Bank transfers
You declare the typed sender and recipient parties. The platform derives the STR transfer code: STR0004, STR0005, STR0006, STR0007, or STR0008. It persists the operation and the outbound work, and only then dispatches. The rail returns the status
SUBMITTED. It accepted the request, but BACEN did not settle it yet.
Returns and cancellations
A return and a cancellation are both sub-resources of a parent operation. The parent’s id in the request path ties each one to that parent.
- A return (STR0010) gives back a TED credit that you received. The parent is the received credit, in the state
DELIVERED. The return carries the full amount of the credit. While a return of the credit stands, the rail refuses a second one. - A cancellation (STR0011) requires a parent that has not settled:
ACCEPTED,SUBMITTED,SENT, orDELIVERED. When BACEN accepts it, the transfer and the cancellation endCANCELLED. If the rail did not dispatch the transfer yet, it cancels the transfer locally and sends no STR0011. The rail refuses a cancellation while a dispatch is unresolved. A transfer that waits for approval stops when an operator denies it.
IBS repasse
An IBS repasse (STR0053) transfers IBS settlement values from the reserve account to the managing committee. The rail translates the request to the STR0053 message, persists it, and dispatches it. BACEN confirms it asynchronously.
Conta PI liquidity
Two operations move liquidity between an institution’s reserve/settlement account and its Conta PI:
- Aporte (LPI0001) funds the Conta PI from the reserve account.
- Resgate (LPI0003) recalls funds back to the reserve account.
CCME, the same two directions use LPI0002 and LPI0004 and move only the institution’s own funds.
Both return PENDING. The inbound settlement reply (LPI0001R1 to LPI0004R1) moves the operation to SETTLED or REJECTED. Lerian SPB projects the reply value verbatim. GEN0021 operating-window grades are persisted and queryable. They do not impose a generic rejection of every submit outside an operating window. The explicit schedule-related admission rule is RLPI0007: during the additional-aporte window, an aporte to a foreign Conta PI is rejected. Aportes to the institution’s own Conta PI and resgates remain allowed.
Automatic-transfer policy
With LPI0005, you declare the STR automatic-transfer rule for both account classes, RB/CL and CCME, in each message: a percentage or a value. A zero turns off automatic transfer for that class, and a new rule replaces the previous one. BACEN acknowledges it (LPI0005R1) and later reports each automatic transfer it performs (LPI0006). Lerian SPB forwards the reported values verbatim and performs no arithmetic on them.
Approval queue for high-value emissions
The rail classifies each declared amount against half-open configured bands and can apply an override for a specific message type. The selected rule determines the state:
requiredSignatures of 0 sends the emission to SUBMITTED. A nonzero value sends it to PENDING_APPROVAL. At a band ceiling, the next band applies. Above all ceilings, the top-tier requirement applies.
An operator can sign or deny a queued emission. Each signature comes from a different operator, never the maker. An operator replaces the bands and the per-type overrides through the governance API, and the change applies without a restart.
Curated message compose
A catalog-gated compose surface builds an allowlisted STR message type (STR0004, STR0005, STR0006, STR0007, STR0008, STR0046, STR0047, STR0048, STR0052, or STR0053). The chosen type must resolve in the capability catalog and be publicly submittable. Otherwise the rail refuses the request.
Asynchronous single-party queries
Reserve-position and schedule reads return a correlation id with
PENDING. BACEN’s reply arrives asynchronously. You read it back by that correlation id. Lerian SPB projects what BACEN sends and computes no position of its own.
Electronic money
Electronic-money movements (SME) move funds into and out of the conta correspondente a moeda eletrônica (CCME) that an electronic-money issuer holds at BACEN. You declare the kind, and the platform derives the code:
- Deposit (SME0001) funds the CCME from the reserve or settlement account.
- Withdrawal (SME0002) recalls funds out of the CCME.
- Return (SME0004) gives back an entry received in error. It quotes the STR control number of the original entry.
PENDING. The STR settlement reply moves it to SETTLED or REJECTED. An SME0003 query returns the CCME statement asynchronously.
Rediscount
A rediscount (RDC) is BACEN lending against federal securities registered at Selic. You declare the kind, and the platform derives the RDC code.
The operation starts as
PENDING, before BACEN has answered. ACCEPTED means BACEN registered the request, but it is not settled and no settlement fact is emitted. SETTLED means a reserve-account entry exists, with a settlement reference.
Two queries return the unit price of an eligible security (RDC0001) and the open rediscounts of the day (RDC0006).
Compulsory deposits
- A movement transfers funds between the institution’s compulsory deposits at BACEN and its reserve account: a withdrawal (RCO0010) or a deposit (RCO0011). It returns
PENDING, and BACEN’s answer sets its final state. - A filing (RCO0002) declares the compulsory statement for a calculation period. The rail refuses a day outside the declared period. When BACEN’s answer carries the requirement that BACEN computes, the rail records the requirement on the period.
- Queries return the period calendar (RCO0001), a filing read-back (RCO0003), the movement statement (RCO0005), the compliance position (RCO0006), and the cost ledger (RCO0007).
BACEN entries
The rail records each SLB notice from BACEN and lists the charges still owed.
- An SLB0002 payment authorizes the payment of a charge. The amount must equal the full charge. The rail refuses a charge that is settled or withdrawn.
- An SLB0007 payment pays BACEN an amount that no charge demanded, including the return of an SLB0005 credit.
- An SLB0006 query asks for the entries of a date, for one entry, or for every entry due from today.
PENDING_APPROVAL.
Clearing-house settlement
Lerian SPB settles clearing-house obligations at the STR. The platform derives the participant and clearing-house ISPBs and the movement date.
- LDL multilateral settlement: LDL0004 settles the participant’s debit net position for a cycle. LDL0006 returns funds transferred in error. LDL0008 funds the settlement of asset events and issues. LDL0011 moves the clearing house’s current account into its settlement account. LDL0014 funds a deposit at the clearing house.
- LDL0022 makes an operational deposit into SILOC in answer to a deposit-required advisory from SILOC. The rail receives advisories only when
LDL_ADVISORY_CONSUMER_ENABLEDis on. The request names only the advisory, and the rail takes the amount and the period from it. After the STR rejects, cancels, or refuses a deposit, you can deposit the advisory again. The rail refuses a deposit while another deposit for the advisory is live or settled, or after a later recálculo round replaced the advisory. - Card deposits: with the same switch on, the rail also sends the LDL0022 of each card settlement round that a card deposit advisory from SILOC announces. It stores, and does not send, a round whose movement date is not the current one. After the STR rejects, cancels, or refuses a card deposit, an operator can send it again.
- LTR gross or bilateral settlement: LTR0003 moves reserves to another institution and has the STR notify the clearing house. LTR0004 settles the participant’s negotiation result into the clearing house’s account. LTR0006 returns funds transferred in error.
Inbound notices and roster
- The rail records notices (GEN0001, GEN0004, GEN0005, GEN0016R2, GEN0017R2) to a queryable notice log.
- Schedule broadcasts (GEN0021) update the operating-window grades. A re-announced grade for the same reference date replaces the earlier one.
- A responsável roster submission (GEN0019) fully replaces the participant’s roster.
Reconciliation and recovery
The rail opens a reconciliation case when an operation uses all its dispatch attempts or ends with an uncertain outcome. It also opens one when it quarantines an inbound frame. Operators record
ACKNOWLEDGE, RESOLVE, DISMISS, or INVESTIGATE actions against a case. A terminal case accepts no more actions. A cross-rail stuck-operations view lists the items that need attention. It exposes only the actions the rail can perform.
- An operator can replay one quarantined inbound frame through the inbound path. The replay sends no notice of its own to BACEN.
- An operator can ask to close as failed a TED or Conta PI transfer that passed its settlement deadline with no BACEN answer. A different operator approves the close. BACEN is not notified.

