Settlement And Suspension

Review balances, unwind exposure, and close resources deliberately.

This workflow covers the tail of the lifecycle: balance review, liquidity return, governance cleanup, and resource suspension or closure across clients, accounts, and actors.

Operational Sequence

1. Inspect balances and recent operation state

Operational review. Start with actual owner balances and recent operation state before changing lifecycle or access. This avoids suspending resources while financial exposure is still unresolved.

Request URL

GET
GET https://business-api.youhodler.com/master-accounts/22222222-2222-4222-8222-222222222222/balances?asset=USDC

Request URL

GET
GET https://business-api.youhodler.com/withdrawals?account_ref=client-accounts/aaaaaaa1-aaaa-4aaa-8aaa-aaaaaaaaaaa1&page_size=20

Response

application/json
{
  "items": [
    {
      "asset": "USDC",
      "available": "742500.00",
      "pending_in": "0.00",
      "pending_out": "0.00"
    }
  ]
}

If both enterprise and client balances are in scope, read both before deciding which balances should be returned, settled, or left in place.

2. Return or rebalance liquidity

Internal transfers and withdrawals. Return client-scoped balances to the desired operating boundary before closing accounts or removing access. Rebalancing first keeps lifecycle changes from masking stranded funds.

Request URL

POST
POST https://business-api.youhodler.com/internal-transfers

Request Body

application/json
{
  "amount": {
    "amount": "50000.00",
    "currency": "USDC"
  },
  "source_ref": "client-accounts/aaaaaaa1-aaaa-4aaa-8aaa-aaaaaaaaaaa1",
  "target_ref": "master-accounts/22222222-2222-4222-8222-222222222222"
}

Response

application/json
{
  "id": "13131313-1313-4131-8131-131313131313",
  "family": "internal_transfer",
  "status": "processing",
  "account_ref": "master-accounts/22222222-2222-4222-8222-222222222222",
  "principal_amount": {
    "amount": "50000.00",
    "currency": "USDC"
  },
  "fee_summary": null,
  "failure_reason": null,
  "approval_ref": null,
  "subject_attribution": {
    "subject_ref": "enterprises/11111111-1111-4111-8111-111111111111"
  },
  "family_params": {
    "source_ref": "client-accounts/aaaaaaa1-aaaa-4aaa-8aaa-aaaaaaaaaaa1",
    "target_ref": "master-accounts/22222222-2222-4222-8222-222222222222"
  },
  "created_at": "2026-04-28T14:03:01.000Z",
  "updated_at": "2026-04-28T14:03:01.000Z"
}

The same family can rebalance liquidity between internal account boundaries or return balances back to the enterprise treasury perimeter.

3. Resolve approvals and inspect event consumers

Governance cleanup. Before lifecycle shutdown, check for pending approvals and review recent event flow. This prevents closing a resource while governance or downstream consumers still expect activity.

Request URL

GET
GET https://business-api.youhodler.com/approvals?status=pending

Request URL

GET
GET https://business-api.youhodler.com/events?aggregate_type=client&aggregate_id=88888888-8888-4888-8888-888888888888

Response

application/json
{
  "items": [],
  "next_page_token": null
}

If lifecycle changes need to be auditable, pair approval review with event review so operator actions and system state remain correlated.

4. Suspend or close resources

Lifecycle transitions. Suspend or close clients and client accounts only after the financial boundary is under control. Apply the lifecycle sequence intentionally instead of broad revocation first.

Request URL

POST
POST https://business-api.youhodler.com/clients/88888888-8888-4888-8888-888888888888/suspend

Request Body

application/json
{
  "reason": "Downstream operating perimeter is being offboarded after balance exit."
}

Request URL

POST
POST https://business-api.youhodler.com/client-accounts/aaaaaaa1-aaaa-4aaa-8aaa-aaaaaaaaaaa1/suspend

Response

application/json
{
  "id": "88888888-8888-4888-8888-888888888888",
  "resource": "client",
  "status": "suspended",
  "parent": "enterprises/11111111-1111-4111-8111-111111111111",
  "external_id": "client-acme-retail-eu",
  "display_name": "Acme Retail Europe",
  "default_client_account": "client-accounts/99999999-9999-4999-8999-999999999999",
  "metadata": {
    "segment": "retail",
    "region": "eu"
  },
  "created_at": "2026-04-28T13:12:01.000Z",
  "updated_at": "2026-04-28T14:08:44.000Z",
  "etag": "W/\"client-4\""
}

Suspension is useful when the resource may return later. Closure is the stronger terminal state and should usually come after a successful wind-down.

5. Revoke access surfaces

Final access cleanup. Revoke service accounts and other access paths only after financial state, approvals, and lifecycle posture have been intentionally wound down.

Request URL

POST
POST https://business-api.youhodler.com/service-accounts/33333333-3333-4333-8333-333333333333/revoke

Request Body

application/json
{
  "reason": "Tenant offboarding is complete. Revoke non-human execution access."
}

Response

application/json
{
  "id": "33333333-3333-4333-8333-333333333333",
  "resource": "service_principal",
  "status": "revoked",
  "parent": "enterprises/11111111-1111-4111-8111-111111111111",
  "capabilities": [
    "users.read",
    "users.write",
    "policies.read",
    "policies.write"
  ],
  "scope": [
    {
      "target": "enterprises/11111111-1111-4111-8111-111111111111",
      "extent": "perimeter"
    }
  ],
  "profile": "backend-integration",
  "external_id": null,
  "created_at": "2026-04-28T12:49:56.000Z",
  "updated_at": "2026-04-28T14:11:03.000Z",
  "etag": "W/\"service-principal-5\""
}

Access revocation is the last perimeter action. If it happens too early, the integration can lose the ability to inspect, reconcile, or finish closure safely.