diff --git a/binaries/cuprated/src/rpc/bin.rs b/binaries/cuprated/src/rpc/bin.rs
index 5cf7a11..e1358b0 100644
--- a/binaries/cuprated/src/rpc/bin.rs
+++ b/binaries/cuprated/src/rpc/bin.rs
@@ -1,6 +1,7 @@
 use anyhow::Error;
 
 use cuprate_rpc_types::{
+    base::{AccessResponseBase, ResponseBase},
     bin::{
         BinRequest, BinResponse, GetBlocksByHeightRequest, GetBlocksByHeightResponse,
         GetBlocksRequest, GetBlocksResponse, GetHashesRequest, GetHashesResponse,
@@ -40,7 +41,11 @@ async fn get_blocks(
     state: CupratedRpcHandlerState,
     request: GetBlocksRequest,
 ) -> Result<GetBlocksResponse, Error> {
-    todo!()
+    // Ok(GetBlocksResponse {
+    //     base: ResponseBase::ok(),
+    //     ..todo!()
+    // })
+    Ok(todo!())
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L817-L857>
@@ -48,7 +53,10 @@ async fn get_blocks_by_height(
     state: CupratedRpcHandlerState,
     request: GetBlocksByHeightRequest,
 ) -> Result<GetBlocksByHeightResponse, Error> {
-    todo!()
+    Ok(GetBlocksByHeightResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L859-L880>
@@ -56,7 +64,10 @@ async fn get_hashes(
     state: CupratedRpcHandlerState,
     request: GetHashesRequest,
 ) -> Result<GetHashesResponse, Error> {
-    todo!()
+    Ok(GetHashesResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L959-L977>
@@ -64,7 +75,10 @@ async fn get_output_indexes(
     state: CupratedRpcHandlerState,
     request: GetOutputIndexesRequest,
 ) -> Result<GetOutputIndexesResponse, Error> {
-    todo!()
+    Ok(GetOutputIndexesResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L882-L910>
@@ -72,7 +86,10 @@ async fn get_outs(
     state: CupratedRpcHandlerState,
     request: GetOutsRequest,
 ) -> Result<GetOutsResponse, Error> {
-    todo!()
+    Ok(GetOutsResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1689-L1711>
@@ -80,7 +97,10 @@ async fn get_transaction_pool_hashes(
     state: CupratedRpcHandlerState,
     request: GetTransactionPoolHashesRequest,
 ) -> Result<GetTransactionPoolHashesResponse, Error> {
-    todo!()
+    Ok(GetTransactionPoolHashesResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3352-L3398>
@@ -88,5 +108,8 @@ async fn get_output_distribution(
     state: CupratedRpcHandlerState,
     request: GetOutputDistributionRequest,
 ) -> Result<GetOutputDistributionResponse, Error> {
-    todo!()
+    Ok(GetOutputDistributionResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
diff --git a/binaries/cuprated/src/rpc/other.rs b/binaries/cuprated/src/rpc/other.rs
index 1e22882..d215ce2 100644
--- a/binaries/cuprated/src/rpc/other.rs
+++ b/binaries/cuprated/src/rpc/other.rs
@@ -1,20 +1,25 @@
 use anyhow::Error;
 
-use cuprate_rpc_types::other::{
-    GetAltBlocksHashesRequest, GetAltBlocksHashesResponse, GetHeightRequest, GetHeightResponse,
-    GetLimitRequest, GetLimitResponse, GetNetStatsRequest, GetNetStatsResponse, GetOutsRequest,
-    GetOutsResponse, GetPeerListRequest, GetPeerListResponse, GetPublicNodesRequest,
-    GetPublicNodesResponse, GetTransactionPoolHashesRequest, GetTransactionPoolHashesResponse,
-    GetTransactionPoolRequest, GetTransactionPoolResponse, GetTransactionPoolStatsRequest,
-    GetTransactionPoolStatsResponse, GetTransactionsRequest, GetTransactionsResponse,
-    InPeersRequest, InPeersResponse, IsKeyImageSpentRequest, IsKeyImageSpentResponse,
-    MiningStatusRequest, MiningStatusResponse, OtherRequest, OtherResponse, OutPeersRequest,
-    OutPeersResponse, PopBlocksRequest, PopBlocksResponse, SaveBcRequest, SaveBcResponse,
-    SendRawTransactionRequest, SendRawTransactionResponse, SetBootstrapDaemonRequest,
-    SetBootstrapDaemonResponse, SetLimitRequest, SetLimitResponse, SetLogCategoriesRequest,
-    SetLogCategoriesResponse, SetLogHashRateRequest, SetLogHashRateResponse, SetLogLevelRequest,
-    SetLogLevelResponse, StartMiningRequest, StartMiningResponse, StopDaemonRequest,
-    StopDaemonResponse, StopMiningRequest, StopMiningResponse, UpdateRequest, UpdateResponse,
+use cuprate_rpc_types::{
+    base::{AccessResponseBase, ResponseBase},
+    misc::Status,
+    other::{
+        GetAltBlocksHashesRequest, GetAltBlocksHashesResponse, GetHeightRequest, GetHeightResponse,
+        GetLimitRequest, GetLimitResponse, GetNetStatsRequest, GetNetStatsResponse, GetOutsRequest,
+        GetOutsResponse, GetPeerListRequest, GetPeerListResponse, GetPublicNodesRequest,
+        GetPublicNodesResponse, GetTransactionPoolHashesRequest, GetTransactionPoolHashesResponse,
+        GetTransactionPoolRequest, GetTransactionPoolResponse, GetTransactionPoolStatsRequest,
+        GetTransactionPoolStatsResponse, GetTransactionsRequest, GetTransactionsResponse,
+        InPeersRequest, InPeersResponse, IsKeyImageSpentRequest, IsKeyImageSpentResponse,
+        MiningStatusRequest, MiningStatusResponse, OtherRequest, OtherResponse, OutPeersRequest,
+        OutPeersResponse, PopBlocksRequest, PopBlocksResponse, SaveBcRequest, SaveBcResponse,
+        SendRawTransactionRequest, SendRawTransactionResponse, SetBootstrapDaemonRequest,
+        SetBootstrapDaemonResponse, SetLimitRequest, SetLimitResponse, SetLogCategoriesRequest,
+        SetLogCategoriesResponse, SetLogHashRateRequest, SetLogHashRateResponse,
+        SetLogLevelRequest, SetLogLevelResponse, StartMiningRequest, StartMiningResponse,
+        StopDaemonRequest, StopDaemonResponse, StopMiningRequest, StopMiningResponse,
+        UpdateRequest, UpdateResponse,
+    },
 };
 
 use crate::rpc::CupratedRpcHandlerState;
@@ -75,7 +80,10 @@ async fn get_height(
     state: CupratedRpcHandlerState,
     request: GetHeightRequest,
 ) -> Result<GetHeightResponse, Error> {
-    todo!()
+    Ok(GetHeightResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L979-L1227>
@@ -83,7 +91,10 @@ async fn get_transactions(
     state: CupratedRpcHandlerState,
     request: GetTransactionsRequest,
 ) -> Result<GetTransactionsResponse, Error> {
-    todo!()
+    Ok(GetTransactionsResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L790-L815>
@@ -91,7 +102,10 @@ async fn get_alt_blocks_hashes(
     state: CupratedRpcHandlerState,
     request: GetAltBlocksHashesRequest,
 ) -> Result<GetAltBlocksHashesResponse, Error> {
-    todo!()
+    Ok(GetAltBlocksHashesResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1229-L1305>
@@ -99,7 +113,10 @@ async fn is_key_image_spent(
     state: CupratedRpcHandlerState,
     request: IsKeyImageSpentRequest,
 ) -> Result<IsKeyImageSpentResponse, Error> {
-    todo!()
+    Ok(IsKeyImageSpentResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1307-L1411>
@@ -107,7 +124,10 @@ async fn send_raw_transaction(
     state: CupratedRpcHandlerState,
     request: SendRawTransactionRequest,
 ) -> Result<SendRawTransactionResponse, Error> {
-    todo!()
+    Ok(SendRawTransactionResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1413-L1462>
@@ -115,7 +135,10 @@ async fn start_mining(
     state: CupratedRpcHandlerState,
     request: StartMiningRequest,
 ) -> Result<StartMiningResponse, Error> {
-    todo!()
+    todo!();
+    Ok(StartMiningResponse {
+        base: ResponseBase::ok(),
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1464-L1482>
@@ -123,7 +146,10 @@ async fn stop_mining(
     state: CupratedRpcHandlerState,
     request: StopMiningRequest,
 ) -> Result<StopMiningResponse, Error> {
-    todo!()
+    todo!();
+    Ok(StopMiningResponse {
+        base: ResponseBase::ok(),
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1484-L1523>
@@ -131,7 +157,10 @@ async fn mining_status(
     state: CupratedRpcHandlerState,
     request: MiningStatusRequest,
 ) -> Result<MiningStatusResponse, Error> {
-    todo!()
+    Ok(MiningStatusResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1525-L1535>
@@ -139,7 +168,10 @@ async fn save_bc(
     state: CupratedRpcHandlerState,
     request: SaveBcRequest,
 ) -> Result<SaveBcResponse, Error> {
-    todo!()
+    todo!();
+    Ok(SaveBcResponse {
+        base: ResponseBase::ok(),
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1537-L1582>
@@ -147,7 +179,10 @@ async fn get_peer_list(
     state: CupratedRpcHandlerState,
     request: GetPeerListRequest,
 ) -> Result<GetPeerListResponse, Error> {
-    todo!()
+    Ok(GetPeerListResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1626-L1639>
@@ -155,7 +190,10 @@ async fn set_log_hash_rate(
     state: CupratedRpcHandlerState,
     request: SetLogHashRateRequest,
 ) -> Result<SetLogHashRateResponse, Error> {
-    todo!()
+    todo!();
+    Ok(SetLogHashRateResponse {
+        base: ResponseBase::ok(),
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1641-L1652>
@@ -163,7 +201,10 @@ async fn set_log_level(
     state: CupratedRpcHandlerState,
     request: SetLogLevelRequest,
 ) -> Result<SetLogLevelResponse, Error> {
-    todo!()
+    todo!();
+    Ok(SetLogLevelResponse {
+        base: ResponseBase::ok(),
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1654-L1661>
@@ -171,7 +212,10 @@ async fn set_log_categories(
     state: CupratedRpcHandlerState,
     request: SetLogCategoriesRequest,
 ) -> Result<SetLogCategoriesResponse, Error> {
-    todo!()
+    Ok(SetLogCategoriesResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1758-L1778>
@@ -179,7 +223,8 @@ async fn set_bootstrap_daemon(
     state: CupratedRpcHandlerState,
     request: SetBootstrapDaemonRequest,
 ) -> Result<SetBootstrapDaemonResponse, Error> {
-    todo!()
+    todo!();
+    Ok(SetBootstrapDaemonResponse { status: Status::Ok })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1663-L1687>
@@ -187,7 +232,10 @@ async fn get_transaction_pool(
     state: CupratedRpcHandlerState,
     request: GetTransactionPoolRequest,
 ) -> Result<GetTransactionPoolResponse, Error> {
-    todo!()
+    Ok(GetTransactionPoolResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1741-L1756>
@@ -195,7 +243,10 @@ async fn get_transaction_pool_stats(
     state: CupratedRpcHandlerState,
     request: GetTransactionPoolStatsRequest,
 ) -> Result<GetTransactionPoolStatsResponse, Error> {
-    todo!()
+    Ok(GetTransactionPoolStatsResponse {
+        base: AccessResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1780-L1788>
@@ -203,7 +254,8 @@ async fn stop_daemon(
     state: CupratedRpcHandlerState,
     request: StopDaemonRequest,
 ) -> Result<StopDaemonResponse, Error> {
-    todo!()
+    todo!();
+    Ok(StopDaemonResponse { status: Status::Ok })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3066-L3077>
@@ -211,7 +263,10 @@ async fn get_limit(
     state: CupratedRpcHandlerState,
     request: GetLimitRequest,
 ) -> Result<GetLimitResponse, Error> {
-    todo!()
+    Ok(GetLimitResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3079-L3117>
@@ -219,7 +274,10 @@ async fn set_limit(
     state: CupratedRpcHandlerState,
     request: SetLimitRequest,
 ) -> Result<SetLimitResponse, Error> {
-    todo!()
+    Ok(SetLimitResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3119-L3127>
@@ -227,7 +285,10 @@ async fn out_peers(
     state: CupratedRpcHandlerState,
     request: OutPeersRequest,
 ) -> Result<OutPeersResponse, Error> {
-    todo!()
+    Ok(OutPeersResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3129-L3137>
@@ -235,7 +296,10 @@ async fn in_peers(
     state: CupratedRpcHandlerState,
     request: InPeersRequest,
 ) -> Result<InPeersResponse, Error> {
-    todo!()
+    Ok(InPeersResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L584-L599>
@@ -243,7 +307,10 @@ async fn get_net_stats(
     state: CupratedRpcHandlerState,
     request: GetNetStatsRequest,
 ) -> Result<GetNetStatsResponse, Error> {
-    todo!()
+    Ok(GetNetStatsResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L912-L957>
@@ -251,7 +318,10 @@ async fn get_outs(
     state: CupratedRpcHandlerState,
     request: GetOutsRequest,
 ) -> Result<GetOutsResponse, Error> {
-    todo!()
+    Ok(GetOutsResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3139-L3240>
@@ -259,7 +329,10 @@ async fn update(
     state: CupratedRpcHandlerState,
     request: UpdateRequest,
 ) -> Result<UpdateResponse, Error> {
-    todo!()
+    Ok(UpdateResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L3242-L3252>
@@ -267,7 +340,10 @@ async fn pop_blocks(
     state: CupratedRpcHandlerState,
     request: PopBlocksRequest,
 ) -> Result<PopBlocksResponse, Error> {
-    todo!()
+    Ok(PopBlocksResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L1713-L1739>
@@ -275,7 +351,10 @@ async fn get_transaction_pool_hashes(
     state: CupratedRpcHandlerState,
     request: GetTransactionPoolHashesRequest,
 ) -> Result<GetTransactionPoolHashesResponse, Error> {
-    todo!()
+    Ok(GetTransactionPoolHashesResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }
 
 /// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server.cpp#L193-L225>
@@ -283,5 +362,8 @@ async fn get_public_nodes(
     state: CupratedRpcHandlerState,
     request: GetPublicNodesRequest,
 ) -> Result<GetPublicNodesResponse, Error> {
-    todo!()
+    Ok(GetPublicNodesResponse {
+        base: ResponseBase::ok(),
+        ..todo!()
+    })
 }