Skip to main content
This guide covers the API flow for on-ramping — delivering stablecoin from your provider balance to a DFNS wallet — using Payins.

Prerequisites

  • Circle Mint enabled for your organization, with provider credentials configured (see dashboard setup)
  • A destination wallet on a supported network
  • Payins:Create and Payins:Read permissions
  • An organization user or service account — delegated end users cannot create payins

Payin lifecycle

1

Register a recipient

: Register payin recipientRegister a wallet’s address as a payin recipient with the provider before delivering funds to it.
Request
Response
The registration must be approved on the provider’s side — for Circle Mint, by an administrator in the Mint Console — before payins to that wallet can be created.
2

Wait for the recipient to be approved

: Get payin recipientCheck the recipient’s status until it is Active. Pass the provider, walletId, and currency as query parameters.
Request
Recipient status values:
3

Create a payin

: Create payinDeliver stablecoin from your provider balance to the wallet on-chain. The currency determines the delivered stablecoin (for example, USD delivers USDC).
Request
Response
The amount is expressed in currency units (for example, "100.00"), not minimum denomination.
4

Track the payin

: Get payin statusPoll the payin to follow its progress. The response carries both the top-level status and the granular data.executionStatus, along with the delivery transactionHash once the transfer is on chain.
Request

Payin statuses

The top-level status values are: The provider-specific data.executionStatus (Circle Mint) refines this: Initializing, AwaitingTransfer, Completed, Failed. On failure, data.reason explains why.

Check provider balances

: List payin balances Retrieve your available balance at the provider, one entry per currency. Pass the provider as a query parameter.
Request
Response

List payins

: List payins List your payins to reconcile deliveries:
Request
Last modified on August 6, 2026