Home Contact
Universal Substratev1.4
/
For agents Markdown

42. Auction, settlement, accounting, mandate, and transfer engine

The social profile can display a live commercial surface only if the economic nouns remain precise. Appraisal, estimate, asking price, standing offer, proxy maximum, leading eligible bid, close price, invoice amount, escrow-provider balance and settled…

Concept & directionLNK

The social profile can display a live commercial surface only if the economic nouns remain precise. Appraisal, estimate, asking price, standing offer, proxy maximum, leading eligible bid, close price, invoice amount, escrow-provider balance and settled consideration are different records produced by different authorities at different times.

#42.1 Economic value and listing semantics

ObjectWho/what produces itWhat it does not prove
Appraisalidentified appraiser/model using a dated comparable set and methodoffer, liquidity, title, future price or guaranteed sale
AskingPriceauthorized seller/listing manageraccepted value or enforceable bid
Offerauthenticated buyer under exact terms and expiryfunds, eligibility, title transfer or auction rank
BidAdmissionserialized auction service after eligibility/terms checkssettlement success or legal title
CloseReceiptlocked auction algorithm at the close fencepayment, inspection, custody, title or persona transfer
SettlementReceiptcompleted saga plus provider assertions and journalsgovernment registry truth beyond cited assertion
Table
Listing is a versioned disclosure and authority package
Listing {
  listingId, subjectAssetId, configurationSnapshotId,
  sellerPrincipalId, sellerAuthorityRecordId, beneficiaryIds[],
  titleAndLienAssertionRefs[], custodyAssertionRefs[],
  conditionDossierDigest, disclosureArtifactDigest,
  includedItems[], excludedItems[], includedRights[], excludedRights[],
  personaDispositionPolicy, jurisdiction, currency, termsDigest,
  inspectionPolicy, settlementProfileId, status
}

Listing state:
  DRAFT -> AUTHORITY_PENDING -> DISCLOSURE_PENDING -> READY -> SCHEDULED
  -> OPEN -> PAUSED -> CLOSE_FENCED -> CLOSED -> SETTLING
  -> SETTLED | NO_SALE | FAILED | CANCELLED | DISPUTED

#42.2 Auction rule set, bid admission, and anti-sniping

Table
Immutable bid and admission records
AuctionRuleSet {
  ruleSetId, auctionMode: DIRECT_ASCENDING|PROXY_MAXIMUM|SEALED,
  currency, openingAt, initialCloseAt, hardStopAt?,
  minimumIncrementFunction, tieRule, reservePolicy,
  bidderEligibilityPolicy, depositPolicy?, antiSnipingWindow?,
  extensionDuration?, maximumExtensions?, bidWithdrawalPolicy,
  pausePolicy, cancellationPolicy, visibilityPolicy,
  settlementProfileId, ruleSetDigest
}

BidIntent {
  bidId, auctionId, bidderPrincipalId, bidderAgentId?,
  amountMinor, maximumProxyMinor?, currency, termsDigest,
  confirmationArtifactId, depositHoldId?, clientCreatedAt,
  submittedAt, idempotencyKey, bidDigest
}

BidAdmissionReceipt {
  bidId, auctionId, auctionStreamSequence, trustedReceivedAt,
  eligibilityDecisionId, fundsDecisionId?, admittedAmountMinor,
  encryptedProxyMaximumRef?, ruleSetDigest, bidDigest,
  status: ADMITTED|REJECTED, reasonCode?
}
Table
Deterministic extension rule
if trustedReceivedAt < currentCloseAt
   and trustedReceivedAt >= currentCloseAt - extensionWindow
   and bidAdmission == ADMITTED:
  newCloseAt = min(hardStopAt,
                   max(currentCloseAt, trustedReceivedAt + extensionDuration))
  append AuctionExtended(triggeringBidId, previousCloseAt, newCloseAt,
                         ruleSetDigest, auctionStreamSequence)

The close boundary is strict: trustedReceivedAt < currentCloseAt.
Client clocks, feed order, UI refresh and notification delivery do not rank bids.
  • The reserve is signed/encrypted or independently witnessed before opening. The seller cannot select or change it after observing admitted bids.
  • Public projections pseudonymize bidders and never reveal proxy maxima, excluded-account relationships, deposits, funding checks or exact device/network features.
  • A bid is immutable. Withdrawal, seller/related-party exclusion, deposit failure and administrative invalidation append separate records with evidence and appeal semantics.
  • Proxy bidding stores the authenticated maximum encrypted from public/read models. The close algorithm computes the visible price from eligible maxima, increment function and locked tie rule.

#42.3 Linearizable close and winner selection

Table
Per-auction serialized close transaction
closeAuction(auctionId, expectedStreamHead):
  begin SERIALIZABLE transaction
  auction = lock auction stream
  require auction.streamHead == expectedStreamHead
  require auction.state in {OPEN, PAUSED_AS_CLOSEABLE}
  require trustedNow >= auction.currentCloseAt

  append CloseFence(fenceSequence=nextSequence,
                    trustedCloseTime, ruleSetDigest)
  bids = ADMITTED bids with admissionSequence < fenceSequence
  eligible = reevaluate locked close-eligibility policy over bids
  result = lockedAlgorithm(eligible, reserveCommitment,
                           incrementFunction, tieRule)
  append AuctionCloseReceipt(
    closeFenceSequence, exactEligibleBidIds, excludedBidFindings,
    winnerBidId?, closingPriceMinor?, reserveDisposition, noSaleReason?,
    algorithmDigest, resultDigest)
  transition to CLOSED or NO_SALE
  commit

Only AuctionCloseReceipt selects the winner. A later higher offer, payment order,
feed order, seller preference or appraisal cannot replace it.
Table
Payment, escrow, inspection, custody, title, persona and rights do not collapse
SettlementSaga {
  settlementId, auctionCloseReceiptId, buyerPrincipalId, sellerPrincipalId,
  beneficiaryIds[], settlementProfileId, purchaseAgreementDigest,
  paymentIntentId?, escrowProviderId?, escrowOperationId?,
  titleAndLienCheckIds[], inspectionDecisionId?, taxAndFeeQuoteId?,
  documentExecutionIds[], custodyHandoffId?, titleTransferAssertionId?,
  personaDispositionId?, rightsDispositionIds[], milestoneStates[],
  compensationIds[], disputeId?, finalReceiptId?
}

Milestones:
  PREFLIGHT -> BUYER_IDENTITY_VERIFIED -> SELLER_AUTHORITY_VERIFIED
  -> TITLE_AND_LIEN_REVIEWED -> FUNDS_AUTHORIZED -> FUNDS_IN_ESCROW
  -> INSPECTION_PASSED|WAIVED|FAILED -> DOCUMENTS_EXECUTED
  -> CUSTODY_HANDOFF_CONFIRMED -> TITLE_TRANSFER_EXTERNALLY_ASSERTED
  -> ACCEPTANCE_CONFIRMED -> FUNDS_RELEASED -> COMPLETE

Incomplete milestone -> SUSPENDED -> COMPENSATING
  -> REFUNDED | PARTIALLY_COMPENSATED | DISPUTED | OPERATOR_REQUIRED
Table
External legal authority remains external
The platform does not claim to provide regulated escrow unless the responsible entity is authorized to do so. Payment success does not transfer title. Custody does not transfer persona, voice, media, telemetry or profile rights. Registry output is an attributed assertion, not a fact manufactured by the platform.

#42.5 Double-entry subledger and exact money

Table
Canonical accounting invariants
LedgerAccount {
  accountId, legalAccountHolderId,
  accountType: ASSET|LIABILITY|EQUITY|REVENUE|EXPENSE|MEMORANDUM,
  currency, providerRef?, restrictedPurpose?, status
}

JournalBatch {
  journalBatchId, economicEventId, journalPolicyDigest,
  status: DRAFT|VALIDATED|POSTED|REVERSED,
  bookedAt, effectiveAt, currencyGroups[], lines[], sourceReceiptIds[],
  reversalOf?, periodId, postingDigest
}

JournalLine {
  lineId, accountId, currency, debitMinor, creditMinor,
  vehicleId?, personaId?, missionId?, beneficiaryId?,
  providerRef?, taxCodeRef?, revenueShareRef?
}

For each currency group: sum(debitMinor) == sum(creditMinor).
Each line has exactly one positive side. Posted batches are immutable.
Corrections append a full/partial reversal and a replacement. One economic event
has at most one active posted batch under one journal policy.
Example eventDebitCredit
buyer funds EUR 100,000Cash—regulated provider 100,000Liability—buyer funds held 100,000
allocate settlementLiability—buyer funds held 100,000Payable—seller 95,000; platform revenue 4,000; tax payable 1,000
seller payoutPayable—seller 95,000Cash—regulated provider 95,000
platform transferCash—operating 4,000Cash—regulated provider 4,000
tax remittanceTax payable 1,000Cash—regulated provider 1,000

The example demonstrates mechanics, not prescribed legal or tax treatment. Currencies balance independently. FX uses explicit balanced currency groups through an FX-clearing account with rate source, quotation direction, timestamp, spread/fee and realized/unrealized treatment. Binary floating money is forbidden.

#42.6 Economic mandates and atomic reservations

Table
Concurrent actions cannot overspend a mandate
EconomicMandate {
  mandateId, principalId, beneficiaryId, agentInstanceId,
  allowedActionKinds[], allowedCounterparties[], allowedMerchantCategories[],
  prohibitedCounterparties[], perActionLimitsByCurrency{},
  periodLimitsByCurrency{}, rollingWindowPolicy, confirmationThresholds{},
  maximumOpenReservations, validInterval, mandateEpoch
}

BudgetReservation {
  reservationId, mandateId, actionId, currency, amountMinor,
  status: HELD|CONSUMED|RELEASED|EXPIRED|DISPUTED,
  heldAt, expiresAt, consumedByEconomicEventId?
}

lock mandate counter
if postedUsage + activeReservations + requestedAmount > periodLimit: reject
else append HELD reservation and increment active reservation total atomically

#42.7 Unknown-effect reconciliation and exactly-once economics

Table
Provider uncertainty remains explicit
reconcile(operationId):
  lock operation stream
  if state != UNKNOWN_EFFECT: return current state
  evidence = query provider by immutable providerOperationId or idempotencyKey
  verify provider identity, signature, schema and correlation

  if provider proves success:
    append EffectConfirmed
    create entitlement/payment/market records exactly once
    post journal exactly once; consume reservation; settle action
  elif provider proves no effect:
    append ProvenNotEffected; release reservation
    retry only if proposal, confirmation, grants and connector policy remain valid
  elif evidence conflicts or reconciliation deadline passes:
    append OperatorRequired; preserve reservation or book explicit exposure
    prohibit automatic retry

Webhook and poll races converge on one provider operation, economic event and
active journal batch. Timeout never means failure; ambiguous not-found never
authorizes blind retry for a non-idempotent provider.

#42.8 Asset transfer and persona succession saga

Table
Transfer is a coordinated revocation and succession transaction
TransferPlan {
  transferPlanId, assetId, transferorPrincipalIds[], transfereePrincipalIds[],
  titleDisposition, custodyDisposition, profileAdministrationDisposition,
  personaDisposition: TRANSFER|RETAIN|LICENSE|FORK|RETIRE,
  followerGraphDisposition, historicalContentDisposition,
  mediaRightsDisposition, telemetryAndPrivateDataDisposition,
  outstandingListingIds[], outstandingAuctionIds[], outstandingActionIds[],
  scheduledPublicationIds[], economicMandateIds[], providerCredentialRefs[],
  legalHoldRefs[], effectiveAt, approvalRequirements[], state
}

DRAFT -> COUNTERPARTIES_VERIFIED -> RIGHTS_RESOLVED
  -> OUTSTANDING_EFFECTS_RESOLVED -> QUIESCING -> HANDOVER_COMMITTED
  -> EPOCHS_ADVANCED -> CREDENTIALS_ROTATED
  -> PUBLIC_SUCCESSION_DISCLOSED -> COMPLETE

Any pre-commit state -> ABORTED
Any unresolved post-effect state -> OPERATOR_REQUIRED
  • EPOCHS_ADVANCED invalidates sale, publication, spending and profile grants; active sessions/tokens; provider credentials/webhooks; cached decisions; scheduled content; campaigns; unconsumed confirmations; recovery delegates and prior-steward invitations.
  • Historical content retains original creator, source, rights and publication receipts. Followers receive an explicit transfer, licensed continuation, fork or retirement notice instead of a silent account takeover.
  • Title, custody, profile administration, persona, follower graph, media, voice, telemetry, private data and economic rights each receive an explicit disposition; an omitted disposition blocks completion.
  • Autonomous earning or service operation remains a mandate-bound workflow for named beneficiaries and accountable principals. The vehicle persona does not own money merely because it generates revenue.