{"files":{"SKILL.md":"---\nname: tokenjay-api-services\ndescription: \"TokenJay API services API skill. Use when working with TokenJay API services for payment, mosaik, tokens. Covers 27 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# TokenJay API services\n\n## Auth\nNo authentication required.\n\n## Base URL\nhttps://api.tokenjay.app/\n\n## Setup\n1. No auth setup needed\n2. GET /tokens/prices/all -- lists all token prices and available volume\n3. POST /payment/addrequest -- create first addrequest\n\n## Endpoints\n27 endpoints across 9 groups. See references/api-spec.lap for full details.\n\n### Payment\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /payment/addrequest | Creates a new payment request. Will return request id to check for transaction state and ergopay url to show the user as QR code |\n| GET | /payment/state/{requestId} | Returns the state of a payment request. Please note that payment requests are purged after some time, so persist the state at your side when needed |\n\n### Mosaik\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /mosaik/tokenburn/prepare |  |\n| POST | /mosaik/babelfee/newoffer/new-input |  |\n| POST | /mosaik/babelfee/newoffer/doit |  |\n| GET | /mosaik/tokenburn |  |\n| GET | /mosaik/tokenburn/get/{uuid} |  |\n| GET | /mosaik/boxconsolidation/consolidate/{p2pkaddress} |  |\n| GET | /mosaik/boxconsolidation/ |  |\n| GET | /mosaik/babelfee/notificationcheck |  |\n| GET | /mosaik/babelfee/newoffer |  |\n| GET | /mosaik/babelfee/ |  |\n\n### Tokens\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /tokens/prices/{tokenId} | Lists price and available volume for a certain token |\n| GET | /tokens/prices/all | Lists all token prices and available volume |\n| GET | /tokens/listGenuine | Lists all genuine tokens known |\n| GET | /tokens/listBlocked | Lists all blocked tokens |\n| GET | /tokens/check/{tokenId}/{tokenName} | Check a token verification |\n\n### Sigusd\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sigusd/price | Lists price and available volume for SigmaUSD |\n| GET | /sigusd/exchange/{amount}/info | Calculates SigUSD exchange |\n| GET | /sigusd/exchange/ | Builds ErgoPayRequest for SigUSD exchange |\n\n### Sigrsv\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sigrsv/price | Lists price and available volume for SigmaRSV |\n| GET | /sigrsv/exchange/{amount}/info | Calculates SigRSV exchange |\n| GET | /sigrsv/exchange/ | Builds ErgoPayRequest for SigRSV exchange |\n\n### Peers\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /peers/list | Lists known peers sorted by block height |\n\n### Createbabel\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /createbabel/{address} |  |\n\n### Cancelbabel\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /cancelbabel/{boxId} |  |\n\n### Ageusd\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /ageusd/info | Returns state of AgeUSD at this moment |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a addrequest?\" -> POST /payment/addrequest\n- \"Create a prepare?\" -> POST /mosaik/tokenburn/prepare\n- \"Create a new-input?\" -> POST /mosaik/babelfee/newoffer/new-input\n- \"Create a doit?\" -> POST /mosaik/babelfee/newoffer/doit\n- \"Get price details?\" -> GET /tokens/prices/{tokenId}\n- \"List all all?\" -> GET /tokens/prices/all\n- \"List all listGenuine?\" -> GET /tokens/listGenuine\n- \"List all listBlocked?\" -> GET /tokens/listBlocked\n- \"Get check details?\" -> GET /tokens/check/{tokenId}/{tokenName}\n- \"List all price?\" -> GET /sigusd/price\n- \"List all info?\" -> GET /sigusd/exchange/{amount}/info\n- \"List all exchange?\" -> GET /sigusd/exchange/\n- \"List all list?\" -> GET /peers/list\n- \"Get state details?\" -> GET /payment/state/{requestId}\n- \"List all tokenburn?\" -> GET /mosaik/tokenburn\n- \"Get get details?\" -> GET /mosaik/tokenburn/get/{uuid}\n- \"Get consolidate details?\" -> GET /mosaik/boxconsolidation/consolidate/{p2pkaddress}\n- \"List all boxconsolidation?\" -> GET /mosaik/boxconsolidation/\n- \"List all notificationcheck?\" -> GET /mosaik/babelfee/notificationcheck\n- \"List all newoffer?\" -> GET /mosaik/babelfee/newoffer\n- \"List all babelfee?\" -> GET /mosaik/babelfee/\n- \"Get createbabel details?\" -> GET /createbabel/{address}\n- \"Get cancelbabel details?\" -> GET /cancelbabel/{boxId}\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api TokenJay API services\n@base https://api.tokenjay.app/\n@endpoints 27\n@hint download_for_search\n@toc payment(2), mosaik(10), tokens(5), sigusd(3), sigrsv(3), peers(1), createbabel(1), cancelbabel(1), ageusd(1)\n\n@group payment\n@endpoint POST /payment/addrequest\n@desc Creates a new payment request. Will return request id to check for transaction state and ergopay url to show the user as QR code\n@required {nanoErg: int(int64), receiverAddress: str}\n@optional {tokenId: str, tokenRawAmount: int(int64), senderAddress: str, message: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group mosaik\n@endpoint POST /mosaik/tokenburn/prepare\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint POST /mosaik/babelfee/newoffer/new-input\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint POST /mosaik/babelfee/newoffer/doit\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group tokens\n@endpoint GET /tokens/prices/{tokenId}\n@desc Lists price and available volume for a certain token\n@required {tokenId: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /tokens/prices/all\n@desc Lists all token prices and available volume\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /tokens/listGenuine\n@desc Lists all genuine tokens known\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /tokens/listBlocked\n@desc Lists all blocked tokens\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /tokens/check/{tokenId}/{tokenName}\n@desc Check a token verification\n@required {tokenId: str, tokenName: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group sigusd\n@endpoint GET /sigusd/price\n@desc Lists price and available volume for SigmaUSD\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /sigusd/exchange/{amount}/info\n@desc Calculates SigUSD exchange\n@required {amount: int(int64)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /sigusd/exchange/\n@desc Builds ErgoPayRequest for SigUSD exchange\n@required {amount: int(int64), address: str}\n@optional {checkRate: int(int64)=0, executionFee: int(int64)=0}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group sigrsv\n@endpoint GET /sigrsv/price\n@desc Lists price and available volume for SigmaRSV\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /sigrsv/exchange/{amount}/info\n@desc Calculates SigRSV exchange\n@required {amount: int(int64)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /sigrsv/exchange/\n@desc Builds ErgoPayRequest for SigRSV exchange\n@required {amount: int(int64), address: str}\n@optional {checkRate: int(int64)=0, executionFee: int(int64)=0}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group peers\n@endpoint GET /peers/list\n@desc Lists known peers sorted by block height\n@optional {unreachable: bool=false # Set to true to show unreachable peers in the list, closedApi: bool=false # Set to true to show peers not open to be connected, limit: int(int32)=50}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group payment\n@endpoint GET /payment/state/{requestId}\n@desc Returns the state of a payment request. Please note that payment requests are purged after some time, so persist the state at your side when needed\n@required {requestId: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group mosaik\n@endpoint GET /mosaik/tokenburn\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/tokenburn/get/{uuid}\n@required {uuid: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/boxconsolidation/consolidate/{p2pkaddress}\n@required {p2pkaddress: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/boxconsolidation/\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/babelfee/notificationcheck\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/babelfee/newoffer\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endpoint GET /mosaik/babelfee/\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group createbabel\n@endpoint GET /createbabel/{address}\n@required {address: str, tokenId: str, ergAmount: int(int64), tokenAmount: int(int64)}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group cancelbabel\n@endpoint GET /cancelbabel/{boxId}\n@required {boxId: str}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@group ageusd\n@endpoint GET /ageusd/info\n@desc Returns state of AgeUSD at this moment\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found, 409: Conflict}\n\n@endgroup\n\n@end\n"}}