Local News
Investigators say suspended attorney Henry Rappa Jr. kept his client’s funds and continued practicing law despite being ordered not to.
A Melrose man is facing multiple charges after prosecutors say he stole hundreds of thousands of dollars from clients and continued practicing law despite being suspended.
Henry Rappa Jr., 57, was arraigned Thursday in Malden District Court on two counts of embezzlement or misapplication by a fiduciary, two counts of larceny over $1,200, and unauthorized practice of law, according to Middlesex District Attorney Marian Ryan’s office.
Prosecutors say Rappa misused client funds that he was supposed to safeguard, calling the conduct a “profound breach of trust.”
“Attorneys are entrusted with safeguarding their clients’ most sensitive matters and, in many cases, significant financial assets,” Ryan said in a press release. “The intentional misuse of those funds, particularly after being explicitly ordered by the court to cease practicing law and relinquish control of client accounts, is as egregious as it is unlawful. These charges underscore our commitment to holding individuals accountable when they exploit positions of trust for personal gain.”
According to investigators, one client entrusted Rappa with about $660,000 in September 2023 to be held in a trust account while a legal dispute was pending. The client also paid a separate retainer for legal services.
After the dispute was resolved, Rappa was expected to return the money. However, he instead allegedly delayed the transfer, made repeated excuses, and failed to return the funds, despite requests from the client and the state Board of Bar Overseers, according to officials. He then allegedly spent money that was required to remain in a client trust account, according to Ryan’s office.
Rappa was administratively suspended from practicing law in July 2025 and temporarily suspended in January 2026 following a complaint to the Board of Bar Overseers.
In both instances, a judge ordered Rappa to stop practicing law, close all trust accounts, and return client funds and property. He was also ordered to step down from any fiduciary roles, including serving as a guardian or trustee.
Despite those orders, prosecutors say Rappa continued to act as an attorney. In December 2025, he allegedly handled a real estate closing for another client and didn’t properly distribute the proceeds, according to officials.
Instead, investigators say, Rappa allegedly retained $3,200 and an additional $18,100 that should have been distributed to the client, and spent the money.
At his arraignment, Rappa was ordered to surrender his passport and not have contact with any witnesses. His bail was set at $2,500.
Officials are urging anyone seeking legal representation to review a lawyer’s record before hiring them.
“Individuals looking for an attorney are urged to do their own research, check the Board of Bar Overseers website for any disciplinary action and to confirm that the lawyer is in good standing,” Ryan said.
Officials say anyone who suspects they may be a victim of theft or fraud should request an itemized accounting of all spending, stop making payments immediately, report the suspected conduct to the Board of Bar Overseers and contact local police.
Sign up for the Today newsletter
Get everything you need to know to start your day, delivered right to your inbox every morning.
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
const onetrustStorageConsent = JSON.parse(localStorage.getItem( 'consent_one_trust_bdc' ) );
if ( ( onetrustStorageConsent !== null ) ) {
/* The above code is parsing the JSON data from the local storage and storing it in a variable.
* Checking if the user has given consent for the cookie C0004.
* If the user has given consent, the variable consent will be set to 'grant'.
* If the user has not given consent,the variable consent will be set to 'revoke'.
* Documentation https://developers.facebook.com/docs/meta-pixel/implementation/gdpr
*/
if ( onetrustStorageConsent.C0004 !== true ) {
fbq('consent', 'revoke');
fbq('dataProcessingOptions', []);
} else {
fbq('consent', 'grant');
fbq('dataProcessingOptions', ['LDU'], 0, 0);
}
}
fbq('init', '989222871864976');
fbq('track', 'PageView');
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function()
{n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}
;if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
const onetrustStorageConsent = JSON.parse(localStorage.getItem( 'consent_one_trust_bdc' ) );
/* The above code is parsing the JSON data from the local storage and storing it in a variable.
* Checking if the user has given consent for the cookie C0004.
* If the user has given consent, the variable consent will be set to 'grant'.
* If the user has not given consent,the variable consent will be set to 'revoke'.
* Documentation https://developers.facebook.com/docs/meta-pixel/implementation/gdpr
*/
if ( ( onetrustStorageConsent !== null ) && (onetrustStorageConsent.C0004 !== true ) ) {
fbq('consent', 'revoke');
fbq('dataProcessingOptions', []);
} else {
fbq('consent', 'grant');
fbq('dataProcessingOptions', ['LDU'], 0, 0);
}
fbq('init', '813236348753005');
fbq('track', 'PageView');
Discover more from USA NEWS
Subscribe to get the latest posts sent to your email.