# Skinloop API > Integrate Skinloop hosted checkout to accept CS2 and Rust skins. - [Skinloop overview](https://docs.skinloop.io/introduction.md): A merchant path from account setup to production checkout. - [Authentication](https://docs.skinloop.io/authentication.md): Use merchant keys safely from your server. - [API keys and scopes](https://docs.skinloop.io/api-keys.md): Create, scope, rotate, and revoke merchant keys. - [First checkout](https://docs.skinloop.io/quickstart.md): Create and confirm a test USD hosted checkout. - [Test to live checklist](https://docs.skinloop.io/production-checklist.md): Move a verified integration from test to live safely. - [Create a hosted checkout](https://docs.skinloop.io/checkout/create.md): Create a server-side checkout session and receive its hosted URL. - [Customer flow](https://docs.skinloop.io/checkout/customer-flow.md): Redirect customers and preserve a safe order state. - [Games and settlement timing](https://docs.skinloop.io/checkout/games.md): Understand CS2 and Rust inventory and completion behavior. - [Checkout status](https://docs.skinloop.io/checkout/status.md): Poll safely and handle every checkout outcome. - [Checkout warnings](https://docs.skinloop.io/checkout/warnings.md): Turn API warnings into clear customer and merchant actions. - [Transactions](https://docs.skinloop.io/transactions.md): Reconcile merchant transaction records. - [Balances](https://docs.skinloop.io/balances.md): Read ledger-derived merchant balances. - [Payouts](https://docs.skinloop.io/payouts.md): Understand eligibility, fees, quotes, and processing time. - [Webhooks overview](https://docs.skinloop.io/webhooks/overview.md): Receive signed, at-least-once Skinloop events. - [Verify webhook signatures](https://docs.skinloop.io/webhooks/signatures.md): Verify the raw request before processing an event. - [Webhook retries and deduplication](https://docs.skinloop.io/webhooks/retries.md): Make webhook processing safe to repeat. - [Idempotency](https://docs.skinloop.io/idempotency.md): Safely retry create requests. - [Errors](https://docs.skinloop.io/errors.md): Handle HTTP errors explicitly. - [Rate limits](https://docs.skinloop.io/rate-limits.md): Retry safely under load. - [USD money representation](https://docs.skinloop.io/usd-money.md): Use integer cents consistently. - [Authenticate a Steam trade URL and return the CS2 inventory](https://docs.skinloop.io/api-reference/checkout/authenticate-a-steam-trade-url-and-return-the-cs2-inventory.md): The trade URL is validated by Skinloop and its SteamID64 is derived server-side. The opaque session token expires after ten minutes and is accepted only as a bearer token on the inventory endpoint. - [Refresh the authenticated CS2 or Rust inventory](https://docs.skinloop.io/api-reference/checkout/refresh-the-authenticated-cs2-or-rust-inventory.md) - [Refresh the authenticated inventory (compatibility method)](https://docs.skinloop.io/api-reference/checkout/refresh-the-authenticated-inventory-compatibility-method.md): Compatibility method for existing checkout clients. New integrations should use GET /v1/checkout/inventory and pass the Steam app ID in the game query parameter. - [Create one non-instant checkout deposit](https://docs.skinloop.io/api-reference/checkout/create-one-non-instant-checkout-deposit.md): Creates a CS2 or Rust deposit from items in the authenticated checkout inventory. A 202 response means dispatch was accepted but the immediate result was uncertain; retain the returned status capability and reconcile by polling the deposit status endpoint. Do not create a replacement deposit unless… - [Retrieve checkout deposit state](https://docs.skinloop.io/api-reference/checkout/retrieve-checkout-deposit-state.md): Requires the deposit-specific status capability in the Bearer Authorization header. This capability remains valid after the checkout session and offer-acceptance deadline expire. - [Create a USD hosted checkout session](https://docs.skinloop.io/api-reference/checkout/create-a-usd-hosted-checkout-session.md): The merchant is derived from the API key. Amounts are integer cents and only USD is supported. - [Retrieve a merchant-owned hosted checkout](https://docs.skinloop.io/api-reference/checkout/retrieve-a-merchant-owned-hosted-checkout.md) - [Retrieve the current checkout status](https://docs.skinloop.io/api-reference/checkout/retrieve-the-current-checkout-status.md) - [Retrieve ledger-derived merchant balances](https://docs.skinloop.io/api-reference/dashboard/retrieve-ledger-derived-merchant-balances.md): Dashboard-session endpoint for Skinloop's first-party merchant UI. It is not an API-key endpoint for unattended merchant server integrations. - [Create a short-lived merchant payout quote](https://docs.skinloop.io/api-reference/dashboard/create-a-short-lived-merchant-payout-quote.md): Quotes are bound to the authenticated merchant user and expire after five minutes. The network fee is an explicit server setting; no quote is returned while it is unavailable. Once accepted, the quoted network fee is locked and Skinloop absorbs any actual-cost variance. This is a dashboard-session e… - [Consume a payout quote and reserve the gross amount](https://docs.skinloop.io/api-reference/dashboard/consume-a-payout-quote-and-reserve-the-gross-amount.md): This creates a manual-review request. Skinloop does not send USDT or claim completion through this endpoint. This is a dashboard-session endpoint, not an API-key endpoint for unattended merchant server integrations. - [Skinloop payment event delivered to a merchant endpoint](https://docs.skinloop.io/api-reference/skinloop-payment-event-delivered-to-a-merchant-endpoint.md): Delivery is at-least-once and the `id` is stable; receivers must deduplicate by event ID. `Skinloop-Signature` is `v1=` over `..`. The timestamp is Unix seconds. Redirects are not followed. ## OpenAPI Specs - [openapi](/openapi.yaml)