Create Transaction
Request Body
The user sending the currency
The user receiving the currency
Amount to transfer in micro-units (must be greater than 0)
Description or note for the transaction
Optional asset returns mapping (asset ID to quantity)
Response
Returns200 OK with no body on success.
Example Request
Validation Errors
The endpoint validates all transactions before execution: Status Code:400 Bad Request
Insufficient Balance
insufficient balance: balance was X.XXXXXX unit, at least Y.YYYYYY unit is required
Missing Required Fields
transaction must have a note
Zero Amount Without Returns
transaction must have an amount or returns
Circular Transaction
circular transaction: alice -> alice
Empty Sender or Recipient
transaction must have a sender
Get User Transactions
Path Parameters
The user identifier to query transactions for
Response
Returns a JSON array of transaction objects (up to 100 most recent).Array of transaction objects involving the user
Transaction type:
"Transaction", "Mint", or "Burn"Unique 15-character transaction identifier
Unix timestamp in milliseconds
Sender user ID (not present in Mint transactions)
Recipient user ID (not present in Burn transactions)
Amount in micro-units
Transaction description
Asset returns if any (optional)
Reference link (only in Burn transactions)
Example Request
Example Response
Empty History
If a user has no transaction history:Error Responses
Status Code:500 Internal Server Error
If there’s an error reading the ledger or encoding the response, a 500 error is returned with the error message.
Notes
- Transactions are returned in reverse chronological order (most recent first)
- Maximum of 100 transactions are returned per request
- The endpoint returns all transaction types where the user is either sender or recipient
- Stipend transactions appear as Mint transactions with Note: “Stipend”