# Models

## The CreateTransactionDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CreateTransactionDto":{"type":"object","properties":{"type":{"type":"string","enum":["renew-utxo","withdraw","init-liquidity-pool","provide-liquidity","increase-liquidity","swap","withdraw-liquidity","collect-fee","claim-receipt"]},"params":{"type":"object"}},"required":["type","params"]}}}}
```

## The SignTransactionParamsDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SignTransactionParamsDto":{"type":"object","properties":{"userAddress":{"type":"string"},"signedBase64Tx":{"type":"string"}},"required":["userAddress","signedBase64Tx"]}}}}
```

## The SignTransactionDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SignTransactionDto":{"type":"object","properties":{"type":{"type":"string","enum":["renew-utxo","withdraw","init-liquidity-pool","provide-liquidity","increase-liquidity","swap","withdraw-liquidity","collect-fee","claim-receipt"]},"params":{"$ref":"#/components/schemas/SignTransactionParamsDto"}},"required":["type","params"]},"SignTransactionParamsDto":{"type":"object","properties":{"userAddress":{"type":"string"},"signedBase64Tx":{"type":"string"}},"required":["userAddress","signedBase64Tx"]}}}}
```

## The ResponseMetaData object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ResponseMetaData":{"type":"object","properties":{"totalItems":{"type":"number"},"currentPage":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalItems","currentPage","pageSize","totalPages"]}}}}
```

## The BaseResponseDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"BaseResponseDto":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"data":{"type":"object"},"metaData":{"$ref":"#/components/schemas/ResponseMetaData"}},"required":["code","message","data","metaData"]},"ResponseMetaData":{"type":"object","properties":{"totalItems":{"type":"number"},"currentPage":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalItems","currentPage","pageSize","totalPages"]}}}}
```

## The WalletEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"WalletEntity":{"type":"object","properties":{"tradingAddress":{"type":"string"},"userAddress":{"type":"string"},"userPublicKey":{"type":"string"},"requiredSignNumber":{"type":"number"},"pubKeysNum":{"type":"number"}},"required":["tradingAddress","userAddress","userPublicKey","requiredSignNumber","pubKeysNum"]}}}}
```

## The CreateMultiSigWalletDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CreateMultiSigWalletDto":{"type":"object","properties":{"walletAddress":{"type":"string"},"publicKey":{"type":"string","description":"Public key of wallet"}},"required":["walletAddress","publicKey"]}}}}
```

## The ImportPendingTxDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ImportPendingTxDto":{"type":"object","properties":{"externalAddress":{"type":"string"},"txid":{"type":"string","description":"Tx id"},"receiverAddress":{"type":"string","description":"Receiver address"}},"required":["externalAddress","txid","receiverAddress"]}}}}
```

## The WalletUpdateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"WalletUpdateDto":{"type":"object","properties":{"userAddress":{"type":"string"},"type":{"type":"string"},"isStandard":{"type":"boolean"}},"required":["userAddress","type","isStandard"]}}}}
```

## The WalletBulkUpdateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"WalletBulkUpdateDto":{"type":"object","properties":{"wallets":{"type":"array","items":{"$ref":"#/components/schemas/WalletUpdateDto"}}},"required":["wallets"]},"WalletUpdateDto":{"type":"object","properties":{"userAddress":{"type":"string"},"type":{"type":"string"},"isStandard":{"type":"boolean"}},"required":["userAddress","type","isStandard"]}}}}
```

## The PoolMigrationDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"PoolMigrationDto":{"type":"object","properties":{"token0Id":{"type":"string","description":"The id of the token0"},"token1Id":{"type":"string","description":"The id of the token1"},"fee":{"type":"number","description":"The fee of the pool"},"scVersion":{"type":"string","description":"The sc version"}},"required":["token0Id","token1Id","fee","scVersion"]}}}}
```

## The MigratePoolDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"MigratePoolDto":{"type":"object","properties":{"payFeeAddress":{"type":"string","description":"The address to pay the fee"},"pools":{"description":"List of pools to migrate, if not exist, will migrate all","type":"array","items":{"$ref":"#/components/schemas/PoolMigrationDto"}},"migrateVersion":{"type":"number","description":"The migration version"},"type":{"type":"string","description":"The additional data"},"feeRate":{"type":"number","description":"The fee rate"}},"required":["payFeeAddress","migrateVersion","type","feeRate"]},"PoolMigrationDto":{"type":"object","properties":{"token0Id":{"type":"string","description":"The id of the token0"},"token1Id":{"type":"string","description":"The id of the token1"},"fee":{"type":"number","description":"The fee of the pool"},"scVersion":{"type":"string","description":"The sc version"}},"required":["token0Id","token1Id","fee","scVersion"]}}}}
```

## The BroadcastMigrationDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"BroadcastMigrationDto":{"type":"object","properties":{"txHex":{"type":"string","description":"The tx hex"},"type":{"type":"string","description":"The tx id"},"migrateVersion":{"type":"number","description":"The migration version"}},"required":["txHex","type","migrateVersion"]}}}}
```

## The CompleteMigrationDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CompleteMigrationDto":{"type":"object","properties":{"pools":{"description":"List of pools to migrate, if not exist, will migrate all","type":"array","items":{"$ref":"#/components/schemas/PoolMigrationDto"}},"migrateVersion":{"type":"number","description":"The migration times"}},"required":["migrateVersion"]},"PoolMigrationDto":{"type":"object","properties":{"token0Id":{"type":"string","description":"The id of the token0"},"token1Id":{"type":"string","description":"The id of the token1"},"fee":{"type":"number","description":"The fee of the pool"},"scVersion":{"type":"string","description":"The sc version"}},"required":["token0Id","token1Id","fee","scVersion"]}}}}
```

## The TokenSocial object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"TokenSocial":{"type":"object","properties":{}}}}}
```

## The TokenEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"TokenEntity":{"type":"object","properties":{"source":{"type":"string"},"chainName":{"type":"string"},"chainId":{"type":"string"},"symbol":{"type":"string"},"rune":{"type":"string"},"spacedRune":{"type":"string"},"decimals":{"type":"number"},"tokenAddress":{"type":"string"},"mainTokenAddress":{"type":"string"},"tokenAddressV4":{"type":"string"},"mainTokenAddressV4":{"type":"string"},"tokenId":{"type":"string"},"price":{"type":"number"},"priceInSats":{"type":"number"},"priceChange24h":{"type":"number"},"isTest":{"type":"boolean"},"updatedBy":{"type":"string"},"displayTicker":{"type":"string"},"supply":{"type":"string"},"premine":{"type":"string"},"social":{"$ref":"#/components/schemas/TokenSocial"},"volume24h":{"type":"number"},"volume24hInSats":{"type":"number"},"volume7d":{"type":"number"},"volume7dInSats":{"type":"number"},"volumeAllTime":{"type":"number"},"volumeAllTimeInSats":{"type":"number"},"marketCap":{"type":"number"},"marketCapInSats":{"type":"number"},"hasPool":{"type":"boolean"}},"required":["source","chainName","chainId","symbol","rune","spacedRune","decimals","tokenAddress","mainTokenAddress","tokenAddressV4","mainTokenAddressV4","tokenId","price","priceInSats","priceChange24h","isTest","updatedBy","displayTicker","supply","premine","social","volume24h","volume24hInSats","volume7d","volume7dInSats","volumeAllTime","volumeAllTimeInSats","marketCap","marketCapInSats","hasPool"]},"TokenSocial":{"type":"object","properties":{}}}}}
```

## The TokenResponseDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"TokenResponseDto":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenEntity"}},"metaData":{"$ref":"#/components/schemas/ResponseMetaData"}},"required":["code","message","data","metaData"]},"TokenEntity":{"type":"object","properties":{"source":{"type":"string"},"chainName":{"type":"string"},"chainId":{"type":"string"},"symbol":{"type":"string"},"rune":{"type":"string"},"spacedRune":{"type":"string"},"decimals":{"type":"number"},"tokenAddress":{"type":"string"},"mainTokenAddress":{"type":"string"},"tokenAddressV4":{"type":"string"},"mainTokenAddressV4":{"type":"string"},"tokenId":{"type":"string"},"price":{"type":"number"},"priceInSats":{"type":"number"},"priceChange24h":{"type":"number"},"isTest":{"type":"boolean"},"updatedBy":{"type":"string"},"displayTicker":{"type":"string"},"supply":{"type":"string"},"premine":{"type":"string"},"social":{"$ref":"#/components/schemas/TokenSocial"},"volume24h":{"type":"number"},"volume24hInSats":{"type":"number"},"volume7d":{"type":"number"},"volume7dInSats":{"type":"number"},"volumeAllTime":{"type":"number"},"volumeAllTimeInSats":{"type":"number"},"marketCap":{"type":"number"},"marketCapInSats":{"type":"number"},"hasPool":{"type":"boolean"}},"required":["source","chainName","chainId","symbol","rune","spacedRune","decimals","tokenAddress","mainTokenAddress","tokenAddressV4","mainTokenAddressV4","tokenId","price","priceInSats","priceChange24h","isTest","updatedBy","displayTicker","supply","premine","social","volume24h","volume24hInSats","volume7d","volume7dInSats","volumeAllTime","volumeAllTimeInSats","marketCap","marketCapInSats","hasPool"]},"TokenSocial":{"type":"object","properties":{}},"ResponseMetaData":{"type":"object","properties":{"totalItems":{"type":"number"},"currentPage":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalItems","currentPage","pageSize","totalPages"]}}}}
```

## The TokenGetDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"TokenGetDto":{"type":"object","properties":{"runes":{"type":"array","items":{"type":"string"}}},"required":["runes"]}}}}
```

## The ImportExpiredTxsDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ImportExpiredTxsDto":{"type":"object","properties":{"expiredTxs":{"description":"Token0 ID","type":"array","items":{"type":"string"}}},"required":["expiredTxs"]}}}}
```

## The BlackListActions object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"BlackListActions":{"type":"object","properties":{"withdraw":{"type":"boolean","description":"Whether the user can withdraw"},"init-liquidity-pool":{"type":"boolean","description":"Whether the user can init LP"},"provide-liquidity":{"type":"boolean","description":"Whether the user can provide liquidity"},"increase-liquidity":{"type":"boolean","description":"Whether the user can increase liquidity"},"swap":{"type":"boolean","description":"Whether the user can swap"},"withdraw-liquidity":{"type":"boolean","description":"Whether the user can withdraw liquidity"},"collect-fee":{"type":"boolean","description":"Whether the user can collect fee"},"claim-diamond-hand-rewards":{"type":"boolean","description":"Whether the user can claim diamond hand rewards"}},"required":["withdraw","init-liquidity-pool","provide-liquidity","increase-liquidity","swap","withdraw-liquidity","collect-fee","claim-diamond-hand-rewards"]}}}}
```

## The BlackListCreateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"BlackListCreateDto":{"type":"object","properties":{"tradingAddress":{"type":"string","description":"The trading address of the user"},"actions":{"description":"The actions of the user","allOf":[{"$ref":"#/components/schemas/BlackListActions"}]}},"required":["tradingAddress","actions"]},"BlackListActions":{"type":"object","properties":{"withdraw":{"type":"boolean","description":"Whether the user can withdraw"},"init-liquidity-pool":{"type":"boolean","description":"Whether the user can init LP"},"provide-liquidity":{"type":"boolean","description":"Whether the user can provide liquidity"},"increase-liquidity":{"type":"boolean","description":"Whether the user can increase liquidity"},"swap":{"type":"boolean","description":"Whether the user can swap"},"withdraw-liquidity":{"type":"boolean","description":"Whether the user can withdraw liquidity"},"collect-fee":{"type":"boolean","description":"Whether the user can collect fee"},"claim-diamond-hand-rewards":{"type":"boolean","description":"Whether the user can claim diamond hand rewards"}},"required":["withdraw","init-liquidity-pool","provide-liquidity","increase-liquidity","swap","withdraw-liquidity","collect-fee","claim-diamond-hand-rewards"]}}}}
```

## The EtchEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchEntity":{"type":"object","properties":{}}}}}
```

## The FetchEtchAddressDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"FetchEtchAddressDto":{"type":"object","properties":{"runeName":{"type":"string"},"inscriptionType":{"type":"string"},"inscriptionContent":{"type":"string"}},"required":["runeName","inscriptionType","inscriptionContent"]}}}}
```

## The EtchBuildCommitTxDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchBuildCommitTxDto":{"type":"object","properties":{"runeName":{"type":"string"},"inscriptionType":{"type":"string"},"inscriptionContent":{"type":"string"},"userAddress":{"type":"string"},"feeTier":{"type":"number","description":"Fee tier for the pool (5000 = 0.5%, 10000 = 1%, 20000 = 2%, etc.)","minimum":5000,"maximum":100000},"diamondHandRewardRate":{"type":"number","description":"Diamond hands share of the available 66.67% (0-1, e.g., 0.5 = 50% of 66.67% = 33.33% total)","minimum":0,"maximum":1},"blockWithdrawals":{"type":"boolean","description":"Block withdrawals of this token from radFi (only internal transfers allowed)","default":false},"addLpSatsRate":{"type":"number","description":"Percentage of raised funds to allocate to liquidity (0-1, e.g., 0.2 = 20% to LP, 80% to creator)","minimum":0,"maximum":1},"customFeeRate":{"type":"number","description":"Customized fee rate for the etching transaction (>=1)","minimum":1},"isReserve":{"type":"boolean","description":"Reserve to launch the token at a later date","default":false},"userPremineAmount":{"type":"string","description":"Raw rune amount (base units) to transfer to the creator before public distribution. Must fit within the total premine supply."}},"required":["runeName","inscriptionType","inscriptionContent","userAddress","feeTier"]}}}}
```

## The EtchSocialDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchSocialDto":{"type":"object","properties":{"x":{"type":"string"},"telegram":{"type":"string"},"website":{"type":"string"}}}}}}
```

## The SubmitEtchDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SubmitEtchDto":{"type":"object","properties":{"signedBase64Psbt":{"type":"string"},"runeName":{"type":"string"},"inscriptionType":{"type":"string"},"inscriptionContent":{"type":"string"},"symbol":{"type":"string"},"creator":{"type":"string"},"description":{"type":"string"},"displayTicker":{"type":"string"},"social":{"$ref":"#/components/schemas/EtchSocialDto"}},"required":["signedBase64Psbt","runeName","inscriptionType","inscriptionContent","symbol","creator","description"]},"EtchSocialDto":{"type":"object","properties":{"x":{"type":"string"},"telegram":{"type":"string"},"website":{"type":"string"}}}}}}
```

## The EtchBuildGetRewardDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchBuildGetRewardDto":{"type":"object","properties":{"runeId":{"type":"string"},"userAddress":{"type":"string"}},"required":["runeId","userAddress"]}}}}
```

## The EtchSignAndBroadcastRewardTxDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchSignAndBroadcastRewardTxDto":{"type":"object","properties":{"signedBase64Tx":{"type":"string"},"userAddress":{"type":"string"}},"required":["signedBase64Tx","userAddress"]}}}}
```

## The EtchUpdateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchUpdateDto":{"type":"object","properties":{"social":{"$ref":"#/components/schemas/EtchSocialDto"}}},"EtchSocialDto":{"type":"object","properties":{"x":{"type":"string"},"telegram":{"type":"string"},"website":{"type":"string"}}}}}}
```

## The EtchBuildOpenMintDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EtchBuildOpenMintDto":{"type":"object","properties":{"runeId":{"type":"string"}},"required":["runeId"]}}}}
```

## The VMTransactionEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"VMTransactionEntity":{"type":"object","properties":{"txId":{"type":"string"},"replaceTxId":{"type":"string"},"state":{"type":"string"},"runeId":{"type":"string"},"replacedRequestsCount":{"type":"number"},"requestsInMempoolCount":{"type":"number"},"requestsInBlocksCount":{"type":"number"},"satsPerNewRequest":{"type":"number"},"satsNewRequests":{"type":"number"},"satsPreviousRequests":{"type":"number"},"tradingAddress":{"type":"string"},"base64Tx":{"type":"string"},"timestamp":{"type":"number"},"transferBtcTxId":{"type":"string"},"transferBtcAt":{"type":"number"},"distributeRuneTxId":{"type":"string"},"distributeRuneAt":{"type":"number"},"refundTxId":{"type":"string"},"isRefundable":{"type":"boolean"},"vmDistributionId":{"type":"string"}},"required":["txId","replaceTxId","state","runeId","replacedRequestsCount","requestsInMempoolCount","requestsInBlocksCount","satsPerNewRequest","satsNewRequests","satsPreviousRequests","tradingAddress","base64Tx","timestamp","transferBtcTxId","transferBtcAt","distributeRuneTxId","distributeRuneAt","refundTxId","isRefundable","vmDistributionId"]}}}}
```

## The MintDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"MintDto":{"type":"object","properties":{"userAddress":{"type":"string"},"runeId":{"type":"string"},"requestCount":{"type":"number"},"satsNewRequests":{"type":"number"}},"required":["userAddress","runeId","requestCount","satsNewRequests"]}}}}
```

## The RequestClaimDiamondHandRewardsDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"RequestClaimDiamondHandRewardsDto":{"type":"object","properties":{"userAddress":{"type":"string"},"runeId":{"type":"string"}},"required":["userAddress","runeId"]}}}}
```

## The SignAndBroadcastRewardsDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SignAndBroadcastRewardsDto":{"type":"object","properties":{"signedBase64Tx":{"type":"string"},"userAddress":{"type":"string"},"runeId":{"type":"string"}},"required":["signedBase64Tx","userAddress","runeId"]}}}}
```

## The AuthenticateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"AuthenticateDto":{"type":"object","properties":{"message":{"type":"string","description":"The message that was signed"},"signature":{"type":"string","description":"The BIP322 signature of the message"},"address":{"type":"string","description":"The Bitcoin address that signed the message"},"publicKey":{"type":"string","description":"The public key used for signing"}},"required":["message","signature","address","publicKey"]}}}}
```

## The RefreshTokenDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"RefreshTokenDto":{"type":"object","properties":{"refreshToken":{"type":"string","description":"Refresh token to generate new access token"}},"required":["refreshToken"]}}}}
```

## The ISignedFields object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ISignedFields":{"type":"object","properties":{"key":{"type":"string"},"Policy":{"type":"string"},"bucket":{"type":"string"},"X-Amz-Date":{"type":"string"},"Content-Type":{"type":"string"},"X-Amz-Algorithm":{"type":"string"},"X-Amz-Signature":{"type":"string"},"X-Amz-Credential":{"type":"string"}},"required":["key","Policy","bucket","X-Amz-Date","Content-Type","X-Amz-Algorithm","X-Amz-Signature","X-Amz-Credential"]}}}}
```

## The ISignedUrl object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ISignedUrl":{"type":"object","properties":{"url":{"type":"string"},"fields":{"$ref":"#/components/schemas/ISignedFields"}},"required":["url","fields"]},"ISignedFields":{"type":"object","properties":{"key":{"type":"string"},"Policy":{"type":"string"},"bucket":{"type":"string"},"X-Amz-Date":{"type":"string"},"Content-Type":{"type":"string"},"X-Amz-Algorithm":{"type":"string"},"X-Amz-Signature":{"type":"string"},"X-Amz-Credential":{"type":"string"}},"required":["key","Policy","bucket","X-Amz-Date","Content-Type","X-Amz-Algorithm","X-Amz-Signature","X-Amz-Credential"]}}}}
```

## The RuneEtchMediaEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"RuneEtchMediaEntity":{"type":"object","properties":{"key":{"type":"string"},"url":{"type":"string"},"signedUrl":{"$ref":"#/components/schemas/ISignedUrl"},"fileName":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"number"}},"required":["key","url","signedUrl","fileName","mimeType","size"]},"ISignedUrl":{"type":"object","properties":{"url":{"type":"string"},"fields":{"$ref":"#/components/schemas/ISignedFields"}},"required":["url","fields"]},"ISignedFields":{"type":"object","properties":{"key":{"type":"string"},"Policy":{"type":"string"},"bucket":{"type":"string"},"X-Amz-Date":{"type":"string"},"Content-Type":{"type":"string"},"X-Amz-Algorithm":{"type":"string"},"X-Amz-Signature":{"type":"string"},"X-Amz-Credential":{"type":"string"}},"required":["key","Policy","bucket","X-Amz-Date","Content-Type","X-Amz-Algorithm","X-Amz-Signature","X-Amz-Credential"]}}}}
```

## The ItemPresignedUrlDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ItemPresignedUrlDto":{"type":"object","properties":{"filename":{"type":"string"}},"required":["filename"]}}}}
```

## The PresignedUrlDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"PresignedUrlDto":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ItemPresignedUrlDto"}},"userAddress":{"type":"string"}},"required":["files","userAddress"]},"ItemPresignedUrlDto":{"type":"object","properties":{"filename":{"type":"string"}},"required":["filename"]}}}}
```

## The CreatePolicySignatureDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CreatePolicySignatureDto":{"type":"object","properties":{"message":{"type":"string"},"userAddress":{"type":"string"},"signature":{"type":"string"}},"required":["message","userAddress","signature"]}}}}
```

## The SettingUpdateDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SettingUpdateDto":{"type":"object","properties":{"key":{"type":"string","enum":["virtual_mint","transaction","pool","sodax"]},"data":{"type":"object"}},"required":["key","data"]}}}}
```

## The CreateRefundDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CreateRefundDto":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_mint"]},"runeIds":{"description":"require if refund type is \"virtual_mint\"","type":"array","items":{"type":"string"}},"userAddress":{"type":"string"}},"required":["type","userAddress"]}}}}
```

## The BroadcastRefundDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"BroadcastRefundDto":{"type":"object","properties":{"base64Psbt":{"type":"string"},"userAddress":{"type":"string"}},"required":["base64Psbt","userAddress"]}}}}
```

## The AdminCreateRefundDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"AdminCreateRefundDto":{"type":"object","properties":{"runeIds":{"type":"array","items":{"type":"string"}},"userAddresses":{"type":"array","items":{"type":"string"}},"isBroadcast":{"type":"boolean"},"states":{"type":"array","items":{"type":"string"}}},"required":["runeIds","userAddresses","isBroadcast","states"]}}}}
```

## The EventSourceRegisterDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"EventSourceRegisterDto":{"type":"object","properties":{"userAddress":{"type":"string"}},"required":["userAddress"]}}}}
```

## The ActivityFeedItemDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ActivityFeedItemDto":{"type":"object","properties":{"source":{"type":"string","enum":["amm","sodax"]},"pair":{"type":"string"},"amountSold":{"type":"string"},"tokenSoldSymbol":{"type":"string","description":"Symbol of token sold (for display)"},"amountReceived":{"type":"string"},"tokenReceivedSymbol":{"type":"string","description":"Symbol of token received (for display)"},"tradeValueUsd":{"type":"number"},"trader":{"type":"string"},"time":{"type":"number"},"txId":{"type":"string"}},"required":["source","pair","amountSold","tokenSoldSymbol","amountReceived","tokenReceivedSymbol","tradeValueUsd","trader","time","txId"]}}}}
```

## The ActivityFeedResponseDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"ActivityFeedResponseDto":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ActivityFeedItemDto"}},"metaData":{"$ref":"#/components/schemas/ResponseMetaData"}},"required":["code","message","data","metaData"]},"ActivityFeedItemDto":{"type":"object","properties":{"source":{"type":"string","enum":["amm","sodax"]},"pair":{"type":"string"},"amountSold":{"type":"string"},"tokenSoldSymbol":{"type":"string","description":"Symbol of token sold (for display)"},"amountReceived":{"type":"string"},"tokenReceivedSymbol":{"type":"string","description":"Symbol of token received (for display)"},"tradeValueUsd":{"type":"number"},"trader":{"type":"string"},"time":{"type":"number"},"txId":{"type":"string"}},"required":["source","pair","amountSold","tokenSoldSymbol","amountReceived","tokenReceivedSymbol","tradeValueUsd","trader","time","txId"]},"ResponseMetaData":{"type":"object","properties":{"totalItems":{"type":"number"},"currentPage":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalItems","currentPage","pageSize","totalPages"]}}}}
```

## The CreateSodaxTxDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"CreateSodaxTxDto":{"type":"object","properties":{"type":{"type":"string","enum":["sodax-withdraw","sodax-withdraw-musig2","sodax-solver-swap"]},"params":{"type":"object"}},"required":["type","params"]}}}}
```

## The SignSodaxTransactionParamsDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SignSodaxTransactionParamsDto":{"type":"object","properties":{"userAddress":{"type":"string","description":"Set from JWT token. Do not send from client."},"signedBase64Tx":{"type":"string"}},"required":["signedBase64Tx"]}}}}
```

## The SignSodaxTransactionDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SignSodaxTransactionDto":{"type":"object","properties":{"type":{"type":"string","enum":["sodax-withdraw","sodax-withdraw-musig2","sodax-solver-swap"]},"params":{"$ref":"#/components/schemas/SignSodaxTransactionParamsDto"}},"required":["type","params"]},"SignSodaxTransactionParamsDto":{"type":"object","properties":{"userAddress":{"type":"string","description":"Set from JWT token. Do not send from client."},"signedBase64Tx":{"type":"string"}},"required":["signedBase64Tx"]}}}}
```

## The PartnerTxEntity object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"PartnerTxEntity":{"type":"object","properties":{}}}}}
```

## The SodaxResponseDto object

```json
{"openapi":"3.0.0","info":{"title":"Radfi API","version":"1.0"},"components":{"schemas":{"SodaxResponseDto":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerTxEntity"}},"metaData":{"$ref":"#/components/schemas/ResponseMetaData"}},"required":["code","message","data","metaData"]},"PartnerTxEntity":{"type":"object","properties":{}},"ResponseMetaData":{"type":"object","properties":{"totalItems":{"type":"number"},"currentPage":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalItems","currentPage","pageSize","totalPages"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bound-1.gitbook.io/bound-docs/developer-guide/api-reference/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
