Review owner allocations with exact accounting.
Current admin sessions and recent operator passkey verification protect routes, costs and daily plans. Merchant API keys have no finance administration authority. Every write requires its original Idempotency-Key and review reason.
01Publish a versioned route
Create up to 20 unique external addresses with positive weights totaling exactly 10,000 basis points. Choose the exact asset, daily cap and operating reserve. A different finance operator approves each version; the new destination delay is 24 hours. Pausing or replacing a route blocks approval of old drafts. Historical addresses remain unchanged.
02Separate estimates from actual accruals
Approved estimates create no ledger entry. An actual cost requires a retained invoice/evidence reference and another operator’s approval, then creates a balanced company expense/payable accrual. It does not pay the invoice. Matching approved actuals replace estimates by exact asset, category and reference. Actual reversals require another independent approval and a linked reversing journal.
03Prepare the UTC daily draft
The restricted scheduler and manual request share one calculation and one active plan per asset/day. Capacity comes from recorded fee earnings minus actual costs, unmatched estimates, operating reserves and earlier active allocations, capped by the route limit. Customer principal is excluded. All allocations retain exact addresses and sum to the original amount.
04Approve a plan without assuming execution
Another finance operator approves the current draft only after earnings and route eligibility are checked again. This approval does not reserve ledger funds, sign or send a transfer. Execution remains unavailable until complete custody/solvency, costs, gas and signing checks are implemented and activated. Spendable distribution is explicitly zero.
05Read actual records and retain recovery identity
GET returns exact per-asset amounts as strings, negative contribution margin where applicable and independent pagination cursors. No cross-asset USD profit is inferred. A lost write response must reuse its original path, body and Idempotency-Key. Refresh authorization and current records before acting.
// Admin-session only. All POSTs require Idempotency-Key.
GET /v1/admin/owner-finance?assetId=ethereum%3Asepolia%3Ausdc
// Use an exact assetId from the registry; follow routesBefore/costsBefore/plansBefore.
POST /v1/admin/owner-finance/routes
POST /v1/admin/owner-finance/routes/{id}/approve
POST /v1/admin/owner-finance/routes/{id}/pause
POST /v1/admin/owner-finance/routes/{id}/reject
POST /v1/admin/owner-finance/costs
POST /v1/admin/owner-finance/costs/{id}/approve
POST /v1/admin/owner-finance/costs/{id}/cancel
POST /v1/admin/owner-finance/costs/{id}/approve-reversal
POST /v1/admin/owner-finance/plans
{ "assetId": "exact-asset-id-from-registry", "reason": "Reviewed current earnings and original destination route." }
POST /v1/admin/owner-finance/plans/{id}/approve
POST /v1/admin/owner-finance/plans/{id}/cancel
// Approval response includes executionReady: false. No broadcast endpoint exists here.Open your workspace