Service API
This reference covers the key endpoints of the Kura Service API. Detailed OpenAPI schemas, request/response schemas, and the SDK are provided separately at the time of onboarding. Contact us if you would like to learn more.
The Service API is delivered over HTTP and covers the following areas:
- Service health and status
- Account and receive address management
- Balance and transfer availability
- Deposits
- Transfer and withdrawal preparation and execution
- Smart contract wallet integration
- History queries
Health / Deployment
| Method | Path | Description |
|---|---|---|
GET | /health | Check whether the service is up and running. |
GET | /api/deployment | Retrieve information about the connected chain and Kura contract. |
Account and receive address management
| Method | Path | Description |
|---|---|---|
POST | /api/wallets | Register a wallet account (P-256, WebAuthn, or Ethereum EOA) along with an initial viewing profile. |
GET | /api/wallets | List all registered viewing profiles. |
GET | /api/wallets/{wallet_handle} | Get a summary of a wallet account. |
GET | /api/wallets/{wallet_handle}/profiles | List the viewing profiles associated with a wallet account. |
POST | /api/wallets/{wallet_handle}/profiles | Add a viewing profile to an existing wallet account. |
GET | /api/viewing-profiles/{address_id} | Retrieve information about a viewing profile. |
POST | /api/viewing-profiles/{address_id}/disable | Pause synchronization for a viewing profile. |
POST | /api/viewing-profiles/{address_id}/enable | Resume synchronization for a viewing profile. |
Balance and transfer availability
| Method | Path | Description |
|---|---|---|
GET | /api/viewing-profiles/{address_id}/status | Get the sync status of a viewing profile. |
GET | /api/viewing-profiles/{address_id}/notes | Get the assets held and the current balance for a viewing profile. |
Use these endpoints to display balances and determine whether a transfer can be initiated.
Deposits
| Method | Path | Description |
|---|---|---|
POST | /api/deposits/proof-requests | Generate a deposit proof for a given receive address, token, and amount. |
GET | /api/proof-requests/{proof_request_id} | Check the status of a proof generation request. |
Once the proof is ready, the user's wallet can submit the ERC-20 approval and the deposit transaction.
Transfer and withdrawal preparation and execution
| Method | Path | Description |
|---|---|---|
POST | /api/wallets/{wallet_handle}/transfer-preparations | Generate the transfer or withdrawal payload and the content for the user to sign. |
POST | /api/wallets/{wallet_handle}/transfers/execution-requests | Execute a signed transfer. Proof generation, blockchain submission, and confirmation tracking are all handled asynchronously. |
POST | /api/wallets/{wallet_handle}/transfers/proof-requests | Generate a proof only, without executing the transfer. |
GET | /api/execution-requests/{execution_request_id} | Check the execution status of a transfer. |
The key inputs for transfer preparation are the source profile, the destination (a Kura address or a standard Ethereum address), the token, and the amount.
Smart contract wallet integration
| Method | Path | Description |
|---|---|---|
POST | /api/contract-wallets | Create a Kura-compatible contract wallet and viewing profile. |
PUT | /api/contract-wallets/{contract_wallet_address}/signers | Register signer information for a contract wallet. |
GET | /api/wallets/{wallet_handle}/contract-wallet-status | Check the registration status and transfer availability of a contract wallet. |
POST | /api/contract-wallets/{contract_wallet_address}/user-operations | Execute a signed wallet operation. |
Use these endpoints when accounts are managed by a smart contract rather than an EOA.
History queries
| Method | Path | Description |
|---|---|---|
GET | /api/history/addresses/{address_id}/notes/received | Get the received note history for a viewing profile. |
GET | /api/history/addresses/{address_id}/notes/spent | Get the sent note history for a viewing profile. |
GET | /api/history/wallets/{wallet_handle}/notes/received | Get the received note history for an entire wallet account. |
GET | /api/history/wallets/{wallet_handle}/notes/spent | Get the sent note history for an entire wallet account. |
GET | /api/history/deposits | Get the deposit history. |
GET | /api/history/publications | Get the full transaction history. |
History endpoints are useful for activity feeds, reconciliation, and customer support workflows.
Contact us
For detailed API specifications, the SDK, sample implementations, and deployment configuration, please reach out. We provide everything you need for integration, tailored to your needs.