Welcome to Hatched
Getting Started with CrossBill APIThe CrossBill API provides an interface for initiating and tracking fiat-to-crypto transactions.
Each transaction is represented by an Order, which records the state of the operation throughout its lifecycle. Orders are created and accessed through the API, allowing clients to initiate a transaction and retrieve its current status.
The system coordinates the processing of the transaction, including the interaction between fiat payment confirmation and on-chain execution. The API exposes endpoints required to create orders and track order status.
The API also includes KYC endpoint used to submit user identification data. Submitted KYC information is processed and stored by the platform.
Base URLs
Service Base URL Orders https://api.crossbill.comKYC https://kyc.crossbill.comAll order endpoints (
/orders/*) are served fromhttps://api.crossbill.com. The KYC endpoint (/kyc/add) is served fromhttps://kyc.crossbill.com.
Transaction LifecycleA fiat-to-crypto transaction progresses through several stages coordinated by the platform.
- Order creation — The merchant creates an on-ramp order on behalf of the end user via the
POST /orders/createendpoint.- Payment instructions — The merchant retrieves the fiat payment details for the end user, including the SEPA reference, via the
GET /orders/{uuid}/payment-detailsendpoint.- Token release — Once the end user completes the SEPA payment using the provided reference, the tokens are automatically released to the specified wallet address.
The current state of the transaction can be retrieved at any time using the order status endpoint.
AuthenticationNo authentication is required at this time.
How It Works
Step 1 — Submit KYC DataBefore an order can be created, the end user must be registered through the KYC endpoint. The response returns a complete KYC object along with the end user's UUID, which should be stored and used later as
kycClientUuidwhen creating an order.
- Endpoint:
POST /kyc/add- Purpose: Submit the end user's identification data required for compliance.
- API Reference: POST /kyc/add
Save the returned
uuidfrom the response — this is yourkycClientUuidand you'll need it to create orders.
Step 2 — Create an OrderOnce the user has been registered, create an order for the transaction. The order request includes the vendor identifier, the
kycClientUuid, the recipient wallet address, the currency, and the amount. The response returns the complete order object along with the order UUID, which is used to retrieve payment details and status.
- Endpoint:
POST /orders/create- Purpose: Create a fiat-to-crypto transaction order for a KYC-registered user.
- API Reference: POST /orders/create
Save the returned
uuid— you'll use it to retrieve payment details in the next step.
Step 3 — Retrieve Payment Details and StatusAfter the order is created, call the payment details endpoint using the returned order
uuid. This endpoint returns the full order object, including fields such asorderStatus,sepaReference, and transaction hashes.
- Endpoint:
GET /orders/:uuid/payment-details- Purpose: Retrieve the payment instructions and the current state of the order.
- API Reference: GET /orders/:uuid/payment-details
Replace
:uuidwith theuuidreturned from the Create Order response.
Order StatusesEach order progresses through a set of statuses that represent the current stage of the transaction. The order status can be retrieved at any time using the payment details endpoint.
Status Description CREATEDThe order has been successfully registered and the system has prepared the data required for the next steps of the transaction. COMPLETEDThe required payment has been confirmed and the on-chain execution associated with the order has been completed. FAILEDThe order could not be completed due to a processing error or invalid transaction data. The current order status can be retrieved using the GET /orders/:uuid/payment-details endpoint in the Orders section of the API Reference.
Updated about 2 hours ago
