RWA
Register an RWA asset backed by existing deals
Requires scope service:operate (operator keys only); funded mutation (503 MAINTENANCE while paused). Mints an RWA NFT to the gateway wallet. Every deal id must be an Active storage deal owned by the gateway wallet; the registration fee is paid from the gateway's KEP balance.
iNote
Requires a key with the service:operate scope, sent as Authorization: Bearer <api-key>. Keys missing the scope are rejected with 403 — see Authentication.!Heads up
Executes a real on-chain transaction on Robinhood testnet, funded by the gateway wallet. Returns 503 while funded mutations are paused for maintenance.Body
application/json RegisterAssetRequestrequired
Example body
{
"name": "string",
"assetType": "invoice",
"metadataURI": "string",
"declaredValueKep": "1000",
"dealIds": [
0
],
"labels": [
"string"
]
}Errors
| Code | Meaning |
|---|---|
| 400 | Invalid request body or on-chain rejection. |
| 401 | Invalid or missing API key. |
| 403 | The API key lacks the required scope for this operation. |
| 503 | Funded mutations are paused for maintenance. Sent with a Retry-After header (seconds). |
cURL
curl -X POST https://gateway.kepto.xyz/api/v1/rwa \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"assetType": "invoice",
"metadataURI": "string",
"declaredValueKep": "1000",
"dealIds": [
0
],
"labels": [
"string"
]
}'201 · application/json
{
"assetId": 0,
"name": "string",
"assetType": "string",
"metadataURI": "string",
"status": "None",
"declaredValueKep": "string",
"issuer": "string",
"owner": "string",
"attestor": "string",
"registeredAt": 0,
"attestedAt": 0,
"attestationCount": 0,
"attestationsRequired": 0,
"attestationCurrent": true,
"backingIntact": true,
"documents": [
{
"index": 0,
"dealId": 0,
"merkleRoot": "string",
"label": "string"
}
]
}