RWA
Store a file and register it as an RWA asset
Requires scope service:operate (operator keys only); funded mutation (503 MAINTENANCE while paused). Send raw file bytes; the gateway stores the file as a deal on the pinned provider and then registers an RWA asset backed by that deal in one flow. This operator path prices the deal server-side from size and duration unless ?price is given.
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.Query parameters
| Name | In | Type | Description |
|---|---|---|---|
| namerequired | query | string | Asset name. |
| typerequired | query | string | Asset type. |
| duration | query | string | Deal duration (e.g. 12h, 30d). Default 30d. |
| price | query | string | Total price in KEP. Default derived from size and duration. |
| value | query | string | Declared asset value in KEP. |
| label | query | string | Label for the backing document. |
Body
application/octet-stream binaryrequired
Errors
| Code | Meaning |
|---|---|
| 400 | Missing name/type, empty body, or on-chain rejection. |
| 401 | Invalid or missing API key. |
| 403 | The API key lacks the required scope for this operation. |
| 413 | Per-file limit or lifetime account upload allowance exceeded. |
| 415 | Multipart uploads are not supported; send raw file bytes. |
| 503 | Funded mutations are paused for maintenance. Sent with a Retry-After header (seconds). |
| 507 | Provider/global storage capacity reserve would be crossed. |
cURL
curl -X POST https://gateway.kepto.xyz/api/v1/rwa/tokenize?name=<name>&type=<type> \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/octet-stream" \
--data-binary @<file>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"
}
],
"deal": {
"dealId": 0,
"client": "string",
"provider": "string",
"merkleRoot": "string",
"sizeBytes": 0,
"leafCount": 0,
"status": "None",
"createdAt": 0,
"startTime": 0,
"endTime": 0,
"durationSeconds": 0,
"totalPriceKep": "string",
"collateralKep": "string",
"paidOutKep": "string",
"faultCount": 0
},
"contentUrl": "string"
}