- Ethereum (ETH)
- Solana (SOL)
- Stellar (XLM)
- Avalanche (AVAX)
- Polygon (POLY)
- Celo (CELO)
- Arbitrum (ARB)
- Near (NEAR)
- Base (BASE)
- Aptos (APTOS)
- Ripple (XRPL)
Sending Transfers (Non-Business Account)
When sending non-business account transfers on the aforementioned chains of $3,000 in value or more, the originator’s identity will be required. If you are sending a transfer on behalf of your end-user, you need to provide the identity of your end-user. Otherwise, you need to provide your company’s identity. In technical terms, the originator’s identity is required forPOST /v1/transfers when:
destination.type: "blockchain"destination.chain: "<aforementioned-blockchains>"amount.amount>= $3,000 in value
If the
POST /v1/transfers request requires an originator’s identity and the
transfer does not contain an originator’s identity, the transfer will fail.
You will receive a webhook notification with data.status: fail,
riskEvaluation.decision: denied, and riskEvaluation.reason: 3220.Sending Transfers (Crypto Payouts)
When sending transfers on the aforementioned chains of $3,000 in value or more, the originator’s identity will be required. If you are sending a payout on behalf of someone else, you need to provide the identity of them. Otherwise, you need to provide your company’s identity. In technical terms, the originator’s identity is required forPOST /v1/payouts
when:
destination.type: "address_book"amount.amount>= $3,000 in value
If the
POST /v1/payouts request requires an originator’s identity and the
transfer does not contain an originator’s identity, the transfer will fail.Sending Transfers (Business Account)
Although first-party transfers must comply with the Travel Rule, you do not need to provide your company’s identity each time you make a business account transferPOST /v1/businessAccount/transfers. Instead, Circle will use your
company’s identity stored on file and provide it to the receiving institution as
required.
Receiving Transfers
If yours is a certain type of regulated financial institution, you are subject to additional Travel Rule compliance requirements when receiving transfers. In this case, we will provide you with the originator’s identity for webhook notifications of type transfer in addition toGET /v1/transfers and
GET /v1/transfers/{id}. However, originator data will not be associated with a
transfer until it is marked with a status of complete.
- At this time, not all sending institutions are participating in the on-chain Travel Rule requirement. Therefore, not all transfers valued at $3,000 or more will have the originating person associated.
- If you are a financial institution and do not see the originator’s identity, please reach out to a Circle representative.
Non-bank financial institutions will not see the originator’s identity for
received transfers.
Identities Schema
Example: POST /v1/payouts
Request
Response
Example: GET /v1/payouts?returnIdentities=true
returnIdentities[boolean]: Specify if you would like to see identities in the response. Restricts maximum returned items to 5. By default returnIdentities is false, resulting in the response not returningdata.source.identities.
Response
Example: GET /v1/payouts/{id}?returnIdentities=true
returnIdentities[boolean]: Specify if you would like to see identities in the response. Restricts maximum returned items to 5. By default returnIdentities is false, resulting in the response not returningdata.source.identities.
Response
Example: Webhook Notification
Payload